Commit dc7906c9 authored by Victor Gomes's avatar Victor Gomes Committed by V8 LUCI CQ

[builtins] Remove extra move in ResumeGeneratorTrampoline

Change-Id: I824a671c54c92975a94f9dc56e993d532f022ce6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2874401Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74406}
parent 2480d148
......@@ -389,16 +389,13 @@ void Builtins::Generate_ResumeGeneratorTrampoline(MacroAssembler* masm) {
FieldMemOperand(r1, JSGeneratorObject::kParametersAndRegistersOffset));
{
Label done_loop, loop;
__ mov(r6, r3);
__ bind(&loop);
__ sub(r6, r6, Operand(1), SetCC);
__ sub(r3, r3, Operand(1), SetCC);
__ b(lt, &done_loop);
__ add(scratch, r2, Operand(r6, LSL, kTaggedSizeLog2));
__ add(scratch, r2, Operand(r3, LSL, kTaggedSizeLog2));
__ ldr(scratch, FieldMemOperand(scratch, FixedArray::kHeaderSize));
__ Push(scratch);
__ b(&loop);
__ bind(&done_loop);
// Push receiver.
......
......@@ -646,15 +646,12 @@ void Builtins::Generate_ResumeGeneratorTrampoline(MacroAssembler* masm) {
FieldOperand(edx, JSGeneratorObject::kParametersAndRegistersOffset));
{
Label done_loop, loop;
__ mov(edi, ecx);
__ bind(&loop);
__ dec(edi);
__ dec(ecx);
__ j(less, &done_loop);
__ Push(
FieldOperand(ebx, edi, times_tagged_size, FixedArray::kHeaderSize));
FieldOperand(ebx, ecx, times_tagged_size, FixedArray::kHeaderSize));
__ jmp(&loop);
__ bind(&done_loop);
}
......
......@@ -742,20 +742,15 @@ void Builtins::Generate_ResumeGeneratorTrampoline(MacroAssembler* masm) {
rbx, FieldOperand(rdx, JSGeneratorObject::kParametersAndRegistersOffset));
{
{
Label done_loop, loop;
__ movq(r9, rcx);
__ bind(&loop);
__ decq(r9);
__ j(less, &done_loop, Label::kNear);
__ PushTaggedAnyField(
FieldOperand(rbx, r9, times_tagged_size, FixedArray::kHeaderSize),
decompr_scratch1);
__ jmp(&loop);
__ bind(&done_loop);
}
Label done_loop, loop;
__ bind(&loop);
__ decq(rcx);
__ j(less, &done_loop, Label::kNear);
__ PushTaggedAnyField(
FieldOperand(rbx, rcx, times_tagged_size, FixedArray::kHeaderSize),
decompr_scratch1);
__ jmp(&loop);
__ bind(&done_loop);
// Push the receiver.
__ PushTaggedPointerField(
......
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