Fix invalidation clobbering rax on x64 (bug 724146, r=cdleary).

--HG--
extra : rebase_source : 60f282a921ad4b529fea75203431fdfad3705e70
This commit is contained in:
David Anderson 2012-02-03 16:00:22 -08:00
parent 9b4a2d6cc5
commit c45339fb26
2 changed files with 1 additions and 5 deletions

View File

@ -647,7 +647,7 @@ CodeGenerator::generateInvalidateEpilogue()
// Push the Ion script onto the stack (when we determine what that pointer is).
invalidateEpilogueData_ = masm.pushWithPatch(ImmWord(uintptr_t(-1)));
IonCode *thunk = gen->cx->compartment->ionCompartment()->getOrCreateInvalidationThunk(gen->cx);
masm.call(ImmWord(uintptr_t(thunk->raw())));
masm.call(thunk);
#ifdef DEBUG
// We should never reach this point in JIT code -- the invalidation thunk should
// pop the invalidated JS frame and return directly to its caller.

View File

@ -922,10 +922,6 @@ EnterIon(JSContext *cx, StackFrame *fp, CallTarget target, void *jitcode, bool o
IonActivation activation(cx, fp);
JSAutoResolveFlags rf(cx, RESOLVE_INFER);
// Ensure that the invalidator thunk exists.
if (!cx->compartment->ionCompartment()->getOrCreateInvalidationThunk(cx))
return false;
// Switch entrypoint.
if (osr)
target.osrPrologue(jitcode, argc, argv, &result, calleeToken, fp);