[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>
Thu, 1 Mar 2012 11:03:42 +0000 (12:03 +0100)
commit8a4d849a0152c76bd9107a1b38a641cf8c0ff226
treeffcea453f5bc3a7631f6d183a3ee8360d45b8dfd
parentab8f129b865ce22e72ad2ad6025d94cc8151b2b3
[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>
53 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-inl.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.cc
src/3rdparty/v8/src/full-codegen.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/mips/code-stubs-mips.cc
src/3rdparty/v8/src/mips/full-codegen-mips.cc
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/parser.h
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/scopeinfo.h
src/3rdparty/v8/src/scopes.cc
src/3rdparty/v8/src/scopes.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