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) { ...@@ -389,16 +389,13 @@ void Builtins::Generate_ResumeGeneratorTrampoline(MacroAssembler* masm) {
FieldMemOperand(r1, JSGeneratorObject::kParametersAndRegistersOffset)); FieldMemOperand(r1, JSGeneratorObject::kParametersAndRegistersOffset));
{ {
Label done_loop, loop; Label done_loop, loop;
__ mov(r6, r3);
__ bind(&loop); __ bind(&loop);
__ sub(r6, r6, Operand(1), SetCC); __ sub(r3, r3, Operand(1), SetCC);
__ b(lt, &done_loop); __ b(lt, &done_loop);
__ add(scratch, r2, Operand(r6, LSL, kTaggedSizeLog2)); __ add(scratch, r2, Operand(r3, LSL, kTaggedSizeLog2));
__ ldr(scratch, FieldMemOperand(scratch, FixedArray::kHeaderSize)); __ ldr(scratch, FieldMemOperand(scratch, FixedArray::kHeaderSize));
__ Push(scratch); __ Push(scratch);
__ b(&loop); __ b(&loop);
__ bind(&done_loop); __ bind(&done_loop);
// Push receiver. // Push receiver.
......
...@@ -646,15 +646,12 @@ void Builtins::Generate_ResumeGeneratorTrampoline(MacroAssembler* masm) { ...@@ -646,15 +646,12 @@ void Builtins::Generate_ResumeGeneratorTrampoline(MacroAssembler* masm) {
FieldOperand(edx, JSGeneratorObject::kParametersAndRegistersOffset)); FieldOperand(edx, JSGeneratorObject::kParametersAndRegistersOffset));
{ {
Label done_loop, loop; Label done_loop, loop;
__ mov(edi, ecx);
__ bind(&loop); __ bind(&loop);
__ dec(edi); __ dec(ecx);
__ j(less, &done_loop); __ j(less, &done_loop);
__ Push( __ Push(
FieldOperand(ebx, edi, times_tagged_size, FixedArray::kHeaderSize)); FieldOperand(ebx, ecx, times_tagged_size, FixedArray::kHeaderSize));
__ jmp(&loop); __ jmp(&loop);
__ bind(&done_loop); __ bind(&done_loop);
} }
......
...@@ -741,21 +741,16 @@ void Builtins::Generate_ResumeGeneratorTrampoline(MacroAssembler* masm) { ...@@ -741,21 +741,16 @@ void Builtins::Generate_ResumeGeneratorTrampoline(MacroAssembler* masm) {
__ LoadTaggedPointerField( __ LoadTaggedPointerField(
rbx, FieldOperand(rdx, JSGeneratorObject::kParametersAndRegistersOffset)); rbx, FieldOperand(rdx, JSGeneratorObject::kParametersAndRegistersOffset));
{
{ {
Label done_loop, loop; Label done_loop, loop;
__ movq(r9, rcx);
__ bind(&loop); __ bind(&loop);
__ decq(r9); __ decq(rcx);
__ j(less, &done_loop, Label::kNear); __ j(less, &done_loop, Label::kNear);
__ PushTaggedAnyField( __ PushTaggedAnyField(
FieldOperand(rbx, r9, times_tagged_size, FixedArray::kHeaderSize), FieldOperand(rbx, rcx, times_tagged_size, FixedArray::kHeaderSize),
decompr_scratch1); decompr_scratch1);
__ jmp(&loop); __ jmp(&loop);
__ bind(&done_loop); __ bind(&done_loop);
}
// Push the receiver. // Push the receiver.
__ PushTaggedPointerField( __ 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