aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4context.cpp
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2019-05-20 15:24:51 +0200
committerUlf Hermann <ulf.hermann@qt.io>2019-05-31 15:03:33 +0200
commitc8c2db3f5b157131542025ce556d248c7a916a00 (patch)
tree4c91465c8935b880c6dd42cb427fa3b173d52157 /src/qml/jsruntime/qv4context.cpp
parent0f035c0ad79ca41a1473b64a4c0077e7085d3700 (diff)
Split QV4::Value into a static and a dynamic part
The static part can be used for compilation and won't resolve managed objects. This allows us to remove all the remaining V4_BOOTSTRAP. Change-Id: Id2f6feb64c48beb2a407697881aea8c0d791a532 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4context.cpp')
-rw-r--r--src/qml/jsruntime/qv4context.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/qml/jsruntime/qv4context.cpp b/src/qml/jsruntime/qv4context.cpp
index 130727378d..018571e325 100644
--- a/src/qml/jsruntime/qv4context.cpp
+++ b/src/qml/jsruntime/qv4context.cpp
@@ -71,7 +71,8 @@ Heap::CallContext *ExecutionContext::newBlockContext(CppStackFrame *frame, int b
Heap::ExecutionContext *outer = static_cast<Heap::ExecutionContext *>(frame->context()->m());
c->outer.set(v4, outer);
- c->function.set(v4, static_cast<Heap::FunctionObject *>(frame->jsFrame->function.m()));
+ c->function.set(v4, static_cast<Heap::FunctionObject *>(
+ Value::fromStaticValue(frame->jsFrame->function).m()));
c->locals.size = nLocals;
c->locals.alloc = nLocals;
@@ -108,7 +109,8 @@ Heap::CallContext *ExecutionContext::newCallContext(CppStackFrame *frame)
c->init();
c->outer.set(v4, outer);
- c->function.set(v4, static_cast<Heap::FunctionObject *>(frame->jsFrame->function.m()));
+ c->function.set(v4, static_cast<Heap::FunctionObject *>(
+ Value::fromStaticValue(frame->jsFrame->function).m()));
const CompiledData::Function *compiledFunction = function->compiledFunction;
uint nLocals = compiledFunction->nLocals;