[V8] Introduce a QML compilation mode
authorAaron Kennedy <aaron.kennedy@nokia.com>
Thu, 27 Oct 2011 12:34:16 +0000 (13:34 +0100)
committerQt by Nokia <qt-info@nokia.com>
Wed, 13 Jun 2012 07:56:45 +0000 (09:56 +0200)
commit2df5be48c08803b6bafafe9c69959a4076022293
treede9bd746c683190d5bee0d35e56420bee79589e0
parentccad1b6e4ca295861ff50b8e84560dd9769930d1
[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: I86851683200d02208379744c887dfebc010a7ccc
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
60 files changed:
src/3rdparty/v8/include/v8.h
src/3rdparty/v8/src/api.cc
src/3rdparty/v8/src/arm/code-stubs-arm.cc
src/3rdparty/v8/src/arm/full-codegen-arm.cc
src/3rdparty/v8/src/arm/lithium-arm.cc
src/3rdparty/v8/src/arm/lithium-arm.h
src/3rdparty/v8/src/arm/lithium-codegen-arm.cc
src/3rdparty/v8/src/arm/macro-assembler-arm.h
src/3rdparty/v8/src/ast.cc
src/3rdparty/v8/src/ast.h
src/3rdparty/v8/src/bootstrapper.cc
src/3rdparty/v8/src/code-stubs.h
src/3rdparty/v8/src/compiler.cc
src/3rdparty/v8/src/compiler.h
src/3rdparty/v8/src/contexts.cc
src/3rdparty/v8/src/contexts.h
src/3rdparty/v8/src/execution.cc
src/3rdparty/v8/src/execution.h
src/3rdparty/v8/src/full-codegen.h
src/3rdparty/v8/src/globals.h
src/3rdparty/v8/src/heap.cc
src/3rdparty/v8/src/hydrogen-instructions.cc
src/3rdparty/v8/src/hydrogen-instructions.h
src/3rdparty/v8/src/hydrogen.cc
src/3rdparty/v8/src/ia32/code-stubs-ia32.cc
src/3rdparty/v8/src/ia32/full-codegen-ia32.cc
src/3rdparty/v8/src/ia32/lithium-codegen-ia32.cc
src/3rdparty/v8/src/ia32/lithium-ia32.cc
src/3rdparty/v8/src/ia32/lithium-ia32.h
src/3rdparty/v8/src/ia32/macro-assembler-ia32.h
src/3rdparty/v8/src/ic.cc
src/3rdparty/v8/src/ic.h
src/3rdparty/v8/src/mips/code-stubs-mips.cc
src/3rdparty/v8/src/mips/full-codegen-mips.cc
src/3rdparty/v8/src/mips/lithium-codegen-mips.cc
src/3rdparty/v8/src/mips/lithium-mips.cc
src/3rdparty/v8/src/mips/lithium-mips.h
src/3rdparty/v8/src/mips/macro-assembler-mips.h
src/3rdparty/v8/src/objects-inl.h
src/3rdparty/v8/src/objects.h
src/3rdparty/v8/src/parser.cc
src/3rdparty/v8/src/prettyprinter.cc
src/3rdparty/v8/src/runtime.cc
src/3rdparty/v8/src/runtime.h
src/3rdparty/v8/src/scopeinfo.cc
src/3rdparty/v8/src/scopes.cc
src/3rdparty/v8/src/scopes.h
src/3rdparty/v8/src/stub-cache.cc
src/3rdparty/v8/src/stub-cache.h
src/3rdparty/v8/src/variables.cc
src/3rdparty/v8/src/variables.h
src/3rdparty/v8/src/x64/code-stubs-x64.cc
src/3rdparty/v8/src/x64/full-codegen-x64.cc
src/3rdparty/v8/src/x64/lithium-codegen-x64.cc
src/3rdparty/v8/src/x64/lithium-x64.cc
src/3rdparty/v8/src/x64/lithium-x64.h
src/3rdparty/v8/src/x64/macro-assembler-x64.h
src/3rdparty/v8/test/cctest/test-api.cc
src/3rdparty/v8/test/cctest/test-heap-profiler.cc
src/3rdparty/v8/test/cctest/test-heap.cc