mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Fix invalidation clobbering rax on x64 (bug 724146, r=cdleary).
--HG-- extra : rebase_source : 60f282a921ad4b529fea75203431fdfad3705e70
This commit is contained in:
parent
9b4a2d6cc5
commit
c45339fb26
@ -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.
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user