diff options
Diffstat (limited to 'deps/v8/src/crankshaft/x64/lithium-gap-resolver-x64.cc')
-rw-r--r-- | deps/v8/src/crankshaft/x64/lithium-gap-resolver-x64.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/deps/v8/src/crankshaft/x64/lithium-gap-resolver-x64.cc b/deps/v8/src/crankshaft/x64/lithium-gap-resolver-x64.cc index cc65f188ce..3808c377dc 100644 --- a/deps/v8/src/crankshaft/x64/lithium-gap-resolver-x64.cc +++ b/deps/v8/src/crankshaft/x64/lithium-gap-resolver-x64.cc @@ -244,7 +244,9 @@ void LGapResolver::EmitSwap(int index) { // Swap two general-purpose registers. Register src = cgen_->ToRegister(source); Register dst = cgen_->ToRegister(destination); - __ xchgq(dst, src); + __ movp(kScratchRegister, src); + __ movp(src, dst); + __ movp(dst, kScratchRegister); } else if ((source->IsRegister() && destination->IsStackSlot()) || (source->IsStackSlot() && destination->IsRegister())) { |