summaryrefslogtreecommitdiff
path: root/src/3rdparty/v8/src/full-codegen.h
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2011-10-27 13:34:16 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-01-09 13:06:01 +0100
commit194da71eed49e4d5e904e8c28cb510fb85b95912 (patch)
tree4bb40c02292e8fe51c1e975b09727b710748668c /src/3rdparty/v8/src/full-codegen.h
parent504ef4cafdbc0c927d9f86ef21d9e7db757fd110 (diff)
downloadqtjsbackend-194da71eed49e4d5e904e8c28cb510fb85b95912.tar.gz
[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: I75d6f8173260e0d4933fd33ad16a277542048f09 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/3rdparty/v8/src/full-codegen.h')
-rw-r--r--src/3rdparty/v8/src/full-codegen.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/3rdparty/v8/src/full-codegen.h b/src/3rdparty/v8/src/full-codegen.h
index 89b51f9..972839e 100644
--- a/src/3rdparty/v8/src/full-codegen.h
+++ b/src/3rdparty/v8/src/full-codegen.h
@@ -572,6 +572,7 @@ class FullCodeGenerator: public AstVisitor {
bool is_native() { return info_->is_native(); }
bool is_classic_mode() { return language_mode() == CLASSIC_MODE; }
LanguageMode language_mode() { return function()->language_mode(); }
+ bool is_qml_mode() { return function()->qml_mode(); }
FunctionLiteral* function() { return info_->function(); }
Scope* scope() { return scope_; }