diff options
author | Lars Knoll <lars.knoll@qt.io> | 2017-08-03 13:41:13 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2017-08-04 07:08:02 +0000 |
commit | be70a025c19bfbfadcab957df7b1185109f5e88e (patch) | |
tree | 103bfd243bd7bd786214bac7a2d7f41fda243284 /src/qml/jsruntime/qv4enginebase_p.h | |
parent | 40aa22e0fd8234a7a71abf0ef8f42524d306e0df (diff) |
Don't store the current line number in the ExecutionContext
Instead modify our StackFrame struct to hold the
QV4::Function and have a linked list of those for
the frames.
Change-Id: I8676e16bc51a5ba6cf25a5b3423576d44e8a926a
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4enginebase_p.h')
-rw-r--r-- | src/qml/jsruntime/qv4enginebase_p.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/qml/jsruntime/qv4enginebase_p.h b/src/qml/jsruntime/qv4enginebase_p.h index b6ab0b7b68..55c44f33f1 100644 --- a/src/qml/jsruntime/qv4enginebase_p.h +++ b/src/qml/jsruntime/qv4enginebase_p.h @@ -64,6 +64,7 @@ namespace QV4 { #endif struct EngineBase { Heap::ExecutionContext *current = 0; + StackFrame *currentStackFrame = 0; Value *jsStackTop = 0; quint8 hasException = false; @@ -116,7 +117,8 @@ struct EngineBase { Q_STATIC_ASSERT(std::is_standard_layout<EngineBase>::value); Q_STATIC_ASSERT(offsetof(EngineBase, current) == 0); -Q_STATIC_ASSERT(offsetof(EngineBase, jsStackTop) == offsetof(EngineBase, current) + QT_POINTER_SIZE); +Q_STATIC_ASSERT(offsetof(EngineBase, currentStackFrame) == offsetof(EngineBase, current) + QT_POINTER_SIZE); +Q_STATIC_ASSERT(offsetof(EngineBase, jsStackTop) == offsetof(EngineBase, currentStackFrame) + QT_POINTER_SIZE); Q_STATIC_ASSERT(offsetof(EngineBase, hasException) == offsetof(EngineBase, jsStackTop) + QT_POINTER_SIZE); Q_STATIC_ASSERT(offsetof(EngineBase, memoryManager) == offsetof(EngineBase, hasException) + QT_POINTER_SIZE); Q_STATIC_ASSERT(offsetof(EngineBase, runtime) == offsetof(EngineBase, memoryManager) + QT_POINTER_SIZE); |