зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1083866 - No longer suppress GC for the evaluation of recover instructions. r=jandem
This commit is contained in:
Родитель
1fbcbe24d7
Коммит
39b8ea1136
|
@ -35,7 +35,6 @@ jit::Bailout(BailoutStack *sp, BaselineBailoutInfo **bailoutInfo)
|
|||
IsInRange(FAKE_JIT_TOP_FOR_BAILOUT + sizeof(IonCommonFrameLayout), 0, 0x1000),
|
||||
"Fake jitTop pointer should be within the first page.");
|
||||
cx->mainThread().jitTop = FAKE_JIT_TOP_FOR_BAILOUT;
|
||||
gc::AutoSuppressGC suppress(cx);
|
||||
|
||||
JitActivationIterator jitActivations(cx->runtime());
|
||||
BailoutFrameInfo bailoutData(jitActivations, sp);
|
||||
|
@ -103,7 +102,6 @@ jit::InvalidationBailout(InvalidationBailoutStack *sp, size_t *frameSizeOut,
|
|||
|
||||
// We don't have an exit frame.
|
||||
cx->mainThread().jitTop = FAKE_JIT_TOP_FOR_BAILOUT;
|
||||
gc::AutoSuppressGC suppress(cx);
|
||||
|
||||
JitActivationIterator jitActivations(cx->runtime());
|
||||
BailoutFrameInfo bailoutData(jitActivations, sp);
|
||||
|
|
|
@ -525,6 +525,10 @@ InitFromBailout(JSContext *cx, HandleScript caller, jsbytecode *callerPC,
|
|||
jsbytecode **callPC, const ExceptionBailoutInfo *excInfo,
|
||||
bool *poppedLastSPSFrameOut)
|
||||
{
|
||||
// The Baseline frames we will reconstruct on the heap are not rooted, so GC
|
||||
// must be suppressed here.
|
||||
MOZ_ASSERT(cx->mainThread().suppressGC);
|
||||
|
||||
MOZ_ASSERT(script->hasBaselineScript());
|
||||
MOZ_ASSERT(poppedLastSPSFrameOut);
|
||||
MOZ_ASSERT(!*poppedLastSPSFrameOut);
|
||||
|
@ -1308,10 +1312,6 @@ jit::BailoutIonToBaseline(JSContext *cx, JitActivation *activation, JitFrameIter
|
|||
bool invalidate, BaselineBailoutInfo **bailoutInfo,
|
||||
const ExceptionBailoutInfo *excInfo, bool *poppedLastSPSFrameOut)
|
||||
{
|
||||
// The Baseline frames we will reconstruct on the heap are not rooted, so GC
|
||||
// must be suppressed here.
|
||||
MOZ_ASSERT(cx->mainThread().suppressGC);
|
||||
|
||||
MOZ_ASSERT(bailoutInfo != nullptr);
|
||||
MOZ_ASSERT(*bailoutInfo == nullptr);
|
||||
|
||||
|
@ -1424,6 +1424,8 @@ jit::BailoutIonToBaseline(JSContext *cx, JitActivation *activation, JitFrameIter
|
|||
RootedScript topCaller(cx);
|
||||
jsbytecode *topCallerPC = nullptr;
|
||||
|
||||
gc::AutoSuppressGC suppress(cx);
|
||||
|
||||
while (true) {
|
||||
// Skip recover instructions as they are already recovered by |initInstructionResults|.
|
||||
snapIter.settleOnFrame();
|
||||
|
|
Загрузка…
Ссылка в новой задаче