summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Jonathan Liu [Sat, 19 May 2012 14:25:37 +0000 (00:25 +1000)]
[V8] Add support for MinGW-w64
This includes several upstream patches to allow V8 to work properly
with MinGW-w64.
Upstream patches:
- https://chromiumcodereview.appspot.com/9959050
- https://chromiumcodereview.appspot.com/
10103030
- https://chromiumcodereview.appspot.com/
10019012
- https://chromiumcodereview.appspot.com/
10108022
- https://chromiumcodereview.appspot.com/
10116001
Change-Id: I86876aa67a5bdea1208c7ee33a739eb7c00fd72b
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Peter Varga [Fri, 18 May 2012 14:06:54 +0000 (16:06 +0200)]
[V8] Update expected results of V8's cctests
Expected results need to be updated for snapshot build due to the change
in src/bootstrapper.cc performed by "[V8] Introduce a QML compilation
mode" patch.
Change-Id: Ie067b53dde6c885a25ee434a82816439f2a75bfd
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Holger Hans Peter Freyther [Tue, 15 May 2012 19:46:25 +0000 (21:46 +0200)]
test: Allow linking to the gyp build mips/arm release/debug build
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>
Kent Hansen [Mon, 7 May 2012 07:17:34 +0000 (09:17 +0200)]
Re-enable snapshots for non-cross-compiled builds
This reverts commit
9a006574a7036d0d47b359dcf2598860ddbfa399.
Since commit
3c47b52bd37488d41a3ad068de7976c838b7d63c in qtbase
("Add cross_compile to qconfig.pri for global advertising"), the
cross_compile variable is available to modules outside of qtbase
again, so we can use it.
Change-Id: I2797d75af362cea02cfda519ea772d610e504da4
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
yangguo@chromium.org [Fri, 27 Apr 2012 12:57:01 +0000 (12:57 +0000)]
MIPS: Removed unused variables.
These were found by compilation errors with gcc 4.6.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10253004
Patch from Daniel Kalmar <kalmard@homejinni.com>.
Change-Id: Ifb75bafb480a607749f090986f1d593fcc64ee29
From-svn: r11459
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Holger Hans Peter Freyther [Wed, 9 May 2012 12:10:30 +0000 (14:10 +0200)]
mips: Fix the global compare routines for mips
The code got broken during the 3.10.1 upgrade. Registers a2 and a3
will hold the maps for a0 and a1. Use the right registers to fetch
the map fields.
Change-Id: I8678ddd1e6126cca6c80dc811b08a5c1b933cb35
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Holger Hans Peter Freyther [Tue, 8 May 2012 20:55:37 +0000 (22:55 +0200)]
mips: Add the qml mode to the lithium code generation as well
When adding qml mode to the MIPS backend, the MIPS JIT didn't have
support for lithium yet. On the upgrade to 3.10.1 MIPS gained this
support but the qml mode was not patched into the lithium code. Add
the qml mode to lithium based on the patch for the ARM jit.
Change-Id: Ia0aba2fd8b7533f38e864b54aa1d4df1e02f26c7
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Holger Hans Peter Freyther [Wed, 9 May 2012 08:35:37 +0000 (10:35 +0200)]
v8: Fix the compilation of the standalone test on GNU/Linux systems
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>
Kent Hansen [Wed, 9 May 2012 08:14:54 +0000 (10:14 +0200)]
Fix regression in custom object comparison on arm
When the "Add custom object compare callback" patch was rebased on
top of V8 3.10.1, a regression was introduced; the
kUseUserObjectComparison flag was fetched from the wrong location.
With this fix, tst_v8::userobjectcompare() passes again on arm.
Change-Id: I7f0dc2cc9d077b2018facb413dbe7a119dd9de5f
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Kent Hansen [Wed, 9 May 2012 06:31:08 +0000 (08:31 +0200)]
Fix regression in eval compilation on arm
When the "Introduce a QML compilation mode" patch was rebased on top
of V8 3.10.1, a regression was introduced that caused the last two
arguments to Runtime_ResolvePossiblyDirectEval to be passed in the
wrong order.
With this fix, tst_v8::eval() passes again on arm.
Change-Id: I0c518eb56e4c390f7684d8e5c38cce3dece3085e
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Peter Varga [Thu, 12 Apr 2012 13:08:28 +0000 (15:08 +0200)]
Add testcases for fallback interceptors
Change-Id: I85d31c5443cbfca7462aa671d59a50f22fead9c4
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Sean Harmer [Thu, 26 Apr 2012 14:53:19 +0000 (15:53 +0100)]
[V8] Implement new parts of platform port for QNX
Change-Id: I9caea92e9c45511c2450f15dd6b22c8c48bafe52
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Sean Harmer [Thu, 26 Apr 2012 13:03:16 +0000 (14:03 +0100)]
[V8] Update QNX platform port so that it builds once again
Change-Id: I3e1709eb9560e1016533af9e7889c764782ba7fb
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Peter Varga [Mon, 16 Apr 2012 12:35:27 +0000 (14:35 +0200)]
[V8] Disable randomize hashes in V8
Should be disabled for now due to regressions in QtDeclarative auto
tests.
Change-Id: I74c774103a89c09f30d1f7698e999052c3ae1df9
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Peter Varga [Tue, 10 Apr 2012 12:00:19 +0000 (14:00 +0200)]
Fix compilation after V8 update
Change-Id: Icd4dc1be4e8b532212e3f7c43ed67c1dab21c9fa
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Thiago Macieira [Thu, 1 Sep 2011 09:30:40 +0000 (11:30 +0200)]
[V8] Fix compilation with Intel CC.
Issue reported upstream at:
http://code.google.com/p/v8/issues/detail?id=1885
http://code.google.com/p/v8/issues/detail?id=689
Change-Id: I050e505e6a1977203ef95b51468d420507295203
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Sean Harmer [Fri, 13 Jan 2012 18:32:41 +0000 (18:32 +0000)]
[V8] Add support for QNX platform
This submission is based on code originally contributed by Jeff Rogers <jrogers@rim.com> with permission from Research in
Motion.
We have tried to make this change as unobtrusive as possible. For example in the atomic_ops.h header we have added a
conditional include for a qnx-specific atomicops_internals_arm_qnx.h as the existing atomicops_internals_arm_gcc.h is
actually Linux-specific despite the name of the file. In the longer term it would make sense to use an asm implementation
that is only dependent upon the CPU rather than OS-specific system calls. See qtbase/src/corelib/arch/qatomic_armv*.h
for a good reference.
Here we decided not to risk breaking existing platforms for the initial introduction of this new platform.
The QNX platform integration is built on top of the posix base.
Change-Id: I2ba25c227401c540c52067c31898e81a1f25855d
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Kai Koehne [Thu, 10 Nov 2011 15:00:37 +0000 (16:00 +0100)]
[V8] Add flag to avoid breakpoint relocation
Add a flag that prevents v8 from relocating breakpoints across
line boundaries.
Change-Id: I007f06744094add7e700818b010e021a649e2294
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Aaron Kennedy [Fri, 27 May 2011 03:04:15 +0000 (13:04 +1000)]
[V8] Fix warnings
Change-Id: I2cef35e1d153735c3de5730ff763da85c5d534a5
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Aaron Kennedy [Thu, 25 Aug 2011 01:09:58 +0000 (11:09 +1000)]
[V8] Remove execute flag from v8-debug.h
Change-Id: I2c930d05a6eaf5599920c682552a6a24dd3a6a2c
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Kent Hansen [Fri, 2 Sep 2011 10:03:09 +0000 (12:03 +0200)]
[V8] Fix deprecated Python code
Needed to make the scripts run on Python 3, which is the
default python interpreter on some newer distros.
Patch from http://code.google.com/p/v8/issues/detail?id=1391
Change-Id: I5d5a0250b252b114586cfad7b1a713fde1cae1cf
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Jedrzej Nowacki [Tue, 7 Dec 2010 10:56:42 +0000 (11:56 +0100)]
[V8] QtScript/V8: Add new v8 api to check if a value is an error.
New function v8::Value::IsError was created.
This API is experimental and added only for the purposes of our
research.
Change-Id: I21c8a3484c2b5a0341b932bd81492b8ebc1f0e05
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Aaron Kennedy [Fri, 9 Sep 2011 04:16:12 +0000 (14:16 +1000)]
[V8] Allow a script to be flagged as "native"
Native scripts do not appear in backtraces, or in the source and
line number when exceptions are thrown from within them. This is
useful to be able to write code in JavaScript instead of C++ and
still have it appear sensibly to the user.
Change-Id: I324ad60d8712c0afba7f0e4f26ce5ab931ae91dd
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Aaron Kennedy [Thu, 27 Oct 2011 12:40:00 +0000 (13:40 +0100)]
[V8] Add custom object compare callback
A global custom object comparison callback can be set with:
V8::SetUserObjectComparisonCallbackFunction()
When two JSObjects are compared (== or !=), if either one has
the MarkAsUseUserObjectComparison() bit set, the custom comparison
callback is invoked to do the actual comparison.
This is useful when you have "value" objects that you want to
compare as equal, even though they are actually different JS object
instances.
Change-Id: Icd3419349874ee845684fff8455862da73f5ff2d
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Aaron Kennedy [Fri, 14 Oct 2011 07:03:06 +0000 (17:03 +1000)]
[V8] Allow access to the calling script data
Change-Id: I6efcd64530357a5ca789cd6cccd5426f370b64eb
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Aaron Kennedy [Thu, 27 Oct 2011 12:34:16 +0000 (13:34 +0100)]
[V8] Introduce a QML compilation mode
In QML mode, there is a second global object - known as the QML
global object. During property resolution, if a property is not
present on the JS global object, it is resolved on the QML global
object.
This global object behavior is only enabled if a script is being
compiled in QML mode. The object to use as the QML global object
is passed as a parameter to the Script::Run() method. Any function
closures etc. created during the run will retain a reference to this
object, so different objects can be passed in different script
runs.
Change-Id: Id3753db6f5723f6d624bd497d6f606244a4ff09a
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Aaron Kennedy [Tue, 4 Oct 2011 06:06:09 +0000 (16:06 +1000)]
[V8] Generalize external object resources
V8 was already able to manage and finalize an external string
resource. This change generalizes that mechanism to handle a
single generic external resource - a v8::Object::ExternalResource
derived instance - on normal JSObject's.
This is useful for mapping C++ objects to JS objects where the
C++ object's memory is effectively owned by the JS Object, and
thus needs to destroyed when the JS Object is garbage collected.
The V8 mailing list suggests using a weak persistent handle for
this purpose, but that seems to incur a fairly massive performance
penalty for short lived objects as weak persistent handle callbacks
are not called until the object has been promoted into the old
object space.
Change-Id: I83677c9d906742a2bf0596961491eecb7ee60003
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Aaron Kennedy [Thu, 27 Oct 2011 10:31:56 +0000 (11:31 +0100)]
[V8] Add a "fallback" mode for named property interceptors
By default interceptors are called before the normal property
resolution on objects. When an interceptor is installed as a
"fallback" interceptor, it is only called if the object doesn't
already have the property.
In the case of a global object having an fallback interceptor,
the interceptor is not invoked at all for var or function
declarations.
Change-Id: Ia8c2b4d37070c97d9ef327da9e62d431427afe89
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Aaron Kennedy [Tue, 4 Oct 2011 05:04:21 +0000 (15:04 +1000)]
[V8] Add hashing and comparison methods to v8::String
This allows us to more rapidly search for a v8::String inside a hash
of QStrings.
Change-Id: I7d3dc8903bd2c64adc201da924ca2e4954711ec6
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Peter Varga [Tue, 17 Apr 2012 09:03:39 +0000 (11:03 +0200)]
Updated V8 from git://github.com/v8/v8.git to
57f8959fb264354ba1a2e5118db512f588917061
Update V8 source to version 3.10.1.
* Added optimizations and stability improvements on all platforms.
* Various performance improvements.
* Cleanup ScopeInfo and SerializedScopeInfo.
* Introduce extended mode.
* Implemented performance improvements to the incremental garbage
collector.
* Fixed handling of arrays in DefineOwnProperty. (issue 1756)
* Fixed GCC 4.7 warnings.
* Performance improvements for large Smi-only arrays.
* Reduce the space used by the stack for the profiling thread.
* Reduced memory use immediately after starting V8.
* Fixed VFP detection through compiler defines. (issue 1996)
* Remove static initializers in v8. (issue 1859)
* Optimized boot-up memory use.
* Optimized regular expressions.
Change-Id: I2dad3092612de279179950dae4dd43daf0463a9f
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Yuchen Deng [Fri, 20 Apr 2012 07:50:47 +0000 (15:50 +0800)]
Improve .gitignore list
Change-Id: I14c635659abb1132f98d59d31dcfd5ab9c5afc30
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Thiago Macieira [Thu, 1 Sep 2011 09:30:40 +0000 (11:30 +0200)]
Fix compilation with Intel CC.
Issue reported upstream at:
http://code.google.com/p/v8/issues/detail?id=1885
http://code.google.com/p/v8/issues/detail?id=689
Change-Id: I96744851145e0077c21a03271dc1f0d165fb4672
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
vegorov@chromium.org [Tue, 13 Dec 2011 13:02:08 +0000 (13:02 +0000)]
Fix GCC 4.7 warnings, which are related to char being signed in GCC
("narrowing conversion ... inside { } is ill-formed in C++11").
* src/mksnapshot.cc: Cast "char" to "unsigned char" when outputting snapshot.
* test/cctest/test-regexp.cc: Use static_cast to uc16 as the char
literal is signed.
Review URL: http://codereview.chromium.org/8825003
Patch from Tobias Burnus <burnus@net-b.de>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@10241
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
Change-Id: I180b302d8d38b859b0954553985ea038f27135eb
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Jonathan Liu [Tue, 27 Mar 2012 09:56:36 +0000 (20:56 +1100)]
[V8] Remove dependency on _mkgmtime to determine local timezone offset
This fixes "new Date()" returning wrong hour and time zone offset with
MinGW.
Upstream patch: https://chromiumcodereview.appspot.com/9600018
Change-Id: I00036ce7c3c5b8586c4c1eaa41facf792ef0f0e6
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Holger Hans Peter Freyther [Thu, 22 Mar 2012 12:14:33 +0000 (13:14 +0100)]
mips: Fix the build on MIPS by adding the lithium files to the sources.
Change-Id: Idf54bb887f4627edacc40544066982684ad8ef12
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Kent Hansen [Tue, 20 Mar 2012 13:13:31 +0000 (14:13 +0100)]
Fix assert in stub-cache.cc when loading qml-mode functions
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>
Sean Harmer [Fri, 13 Jan 2012 18:32:41 +0000 (18:32 +0000)]
[V8] Add support for QNX platform
This submission is based on code originally contributed by Jeff Rogers <jrogers@rim.com> with permission from Research in
Motion.
We have tried to make this change as unobtrusive as possible. For example in the atomic_ops.h header we have added a
conditional include for a qnx-specific atomicops_internals_arm_qnx.h as the existing atomicops_internals_arm_gcc.h is
actually Linux-specific despite the name of the file. In the longer term it would make sense to use an asm implementation
that is only dependent upon the CPU rather than OS-specific system calls. See qtbase/src/corelib/arch/qatomic_armv*.h
for a good reference.
Here we decided not to risk breaking existing platforms for the initial introduction of this new platform.
The QNX platform integration is built on top of the posix base.
Change-Id: Ic4758f8bc1cbdf5085278f79c9914f2f79b55148
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Kent Hansen [Wed, 14 Mar 2012 12:06:26 +0000 (13:06 +0100)]
Let V8 throw the exception when QML property lookup fails
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>
Aurindam Jana [Wed, 14 Mar 2012 10:50:48 +0000 (11:50 +0100)]
[V8] BreakPoint Relocation
Do not return undefined breakpoint.
This patch should be squashed into --
61fd072c17785c93001ffa9532c61f166e03b385 [V8] Add flag to avoid
breakpoint relocation -- in the next V8 rebase as this code only
improves code in that patch
Change-Id: I83a3867f5052eb308af5c28874a25d51ad475ff7
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Girish Ramakrishnan [Mon, 12 Mar 2012 23:52:50 +0000 (16:52 -0700)]
Don't pass CAN_USE_VFP_INSTRUCTIONS to V8.
V8 is already capable of auto-detecting VFP3 support at runtime.
The only reason to pass this flag is for the emulator when
creating snapshots.
Currently, there is no way to figure if a target is VFP3 enabled
or not. There are no compiler flags to detect this automatically
either, so we have to add an option to qtbase/configure.
https://bugreports.qt-project.org/browse/QTBUG-24760 tracks
the addition of the option.
Change-Id: I3482ae483b925d5f153a1631cc04a52ecab72f4e
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Aurindam Jana [Tue, 13 Mar 2012 08:13:58 +0000 (09:13 +0100)]
[V8] Add flag to avoid breakpoint relocation
Add a flag that prevents v8 from relocating breakpoints across
line boundaries.
This patch should be squashed into --
cf3296721194eafb9bb07ee94026cfb5bcc5d092 [V8] Add flag to avoid
breakpoint relocation -- in the next V8 rebase as this code only
improves code in that patch
Change-Id: I4fefc08f18874f2fa26ffff64eefb11dc949ddfd
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
yangguo@chromium.org [Fri, 9 Mar 2012 22:11:16 +0000 (22:11 +0000)]
Fixed VFP detection through compiler defines.
BUG=http://code.google.com/p/v8/issues/detail?id=1996
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9669003
Patch from Rodolph Perfetta <rodolph.perfetta@gmail.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@10993
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
Change-Id: I5534563915caa74ec458243415d5d56c2be074d2
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Reviewed-by: Johannes Zellner <johannes.zellner@nokia.com>
Jonathan Liu [Thu, 8 Mar 2012 09:19:51 +0000 (20:19 +1100)]
[V8] Simplify silent abort by raising SIGABRT directly
This adds support for silent OS::Abort() with compilers other than
Microsoft Visual C++ (e.g. MinGW and MinGW-w64).
Upstream patch: https://chromiumcodereview.appspot.com/9597012/
Change-Id: Idfb80c7aaee0d6ba74900a076c715ae1f9535b3f
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Jonathan Liu [Thu, 8 Mar 2012 09:24:12 +0000 (20:24 +1100)]
[V8] Fix double-rounding in strtod for MinGW
Upstream patch: https://chromiumcodereview.appspot.com/9578011/
Change-Id: I6dceb7052f0812a619f660af22ed44b5de88acef
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Kent Hansen [Fri, 9 Mar 2012 19:37:23 +0000 (20:37 +0100)]
Disable snapshots
Back when v8 lived in qtbase, "cross_compile" would evaluate to
true when cross-compiling. But now, inside the qtjsbackend module,
"cross_compile" seems to evaluate to false always, which means
that snapshots are erroneously turned on when building for arm
(snapshots can't be built for arm due to QTBUG-23447).
Disable snapshots until the cause of this issue has been found.
Change-Id: If0c87ec82bf41e32bf4974b10028dcb7fa42b328
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Girish Ramakrishnan [Thu, 8 Mar 2012 12:08:58 +0000 (04:08 -0800)]
Don't assume hardfloat passing convention.
Add configure test to detect the floating point abi. Test the value
of the test in the v8.pri to enable hardfloat usage.
Change-Id: I2312763bb1b814915a74e734ab477ba66f1ee0d2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Jonathan Liu [Sat, 3 Mar 2012 09:58:32 +0000 (20:58 +1100)]
[V8] Fix MinGW-w64 compilation
This is a backport of the following patches:
- https://chromiumcodereview.appspot.com/9169007/
- https://chromiumcodereview.appspot.com/9428027/
- https://chromiumcodereview.appspot.com/9584047/
- https://chromiumcodereview.appspot.com/9581045/
Change-Id: Idbef0c2707a05f99721316220d07e60bf6b6670a
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Peter Varga [Wed, 29 Feb 2012 14:19:18 +0000 (15:19 +0100)]
Add testcase for Context::GetCallingQmlGlobal function
Change-Id: I509b168b6923e1a9e92c6ab3505d51ea607e979c
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Toby Tomkins [Fri, 2 Mar 2012 02:20:38 +0000 (12:20 +1000)]
Remove pin of qtbase for qtjsbackend.
Task-number: QTBUG-24608
Change-Id: Ibef6574c3cc145ea482564a0f82571727fdeba8f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Toby Tomkins [Fri, 2 Mar 2012 01:06:03 +0000 (11:06 +1000)]
Pin qtjsbackend to set version of qtbase.
Changes to qmake in qtbase prevent modules from compiling. This commit
pins qtjsbackend to the last integrated qtbase version of qt5. This is
a temporary measure until qmake handles .qmake.cache correctly.
Change-Id: Ia311a036fa4ee9bb07486ba741d156bbbeaf830a
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Aurindam Jana [Tue, 10 Jan 2012 18:33:44 +0000 (19:33 +0100)]
[V8] Fix crash when querying for scopes
For function code, the compilation info was incorrectly
marked as global if the shared_info had qml_mode set.
The ASSERT for the length of nested scopes failed when
querying for scopes and hence the crash. This fix sets the
qml_mode for function code correctly.
Fixes https://bugreports.qt.nokia.com/browse/QTBUG-23256
This patch should be squashed into
--
2fe857938c3d1683df88133582bc3e7736264b10 [V8] Introduce a
QML compilation mode -- in the next v8 rebase as this code
only improves code in that patch.
Change-Id: Ibc969432cd245ace40602e9e2f5824b2287e8107
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Aurindam Jana [Tue, 13 Dec 2011 12:43:23 +0000 (13:43 +0100)]
[V8] Update ScriptBreakPoints for ScriptRegExp
Update breakpoints of type ScriptRegExpwhen a new script
is compiled. Solves Issue 1853
(http://code.google.com/p/v8/issues/detail?id=1853)
Change-Id: I03524b10d02295419bab37578d9e15379e7614e6
Reviewed-by: aaron.kennedy@nokia.com
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Holger Hans Peter Freyther [Wed, 14 Dec 2011 17:35:12 +0000 (18:35 +0100)]
[V8] mips: Add support for custom object compare callback
Implement the compare callback for MIPS based on the ARM
code. It was tested using the Qt V8 tests.
Change-Id: Ia509ad5c4b334af157e4054191c8482749a62d8e
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Holger Hans Peter Freyther [Mon, 5 Dec 2011 10:46:09 +0000 (18:46 +0800)]
[V8] uclibc: __GLIBC__ might be defined on uclibc builds
Uclibc defines __GLIBC__ becuase it is compatible in some ways with,
but it does not provide execinfo. Uclibc provides a define to disable
defining __GLIBC__ but Qt does not build with that right now. Check
for GLIBC and !UCLIBC here.
Change-Id: I582a16d16151f30c696ed0e9d185e2706599abe7
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Kai Koehne [Thu, 10 Nov 2011 15:00:37 +0000 (16:00 +0100)]
[V8] Add flag to avoid breakpoint relocation
Add a flag that prevents v8 from relocating breakpoints across
line boundaries.
Change-Id: Ida410b2d7f0ffa3edcf76ce2ec2614497f68f3f3
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Aaron Kennedy [Fri, 27 May 2011 03:04:15 +0000 (13:04 +1000)]
[V8] Fix warnings
Change-Id: I4012abecb41945ce31c82ff8dfcf84583f957256
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Aaron Kennedy [Thu, 25 Aug 2011 01:09:58 +0000 (11:09 +1000)]
[V8] Remove execute flag from v8-debug.h
Change-Id: I1162cf4636c1bf0aae84d8497ac79a1d816c75c8
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Kent Hansen [Fri, 2 Sep 2011 10:03:09 +0000 (12:03 +0200)]
[V8] Fix deprecated Python code
Needed to make the scripts run on Python 3, which is the
default python interpreter on some newer distros.
Patch from http://code.google.com/p/v8/issues/detail?id=1391
Change-Id: I5528baa43f1be8d06efc9159fee7ea52f77d3ad8
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Jedrzej Nowacki [Tue, 7 Dec 2010 10:56:42 +0000 (11:56 +0100)]
[V8] QtScript/V8: Add new v8 api to check if a value is an error.
New function v8::Value::IsError was created.
This API is experimental and added only for the purposes of our
research.
Change-Id: I8f20d46bd81b18bcd7a7c2f7cfc25775d82a6834
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Aaron Kennedy [Fri, 9 Sep 2011 04:16:12 +0000 (14:16 +1000)]
[V8] Allow a script to be flagged as "native"
Native scripts do not appear in backtraces, or in the source and
line number when exceptions are thrown from within them. This is
useful to be able to write code in JavaScript instead of C++ and
still have it appear sensibly to the user.
Change-Id: I93b7b9f0d93ff38204332be6544b1309082b2720
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Aaron Kennedy [Thu, 27 Oct 2011 12:40:00 +0000 (13:40 +0100)]
[V8] Add custom object compare callback
A global custom object comparison callback can be set with:
V8::SetUserObjectComparisonCallbackFunction()
When two JSObjects are compared (== or !=), if either one has
the MarkAsUseUserObjectComparison() bit set, the custom comparison
callback is invoked to do the actual comparison.
This is useful when you have "value" objects that you want to
compare as equal, even though they are actually different JS object
instances.
Change-Id: Ifb4074058566062accc2be20d43e3febc1089d13
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Aaron Kennedy [Fri, 14 Oct 2011 07:03:06 +0000 (17:03 +1000)]
[V8] Allow access to the calling script data
Change-Id: Ia62421388693604ca5666924337180734be891c0
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Aaron Kennedy [Thu, 27 Oct 2011 12:34:16 +0000 (13:34 +0100)]
[V8] Introduce a QML compilation mode
In QML mode, there is a second global object - known as the QML
global object. During property resolution, if a property is not
present on the JS global object, it is resolved on the QML global
object.
This global object behavior is only enabled if a script is being
compiled in QML mode. The object to use as the QML global object
is passed as a parameter to the Script::Run() method. Any function
closures etc. created during the run will retain a reference to this
object, so different objects can be passed in different script
runs.
Change-Id: Ib6b4ed363b7e8089d38a9cdcfb0d3b314dc333ca
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Aaron Kennedy [Tue, 4 Oct 2011 06:06:09 +0000 (16:06 +1000)]
[V8] Generalize external object resources
V8 was already able to manage and finalize an external string
resource. This change generalizes that mechanism to handle a
single generic external resource - a v8::Object::ExternalResource
derived instance - on normal JSObject's.
This is useful for mapping C++ objects to JS objects where the
C++ object's memory is effectively owned by the JS Object, and
thus needs to destroyed when the JS Object is garbage collected.
The V8 mailing list suggests using a weak persistent handle for
this purpose, but that seems to incur a fairly massive performance
penalty for short lived objects as weak persistent handle callbacks
are not called until the object has been promoted into the old
object space.
Change-Id: I3d7b5fe4ca6e37d49c92f3314b80d42bd4c84fcd
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Aaron Kennedy [Thu, 27 Oct 2011 10:31:56 +0000 (11:31 +0100)]
[V8] Add a "fallback" mode for named property interceptors
By default interceptors are called before the normal property
resolution on objects. When an interceptor is installed as a
"fallback" interceptor, it is only called if the object doesn't
already have the property.
In the case of a global object having an fallback interceptor,
the interceptor is not invoked at all for var or function
declarations.
Change-Id: Ibbd0a6b3ad4bd68a8d15ce99520e71c46ad14f84
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Aaron Kennedy [Tue, 4 Oct 2011 05:04:21 +0000 (15:04 +1000)]
[V8] Add hashing and comparison methods to v8::String
This allows us to more rapidly search for a v8::String inside a hash
of QStrings.
Change-Id: Ied9625aeefba730816d9ed7aa609a36592e5fc33
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Peter Varga [Fri, 24 Feb 2012 12:51:58 +0000 (13:51 +0100)]
Updated V8 from git://github.com/v8/v8.git to
06e55bc22bcb8ddb0a602e54e11971576f2d9d8a
* Implement VirtualMemory on FreeBSD to fix build (issue 1807).
* Fix error handling in Date.prototype.toISOString (issue 1792).
* Crankshaft for MIPS
* Bug fixes (mostly for MIPS)
* Use placement-new for zone-allocation in the Lithium classes.
Change-Id: I70ceacc4f7010cec58f73eb1826cbc06dd31149e
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Peter Varga [Thu, 23 Feb 2012 16:20:21 +0000 (17:20 +0100)]
Extend the update-v8.sh script
Add support for update V8 sources to a particular commit.
Change-Id: I2c81c4f79e9e1d980c6db2299dbca02b6a97f751
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Holger Hans Peter Freyther [Wed, 14 Dec 2011 17:35:12 +0000 (18:35 +0100)]
mips: Add support for custom object compare callback
Implement the compare callback for MIPS based on the ARM
code. It was tested using the Qt V8 tests.
Change-Id: I0b29224927b973131a56e4ad5ff437c08a79d138
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Ben Noordhuis [Thu, 3 Nov 2011 02:22:34 +0000 (03:22 +0100)]
freebsd: implement missing VirtualMemory methods
Patch from 3.7.4 and the bug tracker
http://code.google.com/p/v8/issues/detail?id=1807
Change-Id: Icef88d9a2ff575cf7560fb0be2bc40c0684e74df
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Holger Hans Peter Freyther [Mon, 5 Dec 2011 10:46:09 +0000 (18:46 +0800)]
uclibc: __GLIBC__ might be defined on uclibc builds
Uclibc defines __GLIBC__ becuase it is compatible in some ways with,
but it does not provide execinfo. Uclibc provides a define to disable
defining __GLIBC__ but Qt does not build with that right now. Check
for GLIBC and !UCLIBC here.
Change-Id: I8a50c03c00a506c03901f68b2d4c0ae21fe229ca
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Kent Hansen [Thu, 5 Jan 2012 12:51:57 +0000 (13:51 +0100)]
Add snapshot support for non-cross-compiled builds
Once qmake supports dynamic spec selection (QTBUG-23447), we can
tell it to build mkv8snapshot as a host tool, and then remove the
cross_compile guards from tools.pro and v8.pro.
Change-Id: I016227e80ba8c5832bcca718b08a2b14dc3805e6
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Jason McDonald [Tue, 24 Jan 2012 04:48:02 +0000 (14:48 +1000)]
Remove "All rights reserved" line from license headers.
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>
Jason McDonald [Fri, 20 Jan 2012 04:26:45 +0000 (14:26 +1000)]
Update obsolete contact address.
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>
Aurindam Jana [Tue, 10 Jan 2012 18:33:44 +0000 (19:33 +0100)]
[V8] Fix crash when querying for scopes
For function code, the compilation info was incorrectly
marked as global if the shared_info had qml_mode set.
The ASSERT for the length of nested scopes failed when
querying for scopes and hence the crash. This fix sets the
qml_mode for function code correctly.
Fixes https://bugreports.qt.nokia.com/browse/QTBUG-23256
This patch should be squashed into
--
2fe857938c3d1683df88133582bc3e7736264b10 [V8] Introduce a
QML compilation mode -- in the next v8 rebase as this code
only improves code in that patch.
Change-Id: I137b0e88dba81ff2ff46876faa883edb9dd0e4a9
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Simon Hausmann [Fri, 6 Jan 2012 09:32:13 +0000 (10:32 +0100)]
Added helper script for cherry-picking commits from v8
Change-Id: I563302b9d5c83e6497d89550657c7d17f0ba7bc3
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Sergio Ahumada [Thu, 5 Jan 2012 21:40:09 +0000 (22:40 +0100)]
Added missing license headers.
Change-Id: Ib43c6b1cb5a20ac36f8a4c503d6fd6b1e141c110
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Simon Hausmann [Thu, 5 Jan 2012 13:18:03 +0000 (14:18 +0100)]
Added helper script for easier V8 updates
It won't take away the pain of resolving conflicts, but it'll hide
the git magic from you :)
Change-Id: I6901ca8edb8263ea733a3d4b94393a06e8f25731
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Simon Hausmann [Thu, 5 Jan 2012 12:31:17 +0000 (13:31 +0100)]
Added missing README to explain initial update procedure
Change-Id: Iaf477848275524b7cee827c115bd0766013f3c5e
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Aurindam Jana [Tue, 13 Dec 2011 12:43:23 +0000 (13:43 +0100)]
[V8] Update ScriptBreakPoints for ScriptRegExp
Update breakpoints of type ScriptRegExpwhen a new script
is compiled. Solves Issue 1853
(http://code.google.com/p/v8/issues/detail?id=1853)
Change-Id: If83da097db3826f63542a19c412df812cf3c86ff
Reviewed-by: aaron.kennedy@nokia.com
Kai Koehne [Thu, 10 Nov 2011 15:00:37 +0000 (16:00 +0100)]
[V8] Add flag to avoid breakpoint relocation
Add a flag that prevents v8 from relocating breakpoints across
line boundaries.
Change-Id: Ia3a1449f6465b6a2645fdecac0679410b58eb45f
Aaron Kennedy [Fri, 27 May 2011 03:04:15 +0000 (13:04 +1000)]
[V8] Fix warnings
Change-Id: I3b2b68dade1c9b7130c6f352f57b53b84c1cdbb9
Aaron Kennedy [Thu, 25 Aug 2011 01:09:58 +0000 (11:09 +1000)]
[V8] Remove execute flag from v8-debug.h
Change-Id: Ie78724fa20a73733053cbdf0195f4d5822019851
Kent Hansen [Fri, 2 Sep 2011 10:03:09 +0000 (12:03 +0200)]
[V8] Fix deprecated Python code
Needed to make the scripts run on Python 3, which is the
default python interpreter on some newer distros.
Patch from http://code.google.com/p/v8/issues/detail?id=1391
Change-Id: I6a7c7efa2bc51800b81efc45b0c7335747d887a7
Jedrzej Nowacki [Tue, 7 Dec 2010 10:56:42 +0000 (11:56 +0100)]
[V8] QtScript/V8: Add new v8 api to check if a value is an error.
New function v8::Value::IsError was created.
This API is experimental and added only for the purposes of our
research.
Change-Id: I16374083eae684d34dd73e46a41e565a4cd236d4
Aaron Kennedy [Fri, 9 Sep 2011 04:16:12 +0000 (14:16 +1000)]
[V8] Allow a script to be flagged as "native"
Native scripts do not appear in backtraces, or in the source and
line number when exceptions are thrown from within them. This is
useful to be able to write code in JavaScript instead of C++ and
still have it appear sensibly to the user.
Change-Id: Ib022e74b3b912260d990faa2b2b81a32fa1d8a07
Aaron Kennedy [Thu, 27 Oct 2011 12:40:00 +0000 (13:40 +0100)]
[V8] Add custom object compare callback
A global custom object comparison callback can be set with:
V8::SetUserObjectComparisonCallbackFunction()
When two JSObjects are compared (== or !=), if either one has
the MarkAsUseUserObjectComparison() bit set, the custom comparison
callback is invoked to do the actual comparison.
This is useful when you have "value" objects that you want to
compare as equal, even though they are actually different JS object
instances.
Change-Id: Ic7512e8342c071793393e5ad3fcb6fb241f7cc80
Aaron Kennedy [Fri, 14 Oct 2011 07:03:06 +0000 (17:03 +1000)]
[V8] Allow access to the calling script data
Change-Id: Iae8b5697d4ad73d7934ee50879859394c66c80da
Aaron Kennedy [Thu, 27 Oct 2011 12:34:16 +0000 (13:34 +0100)]
[V8] Introduce a QML compilation mode
In QML mode, there is a second global object - known as the QML
global object. During property resolution, if a property is not
present on the JS global object, it is resolved on the QML global
object.
This global object behavior is only enabled if a script is being
compiled in QML mode. The object to use as the QML global object
is passed as a parameter to the Script::Run() method. Any function
closures etc. created during the run will retain a reference to this
object, so different objects can be passed in different script
runs.
Change-Id: I4950562d455074578c372d8e0e3089887b06e0a1
Aaron Kennedy [Tue, 4 Oct 2011 06:06:09 +0000 (16:06 +1000)]
[V8] Generalize external object resources
V8 was already able to manage and finalize an external string
resource. This change generalizes that mechanism to handle a
single generic external resource - a v8::Object::ExternalResource
derived instance - on normal JSObject's.
This is useful for mapping C++ objects to JS objects where the
C++ object's memory is effectively owned by the JS Object, and
thus needs to destroyed when the JS Object is garbage collected.
The V8 mailing list suggests using a weak persistent handle for
this purpose, but that seems to incur a fairly massive performance
penalty for short lived objects as weak persistent handle callbacks
are not called until the object has been promoted into the old
object space.
Change-Id: Ia21a181927a2e68d33a623bbe47e0f1a4404ec8e
Aaron Kennedy [Thu, 27 Oct 2011 10:31:56 +0000 (11:31 +0100)]
[V8] Add a "fallback" mode for named property interceptors
By default interceptors are called before the normal property
resolution on objects. When an interceptor is installed as a
"fallback" interceptor, it is only called if the object doesn't
already have the property.
In the case of a global object having an fallback interceptor,
the interceptor is not invoked at all for var or function
declarations.
Change-Id: I9228c114b2d2f3a9386617b53f7d8ac86371159d
Aaron Kennedy [Tue, 4 Oct 2011 05:04:21 +0000 (15:04 +1000)]
[V8] Add hashing and comparison methods to v8::String
This allows us to more rapidly search for a v8::String inside a hash
of QStrings.
Change-Id: I0a8bfb1aa34f00d987862a7bfe94c822a73d8c54
Simon Hausmann [Thu, 5 Jan 2012 09:12:14 +0000 (10:12 +0100)]
Imported v8 version 3.7.3 from https://github.com/v8/v8.git
Change-Id: I152648081e46f599c2bb88eaaf67034fa5daac3a
Simon Hausmann [Thu, 5 Jan 2012 08:58:19 +0000 (09:58 +0100)]
Disable snapshots until we have support for host builds in modules
Change-Id: I7d16ac00c5255d548b68e7b77d451bd4dde12b25
Simon Hausmann [Thu, 5 Jan 2012 08:38:07 +0000 (09:38 +0100)]
Created QtJSBackend module.
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