diff options
| author | Simon Hausmann <simon.hausmann@digia.com> | 2014-07-23 13:56:43 +0200 |
|---|---|---|
| committer | Simon Hausmann <simon.hausmann@digia.com> | 2014-11-04 14:58:30 +0100 |
| commit | 3f1d0b27a11a1d560c11057d2a801224d1613d60 (patch) | |
| tree | a35184460b77be487fa15aaa0e823334e406b833 /src/qml/jsruntime/qv4runtime.cpp | |
| parent | 8daace55a2c43ec354e5d778a42f9c421f9f9232 (diff) | |
Changed Value to store Managed::Data pointers directly
This is a step towards storing direct heap object pointers for the values
on the JS stack, to avoid the costly indirection for data access.
Change-Id: Ibb57ed6cf52a7088bbc95ee04ae3a4cb25b8c045
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4runtime.cpp')
| -rw-r--r-- | src/qml/jsruntime/qv4runtime.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/qml/jsruntime/qv4runtime.cpp b/src/qml/jsruntime/qv4runtime.cpp index cb7e219354..957f8cd42f 100644 --- a/src/qml/jsruntime/qv4runtime.cpp +++ b/src/qml/jsruntime/qv4runtime.cpp @@ -881,9 +881,9 @@ ReturnedValue Runtime::callActivationProperty(ExecutionContext *context, String Scope scope(context); ScopedObject base(scope); - Object *baseObj = base.ptr->objectValue(); + Object *baseObj = 0; ScopedValue func(scope, context->getPropertyAndBase(name, baseObj)); - base.ptr->m = baseObj; + base.ptr->m = baseObj ? &baseObj->data : 0; if (scope.engine->hasException) return Encode::undefined(); @@ -1101,7 +1101,7 @@ ExecutionContext *Runtime::pushWithScope(const ValueRef o, ExecutionContext *ctx { Scope scope(ctx); ScopedObject obj(scope, o->toObject(ctx)); - return reinterpret_cast<ExecutionContext *>(ctx->newWithContext(obj)); + return ctx->newWithContext(obj)->getPointer(); } ReturnedValue Runtime::unwindException(ExecutionContext *ctx) @@ -1115,7 +1115,7 @@ ExecutionContext *Runtime::pushCatchScope(ExecutionContext *ctx, String *excepti { Scope scope(ctx); ScopedValue v(scope, ctx->engine()->catchException(ctx, 0)); - return reinterpret_cast<ExecutionContext *>(ctx->newCatchContext(exceptionVarName, v)); + return ctx->newCatchContext(exceptionVarName, v)->getPointer(); } ExecutionContext *Runtime::popScope(ExecutionContext *ctx) |
