| Index: src/arm/lithium-codegen-arm.cc
|
| ===================================================================
|
| --- src/arm/lithium-codegen-arm.cc (revision 9445)
|
| +++ src/arm/lithium-codegen-arm.cc (working copy)
|
| @@ -2207,7 +2207,7 @@
|
| Register result = ToRegister(instr->result());
|
| __ mov(ip, Operand(Handle<Object>(instr->hydrogen()->cell())));
|
| __ ldr(result, FieldMemOperand(ip, JSGlobalPropertyCell::kValueOffset));
|
| - if (instr->hydrogen()->check_hole_value()) {
|
| + if (instr->hydrogen()->RequiresHoleCheck()) {
|
| __ LoadRoot(ip, Heap::kTheHoleValueRootIndex);
|
| __ cmp(result, ip);
|
| DeoptimizeIf(eq, instr->environment());
|
| @@ -2239,7 +2239,7 @@
|
| // been deleted from the property dictionary. In that case, we need
|
| // to update the property details in the property dictionary to mark
|
| // it as no longer deleted.
|
| - if (instr->hydrogen()->check_hole_value()) {
|
| + if (instr->hydrogen()->RequiresHoleCheck()) {
|
| __ ldr(scratch2,
|
| FieldMemOperand(scratch, JSGlobalPropertyCell::kValueOffset));
|
| __ LoadRoot(ip, Heap::kTheHoleValueRootIndex);
|
| @@ -2541,13 +2541,9 @@
|
| Operand(FixedDoubleArray::kHeaderSize - kHeapObjectTag));
|
| }
|
|
|
| - if (instr->hydrogen()->RequiresHoleCheck()) {
|
| - // TODO(danno): If no hole check is required, there is no need to allocate
|
| - // elements into a temporary register, instead scratch can be used.
|
| - __ ldr(scratch, MemOperand(elements, sizeof(kHoleNanLower32)));
|
| - __ cmp(scratch, Operand(kHoleNanUpper32));
|
| - DeoptimizeIf(eq, instr->environment());
|
| - }
|
| + __ ldr(scratch, MemOperand(elements, sizeof(kHoleNanLower32)));
|
| + __ cmp(scratch, Operand(kHoleNanUpper32));
|
| + DeoptimizeIf(eq, instr->environment());
|
|
|
| __ vldr(result, elements, 0);
|
| }
|
|
|