Skip to content

Commit

Permalink
Bug 1664045: Relax register constraints for MWasmCompareExchangeI64 o…
Browse files Browse the repository at this point in the history
…n x86; r=lth

Not using atStart makes the live ranges bigger than they ought to be; the
inputs must be only be used at the use position for the instruction, not the
def use position.

Differential Revision: https://phabricator.services.mozilla.com/D91602
  • Loading branch information
bnjbvr committed Sep 29, 2020
1 parent 2543340 commit 40f987e
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions js/src/jit/x86/Lowering-x86.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -410,9 +410,9 @@ void LIRGenerator::visitWasmCompareExchangeHeap(MWasmCompareExchangeHeap* ins) {

if (ins->access().type() == Scalar::Int64) {
auto* lir = new (alloc()) LWasmCompareExchangeI64(
useRegister(memoryBase), useRegister(base),
useInt64Fixed(ins->oldValue(), Register64(edx, eax)),
useInt64Fixed(ins->newValue(), Register64(ecx, ebx)));
useRegisterAtStart(memoryBase), useRegisterAtStart(base),
useInt64FixedAtStart(ins->oldValue(), Register64(edx, eax)),
useInt64FixedAtStart(ins->newValue(), Register64(ecx, ebx)));
defineInt64Fixed(lir, ins,
LInt64Allocation(LAllocation(AnyRegister(edx)),
LAllocation(AnyRegister(eax))));
Expand Down

0 comments on commit 40f987e

Please sign in to comment.