diff options
author | Erik Verbruggen <erik.verbruggen@qt.io> | 2018-11-29 15:31:56 +0100 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@qt.io> | 2019-01-31 11:47:57 +0000 |
commit | e09519bad7ff266e466ea2d2d66187fbb13457f9 (patch) | |
tree | 83f268a7334e851b8ad195673864c85d292f37ac /src/qml/jit/qv4baselinejit.cpp | |
parent | 3f2efbd1b904cdc9358ed328235502e338b020bf (diff) |
V4: Move relative-to-absolute offset calculation to base class
Now other subclasses of the BytecodeHandler can also use the method.
Change-Id: Ib1a19e5ef6beb6c62b6a0214a6658f57b7e74a1a
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/qml/jit/qv4baselinejit.cpp')
-rw-r--r-- | src/qml/jit/qv4baselinejit.cpp | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/src/qml/jit/qv4baselinejit.cpp b/src/qml/jit/qv4baselinejit.cpp index df3af1fce3..8de0259509 100644 --- a/src/qml/jit/qv4baselinejit.cpp +++ b/src/qml/jit/qv4baselinejit.cpp @@ -593,7 +593,7 @@ void BaselineJIT::generate_ConstructWithSpread(int func, int argc, int argv) void BaselineJIT::generate_SetUnwindHandler(int offset) { if (offset) - labels.insert(as->setUnwindHandler(absoluteOffsetForJump(offset))); + labels.insert(as->setUnwindHandler(absoluteOffset(offset))); else as->clearUnwindHandler(); } @@ -605,7 +605,7 @@ void BaselineJIT::generate_UnwindDispatch() void BaselineJIT::generate_UnwindToLabel(int level, int offset) { - labels.insert(as->unwindToLabel(level, absoluteOffsetForJump(offset))); + labels.insert(as->unwindToLabel(level, absoluteOffset(offset))); } void BaselineJIT::generate_DeadTemporalZoneCheck(int name) @@ -872,11 +872,30 @@ void BaselineJIT::generate_ToObject() } -void BaselineJIT::generate_Jump(int offset) { labels.insert(as->jump(absoluteOffsetForJump(offset))); } -void BaselineJIT::generate_JumpTrue(int /*traceSlot*/, int offset) { labels.insert(as->jumpTrue(absoluteOffsetForJump(offset))); } -void BaselineJIT::generate_JumpFalse(int /*traceSlot*/, int offset) { labels.insert(as->jumpFalse(absoluteOffsetForJump(offset))); } -void BaselineJIT::generate_JumpNoException(int offset) { labels.insert(as->jumpNoException(absoluteOffsetForJump(offset))); } -void BaselineJIT::generate_JumpNotUndefined(int offset) { labels.insert(as->jumpNotUndefined(absoluteOffsetForJump(offset))); } +void BaselineJIT::generate_Jump(int offset) +{ + labels.insert(as->jump(absoluteOffset(offset))); +} + +void BaselineJIT::generate_JumpTrue(int /*traceSlot*/, int offset) +{ + labels.insert(as->jumpTrue(absoluteOffset(offset))); +} + +void BaselineJIT::generate_JumpFalse(int /*traceSlot*/, int offset) +{ + labels.insert(as->jumpFalse(absoluteOffset(offset))); +} + +void BaselineJIT::generate_JumpNoException(int offset) +{ + labels.insert(as->jumpNoException(absoluteOffset(offset))); +} + +void BaselineJIT::generate_JumpNotUndefined(int offset) +{ + labels.insert(as->jumpNotUndefined(absoluteOffset(offset))); +} void BaselineJIT::generate_CmpEqNull() { as->cmpeqNull(); } void BaselineJIT::generate_CmpNeNull() { as->cmpneNull(); } |