Commit eaec875f authored by pan.deng@intel.com's avatar pan.deng@intel.com Committed by Commit Bot

X64: Remove redundant mov instructions.

Bug: None
Change-Id: I31f6c6aba48076b26971ba828411b61ed7e9bae9

Contribute by kanghua.yu@intel.com

Change-Id: I31f6c6aba48076b26971ba828411b61ed7e9bae9
Reviewed-on: https://chromium-review.googlesource.com/567861Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
Commit-Queue: Pan Deng <pan.deng@intel.com>
Cr-Commit-Position: refs/heads/master@{#46953}
parent a27daf04
......@@ -205,13 +205,15 @@ void MacroAssembler::RememberedSetHelper(Register object, // For debug tests.
// Load store buffer top.
ExternalReference store_buffer =
ExternalReference::store_buffer_top(isolate());
movp(scratch, ExternalOperand(store_buffer));
DCHECK(!scratch.is(kScratchRegister));
Move(kScratchRegister, store_buffer);
movp(scratch, Operand(kScratchRegister, 0));
// Store pointer to buffer.
movp(Operand(scratch, 0), addr);
// Increment buffer top.
addp(scratch, Immediate(kPointerSize));
// Write back new top of buffer.
movp(ExternalOperand(store_buffer), scratch);
movp(Operand(kScratchRegister, 0), scratch);
// Call stub on end of buffer.
Label done;
// Check for end of buffer.
......
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