| Index: src/x64/codegen-x64.cc
|
| diff --git a/src/x64/codegen-x64.cc b/src/x64/codegen-x64.cc
|
| index 4c216e8f2c9c6c19cc922907970b8b8491828df7..a4880d269b48e1aaea30ec16f493fadef08b5a57 100644
|
| --- a/src/x64/codegen-x64.cc
|
| +++ b/src/x64/codegen-x64.cc
|
| @@ -243,7 +243,6 @@ void ElementsTransitionGenerator::GenerateSmiOnlyToDouble(
|
|
|
| // Conversion loop.
|
| __ bind(&loop);
|
| - __ decq(r9);
|
| __ movq(rbx,
|
| FieldOperand(r8, r9, times_8, FixedArray::kHeaderSize));
|
| // r9 : current element's index
|
| @@ -257,8 +256,8 @@ void ElementsTransitionGenerator::GenerateSmiOnlyToDouble(
|
| __ bind(&convert_hole);
|
| __ movq(FieldOperand(r14, r9, times_8, FixedDoubleArray::kHeaderSize), r15);
|
| __ bind(&entry);
|
| - __ testq(r9, r9);
|
| - __ j(not_zero, &loop);
|
| + __ decq(r9);
|
| + __ j(not_sign, &loop);
|
| }
|
|
|
|
|
| @@ -301,7 +300,6 @@ void ElementsTransitionGenerator::GenerateDoubleToObject(
|
|
|
| // Box doubles into heap numbers.
|
| __ bind(&loop);
|
| - __ decq(r9);
|
| __ movq(r14, FieldOperand(r8,
|
| r9,
|
| times_pointer_size,
|
| @@ -338,8 +336,8 @@ void ElementsTransitionGenerator::GenerateDoubleToObject(
|
| rdi);
|
|
|
| __ bind(&entry);
|
| - __ testq(r9, r9);
|
| - __ j(not_zero, &loop);
|
| + __ decq(r9);
|
| + __ j(not_sign, &loop);
|
|
|
| // Set transitioned map.
|
| __ movq(FieldOperand(rdx, HeapObject::kMapOffset), rbx);
|
|
|