diff options
author | Erik Verbruggen <erik.verbruggen@qt.io> | 2017-11-23 11:34:27 +0100 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@qt.io> | 2017-12-14 09:24:03 +0000 |
commit | 6793683b165bca058e4bd9ee1b3beac8cff12b9d (patch) | |
tree | a3d4b875bd7a5f98d67cd5a870ceb7e756c9f63c /src/qml/jsruntime/qv4engine.cpp | |
parent | a1fd2866465c4be2815a6ada776867b3d4efc557 (diff) |
V4: Only start JITting after a minimum of 3 calls
Change-Id: I748e06041f3085980ce48391ba2d829a9d86a727
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4engine.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4engine.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/qml/jsruntime/qv4engine.cpp b/src/qml/jsruntime/qv4engine.cpp index c57f39f61c..c97ba38dec 100644 --- a/src/qml/jsruntime/qv4engine.cpp +++ b/src/qml/jsruntime/qv4engine.cpp @@ -168,6 +168,15 @@ ExecutionEngine::ExecutionEngine() /* writable */ true, /* executable */ false, /* includesGuardPages */ true); + { + bool ok = false; + jitCallCountThreshold = qEnvironmentVariableIntValue("QV4_JIT_CALL_THRESHOLD", &ok); + if (!ok) + jitCallCountThreshold = 3; + if (qEnvironmentVariableIsSet("QV4_FORCE_INTERPRETER")) + jitCallCountThreshold = std::numeric_limits<int>::max(); + } + exceptionValue = jsAlloca(1); globalObject = static_cast<Object *>(jsAlloca(1)); jsObjects = jsAlloca(NJSObjects); @@ -1545,15 +1554,6 @@ QV4::ReturnedValue ExecutionEngine::metaTypeToJS(int type, const void *data) return 0; } -bool ExecutionEngine::canJIT() -{ -#ifdef V4_ENABLE_JIT - return true; -#else - return false; -#endif -} - // Converts a JS value to a meta-type. // data must point to a place that can store a value of the given type. // Returns true if conversion succeeded, false otherwise. |