diff --git a/js/src/jit/BaselineCacheIRCompiler.cpp b/js/src/jit/BaselineCacheIRCompiler.cpp index 2465f70fd297..4ed589cf26d2 100644 --- a/js/src/jit/BaselineCacheIRCompiler.cpp +++ b/js/src/jit/BaselineCacheIRCompiler.cpp @@ -996,12 +996,13 @@ BaselineCacheIRCompiler::emitCompareStringResult() if (!addFailurePath(&failure)) return false; + allocator.discardStack(masm); + Label slow, done; masm.compareStrings(op, left, right, scratch, &slow); masm.jump(&done); masm.bind(&slow); { - allocator.discardStack(masm); AutoStubFrame stubFrame(*this); stubFrame.enter(masm, scratch); diff --git a/js/src/jit/IonCacheIRCompiler.cpp b/js/src/jit/IonCacheIRCompiler.cpp index daa2a5841691..394483594b7d 100644 --- a/js/src/jit/IonCacheIRCompiler.cpp +++ b/js/src/jit/IonCacheIRCompiler.cpp @@ -1376,13 +1376,14 @@ IonCacheIRCompiler::emitCompareStringResult() if (!addFailurePath(&failure)) return false; + allocator.discardStack(masm); + Label slow, done; masm.compareStrings(op, left, right, scratch, &slow); masm.jump(&done); masm.bind(&slow); - allocator.discardStack(masm); prepareVMCall(masm); masm.Push(right); masm.Push(left);