[builtins][x64] Save an instruction by doing the Tagging in-place

If we SmiTag using the same register we will save a mov instruction.

Bug: v8:9771
Change-Id: Iadfa332e76115688eac6c3ec5262ca751ec02405
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826735
Reviewed-by: Dan Elphick <delphick@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64029}
This commit is contained in:
Santiago Aboy Solanes 2019-09-27 17:04:29 +01:00 committed by Commit Bot
parent a0133350bf
commit cf1925b0f8

View File

@ -1455,8 +1455,9 @@ void Builtins::Generate_InterpreterEnterBytecodeAdvance(MacroAssembler* masm) {
&if_return);
// Convert new bytecode offset to a Smi and save in the stackframe.
__ SmiTag(rbx, kInterpreterBytecodeOffsetRegister);
__ movq(Operand(rbp, InterpreterFrameConstants::kBytecodeOffsetFromFp), rbx);
__ SmiTag(kInterpreterBytecodeOffsetRegister);
__ movq(Operand(rbp, InterpreterFrameConstants::kBytecodeOffsetFromFp),
kInterpreterBytecodeOffsetRegister);
Generate_InterpreterEnterBytecode(masm);