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/jit | |
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/jit')
-rw-r--r-- | src/qml/jit/qv4assembler.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/qml/jit/qv4assembler.cpp b/src/qml/jit/qv4assembler.cpp index ed342740ac..300f4b0fb2 100644 --- a/src/qml/jit/qv4assembler.cpp +++ b/src/qml/jit/qv4assembler.cpp @@ -214,7 +214,7 @@ Assembler::Pointer Assembler::loadStringAddress(RegisterID reg, const QString &s loadPtr(Address(Assembler::ContextRegister, qOffsetOf(QV4::ExecutionContext::Data, compilationUnit)), Assembler::ScratchRegister); loadPtr(Address(Assembler::ScratchRegister, qOffsetOf(QV4::CompiledData::CompilationUnit, runtimeStrings)), reg); const int id = _isel->registerString(string); - return Pointer(reg, id * sizeof(QV4::StringValue)); + return Pointer(reg, id * sizeof(QV4::String*)); } void Assembler::loadStringRef(RegisterID reg, const QString &string) @@ -222,7 +222,7 @@ void Assembler::loadStringRef(RegisterID reg, const QString &string) loadPtr(Address(Assembler::ContextRegister, qOffsetOf(QV4::ExecutionContext::Data, compilationUnit)), reg); loadPtr(Address(reg, qOffsetOf(QV4::CompiledData::CompilationUnit, runtimeStrings)), reg); const int id = _isel->registerString(string); - loadPtr(Address(reg, id * sizeof(QV4::StringValue)), reg); + loadPtr(Address(reg, id * sizeof(QV4::String*)), reg); } void Assembler::storeValue(QV4::Primitive value, IR::Expr *destination) |