| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When v8 tries to inline a local function which has been flagged
is_qml_global, the assert "CHECK(location_ != __null)" fails.
This happens because of the early out in RecordTypeFeedback for
is_qml_global. I've limited the early out to UNALLOCATED
variables with is_qml_global.
bug: https://bugreports.qt-project.org/browse/QTBUG-31366
Change-Id: I360ef1a05a970589159686cf3100cb70de9ae29d
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|\
| |
| |
| | |
Change-Id: I5973d2b84a0b2690b4b7f8dc37711c7dfd106180
|
| |
| |
| |
| |
| |
| | |
Change-Id: I96c696a2318ae4959af9d56e2c8d943e00542fa0
Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
|
|/
|
|
|
| |
Change-Id: I04596a40a5953cb8c93a28f10e07c3ba33dc4793
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
The Makefile.nonqt has been updated to use gyp build instead of scons.
Some new test cases have been added for non-Qt testing and the Qt
specific v8test_stringhascomparison has been skipped by NONQT_TESTING
macro.
Change-Id: I71f0d41de2f9c46767c9c9a7ec5c45ff25b1fe98
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
| |
The qcalculatehash_p.h private header also has been added to provide
function calculatehash for qml and the new testcase.
Change-Id: I1a0cf6052f596438f50bb5d2899ceaaae3e2e477
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 30662b5d64ff633f57d89290da2a85507d561187 dropped the default
initialisation of the symbol_id for ASCII characters. This leads to
problems when trying to access the symbol_id when the symbol was not
instantiated via AsciiSymbolKey (e.g. via SubStringAsciiSymbolKey).
Additionally, AsciiSymbolKey does not guarantee the presence of a
symbol_id in case the SMI value space has been exhausted.
Change-Id: I778bc5cc3cee80038a4ca6606bfcf4423d569132
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
|
|
|
|
|
|
|
| |
Change copyrights and license headers from Nokia to Digia
Change-Id: Ieaceddcb9e3ef7be89be129b3bcac34d37ba2586
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Qt 5.0 beta requires changing the default to the 5.0 API, disabling
the deprecated code. However, tests should test (and often do) the
compatibility API too, so turn it back on.
Task-number: QTBUG-25053
Change-Id: I43873a55fbaf106efc4fb2955569a643aff19480
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
SCons will be deprecated soon and the new gyp buildsystem allows to
build for MIPS/ARM debug/release at the same time in different build
directories. Add Makefile targets to link arm/mips test applications.
I plan to use them for nigthly builds on my public jenkins.
Change-Id: I16e7637e1066d1f27724ec3403bcc770cd190a61
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Without including string.h, memcmp will not be known and will lead
to the following error:
v8main.cpp:59:5: error: ‘::strcmp’ has not been declared
v8main.cpp:60:5: error: ‘::strcmp’ has not been declared
...
Change-Id: I82382ca930f654c090a78a39f54abc8fb0a88f63
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
|
|
|
|
|
| |
Change-Id: I85d31c5443cbfca7462aa671d59a50f22fead9c4
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit c511fa8a6a631e45ee4075453bcb2eeb7f01ba63 introduced a
regression that could cause an assert in V8 to be triggered:
Fatal error in ../3rdparty/v8/src/stub-cache.cc, line 1171
CHECK(!CallIC::Contextual::decode( Code::ExtractExtraICStateFromFlags(flags))) failed
The assert would be triggered when 1) the "QML global object"
(implicit receiver in qml-mode evaluation) defined more than 12
properties, and 2) a function property of the QML global object was
looked up at least twice from JavaScript. In particular, the V8 IC
would assert that there should be an explicit receiver when
advancing the function lookup from pre-monomorphic state to
monomorphic state.
(The magic number 12 (number of properties needed to trigger the bug)
is the kMaxFastProperties constant. This is the threshold where V8
switches to using a dictionary for the object storage, instead of
using "fast properties" (array).)
The IC correctly determines that the property holder object (the QML
global object) is not the JS Global Object, and hence compiles it as
a "normal" call, in which it asserts that "there must be an explicit
receiver here". But in QML mode, the receiver can be implicit when
the holder is the QML global object.
Propagate this information to the stub cache to avoid the assert
triggering. The generated JIT code still works as expected when the
receiver is implicit (i.e., the receiver is always loaded).
None of the other property/function-load IC handlers have a similar
assert.
It might be worth investigating whether "QML global object" property
loading should have dedicated cache stubs; e.g. a
ComputeCallQmlGlobal() akin to ComputeCallGlobal(). This could
potentially simplify/speed up the generated code, since we can take
advantage of the read-only nature of the QML global object type right
off the bat. But that's a bigger change that would require all the
JIT compilers and the GC to be adapted.
Task-number: QTBUG-24871
Change-Id: I55e499d9c61ff264e3a96e5628e2f30292ee565d
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This should be squashed into the "Introduce a QML compilation mode"
commit (8a4d849a0152c76bd9107a1b38a641cf8c0ff226) the next time V8
is rebased.
In normal (non-QML) mode, when a global property lookup fails
(implicit receiver ("this") object), V8 decides to throw an exception
iff the expression evaluation is not part of a "typeof" evaluation.
If it is evaluated as part of "typeof", the result silently becomes
"undefined". This is the expected behavior as per the ECMA-262
standard; "typeof" shouldn't throw a ReferenceError even if the
expression involves a global variable that doesn't exist.
This commit brings the QML mode behavior in line with normal mode.
When the receiver object is a QML global object, V8 up until now
hasn't detected whether it should throw an error in that case. The
QML implementation has been working around that by explicitly
throwing the ReferenceError in the QML context wrapper, but that
breaks the "typeof" operator in QML mode. The QML context wrapper
should rather return an empty handle, and leave it up to V8 to
throw the exception as appropriate.
This also reverts the parts of the original QML mode patch that
changed the RelocInfo mode for QML variables, since V8 relies
precisely on this mode to know whether it's evaluating a "typeof".
(It's no longer clear why the RelocInfo mode was modified in the
first place.)
Task-number: QTBUG-24448
Change-Id: Ic33610d5e91bdf373b22d97a3181e6e5f2fc1843
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
|
|
|
|
|
| |
Change-Id: I509b168b6923e1a9e92c6ab3505d51ea607e979c
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
As in the past, to avoid rewriting various autotests that contain
line-number information, an extra blank line has been inserted at the
end of the license text to ensure that this commit does not change the
total number of lines in the license header.
Change-Id: Iae1bc1790d55d2afd3cd1d1799ac48dd225e63c7
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
|
|
|
|
|
|
|
|
| |
Replace Nokia contact email address with Qt Project website.
Change-Id: I4eec7c0fb71742c4a5836905f45ba49452250d6a
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
|
|
Imported src/v8, tools and tests from qtbase (1fdfc2abfe1fa26b86028934d4853432e25b4655)
and added the necessary build system files to build it as a top-level
Qt module.
Change-Id: I0b784165157bfb031059f1528c1b3b2828284f6f
|