From cbb37dbb2baf8a6fc658ffc0c87fd1d2afa8d3f5 Mon Sep 17 00:00:00 2001 From: Jan de Mooij Date: Wed, 22 Nov 2017 13:06:02 +0100 Subject: [PATCH] Bug 1417399 - Remove unnecessary checks for lazy link stub in LazyLinkTopActivation. r=nbp --HG-- extra : rebase_source : 1be7cb018b682833c2e182fa1c62d4e18769e283 --- js/src/jit/CodeGenerator.cpp | 2 -- js/src/jit/Ion.cpp | 17 +++-------------- js/src/jit/JitCompartment.h | 4 ---- 3 files changed, 3 insertions(+), 20 deletions(-) diff --git a/js/src/jit/CodeGenerator.cpp b/js/src/jit/CodeGenerator.cpp index 3fa6dd50416d..fdafb755c844 100644 --- a/js/src/jit/CodeGenerator.cpp +++ b/js/src/jit/CodeGenerator.cpp @@ -8029,8 +8029,6 @@ JitRuntime::generateLazyLinkStub(MacroAssembler& masm) masm.popReturnAddress(); #endif masm.jump(ReturnReg); - - lazyLinkStubEndOffset_ = masm.currentOffset(); } void diff --git a/js/src/jit/Ion.cpp b/js/src/jit/Ion.cpp index 73232290cbfa..2df932dc4c33 100644 --- a/js/src/jit/Ion.cpp +++ b/js/src/jit/Ion.cpp @@ -203,7 +203,6 @@ JitRuntime::JitRuntime(JSRuntime* rt) argumentsRectifierReturnOffset_(0), invalidatorOffset_(0), lazyLinkStubOffset_(0), - lazyLinkStubEndOffset_(0), interpreterStubOffset_(0), debugTrapHandler_(nullptr), baselineDebugModeOSRHandler_(nullptr), @@ -2799,17 +2798,8 @@ InvalidateActivation(FreeOp* fop, const JitActivationIterator& activations, bool if (!frame.isIonScripted()) 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. - if (!calledFromLinkStub && frame.checkInvalidation()) + if (frame.checkInvalidation()) continue; JSScript* script = frame.script(); @@ -2866,9 +2856,8 @@ InvalidateActivation(FreeOp* fop, const JitActivationIterator& activations, bool } ionCode->setInvalidated(); - // Don't adjust OSI points in the linkStub (which don't exist), or in a - // bailout path. - if (calledFromLinkStub || frame.isBailoutJS()) + // Don't adjust OSI points in a bailout path. + if (frame.isBailoutJS()) continue; // Write the delta (from the return address offset to the diff --git a/js/src/jit/JitCompartment.h b/js/src/jit/JitCompartment.h index fde4fbdd9330..1b1599b8ccf6 100644 --- a/js/src/jit/JitCompartment.h +++ b/js/src/jit/JitCompartment.h @@ -134,7 +134,6 @@ class JitRuntime // Thunk called to finish compilation of an IonScript. ExclusiveAccessLockWriteOnceData lazyLinkStubOffset_; - ExclusiveAccessLockWriteOnceData lazyLinkStubEndOffset_; // Thunk to enter the interpreter from JIT code. ExclusiveAccessLockWriteOnceData interpreterStubOffset_; @@ -315,9 +314,6 @@ class JitRuntime TrampolinePtr lazyLinkStub() const { return trampolineCode(lazyLinkStubOffset_); } - TrampolinePtr lazyLinkStubEnd() const { - return trampolineCode(lazyLinkStubEndOffset_); - } TrampolinePtr interpreterStub() const { return trampolineCode(interpreterStubOffset_); }