зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1417399 - Remove unnecessary checks for lazy link stub in LazyLinkTopActivation. r=nbp
--HG-- extra : rebase_source : 1be7cb018b682833c2e182fa1c62d4e18769e283
This commit is contained in:
Родитель
038ba8c7c4
Коммит
cbb37dbb2b
|
@ -8029,8 +8029,6 @@ JitRuntime::generateLazyLinkStub(MacroAssembler& masm)
|
||||||
masm.popReturnAddress();
|
masm.popReturnAddress();
|
||||||
#endif
|
#endif
|
||||||
masm.jump(ReturnReg);
|
masm.jump(ReturnReg);
|
||||||
|
|
||||||
lazyLinkStubEndOffset_ = masm.currentOffset();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -203,7 +203,6 @@ JitRuntime::JitRuntime(JSRuntime* rt)
|
||||||
argumentsRectifierReturnOffset_(0),
|
argumentsRectifierReturnOffset_(0),
|
||||||
invalidatorOffset_(0),
|
invalidatorOffset_(0),
|
||||||
lazyLinkStubOffset_(0),
|
lazyLinkStubOffset_(0),
|
||||||
lazyLinkStubEndOffset_(0),
|
|
||||||
interpreterStubOffset_(0),
|
interpreterStubOffset_(0),
|
||||||
debugTrapHandler_(nullptr),
|
debugTrapHandler_(nullptr),
|
||||||
baselineDebugModeOSRHandler_(nullptr),
|
baselineDebugModeOSRHandler_(nullptr),
|
||||||
|
@ -2799,17 +2798,8 @@ InvalidateActivation(FreeOp* fop, const JitActivationIterator& activations, bool
|
||||||
if (!frame.isIonScripted())
|
if (!frame.isIonScripted())
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
JitRuntime* jrt = fop->runtime()->jitRuntime();
|
|
||||||
|
|
||||||
bool calledFromLinkStub = false;
|
|
||||||
if (frame.returnAddressToFp() >= jrt->lazyLinkStub().value &&
|
|
||||||
frame.returnAddressToFp() < jrt->lazyLinkStubEnd().value)
|
|
||||||
{
|
|
||||||
calledFromLinkStub = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// See if the frame has already been invalidated.
|
// See if the frame has already been invalidated.
|
||||||
if (!calledFromLinkStub && frame.checkInvalidation())
|
if (frame.checkInvalidation())
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
JSScript* script = frame.script();
|
JSScript* script = frame.script();
|
||||||
|
@ -2866,9 +2856,8 @@ InvalidateActivation(FreeOp* fop, const JitActivationIterator& activations, bool
|
||||||
}
|
}
|
||||||
ionCode->setInvalidated();
|
ionCode->setInvalidated();
|
||||||
|
|
||||||
// Don't adjust OSI points in the linkStub (which don't exist), or in a
|
// Don't adjust OSI points in a bailout path.
|
||||||
// bailout path.
|
if (frame.isBailoutJS())
|
||||||
if (calledFromLinkStub || frame.isBailoutJS())
|
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// Write the delta (from the return address offset to the
|
// Write the delta (from the return address offset to the
|
||||||
|
|
|
@ -134,7 +134,6 @@ class JitRuntime
|
||||||
|
|
||||||
// Thunk called to finish compilation of an IonScript.
|
// Thunk called to finish compilation of an IonScript.
|
||||||
ExclusiveAccessLockWriteOnceData<uint32_t> lazyLinkStubOffset_;
|
ExclusiveAccessLockWriteOnceData<uint32_t> lazyLinkStubOffset_;
|
||||||
ExclusiveAccessLockWriteOnceData<uint32_t> lazyLinkStubEndOffset_;
|
|
||||||
|
|
||||||
// Thunk to enter the interpreter from JIT code.
|
// Thunk to enter the interpreter from JIT code.
|
||||||
ExclusiveAccessLockWriteOnceData<uint32_t> interpreterStubOffset_;
|
ExclusiveAccessLockWriteOnceData<uint32_t> interpreterStubOffset_;
|
||||||
|
@ -315,9 +314,6 @@ class JitRuntime
|
||||||
TrampolinePtr lazyLinkStub() const {
|
TrampolinePtr lazyLinkStub() const {
|
||||||
return trampolineCode(lazyLinkStubOffset_);
|
return trampolineCode(lazyLinkStubOffset_);
|
||||||
}
|
}
|
||||||
TrampolinePtr lazyLinkStubEnd() const {
|
|
||||||
return trampolineCode(lazyLinkStubEndOffset_);
|
|
||||||
}
|
|
||||||
TrampolinePtr interpreterStub() const {
|
TrampolinePtr interpreterStub() const {
|
||||||
return trampolineCode(interpreterStubOffset_);
|
return trampolineCode(interpreterStubOffset_);
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче