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); |