Commit c1ea574e authored by Thibaud Michaud's avatar Thibaud Michaud Committed by Commit Bot

[codegen] Use xchg instead of push/pop for swap

R=sigurds@chromium.org

Change-Id: Id22a44fa15827d5c076496d872fe3be7da360b5e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1678356
Auto-Submit: Thibaud Michaud <thibaudm@chromium.org>
Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#62383}
parent bc427c40
...@@ -4517,9 +4517,7 @@ void CodeGenerator::AssembleSwap(InstructionOperand* source, ...@@ -4517,9 +4517,7 @@ void CodeGenerator::AssembleSwap(InstructionOperand* source,
if (source->IsRegister()) { if (source->IsRegister()) {
Register src = g.ToRegister(source); Register src = g.ToRegister(source);
Register dst = g.ToRegister(destination); Register dst = g.ToRegister(destination);
__ push(src); __ xchg(src, dst);
__ mov(src, dst);
__ pop(dst);
} else { } else {
DCHECK(source->IsFPRegister()); DCHECK(source->IsFPRegister());
XMMRegister src = g.ToDoubleRegister(source); XMMRegister src = g.ToDoubleRegister(source);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment