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/qv4engine.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/qv4engine.cpp')
| -rw-r--r-- | src/qml/jsruntime/qv4engine.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/qml/jsruntime/qv4engine.cpp b/src/qml/jsruntime/qv4engine.cpp index 99050b04aa..ec1ea80e47 100644 --- a/src/qml/jsruntime/qv4engine.cpp +++ b/src/qml/jsruntime/qv4engine.cpp @@ -508,11 +508,12 @@ InternalClass *ExecutionEngine::newClass(const InternalClass &other) ExecutionContext *ExecutionEngine::pushGlobalContext() { - GlobalContext *g = memoryManager->alloc<GlobalContext>(this); + Scope scope(this); + Scoped<GlobalContext> g(scope, memoryManager->alloc<GlobalContext>(this)); g->d()->callData = rootContext->d()->callData; - Q_ASSERT(currentContext() == g); - return g; + Q_ASSERT(currentContext() == g.getPointer()); + return g.getPointer(); } |
