Index: src/arm/lithium-codegen-arm.cc |
=================================================================== |
--- src/arm/lithium-codegen-arm.cc (revision 11873) |
+++ src/arm/lithium-codegen-arm.cc (working copy) |
@@ -2597,15 +2597,15 @@ |
} else { |
// Negative lookup. |
// Check prototypes. |
- HeapObject* current = HeapObject::cast((*type)->prototype()); |
+ Handle<HeapObject> current(HeapObject::cast((*type)->prototype())); |
Heap* heap = type->GetHeap(); |
- while (current != heap->null_value()) { |
- Handle<HeapObject> link(current); |
- __ LoadHeapObject(result, link); |
+ while (*current != heap->null_value()) { |
+ __ LoadHeapObject(result, current); |
__ ldr(result, FieldMemOperand(result, HeapObject::kMapOffset)); |
- __ cmp(result, Operand(Handle<Map>(JSObject::cast(current)->map()))); |
+ __ cmp(result, Operand(Handle<Map>(current->map()))); |
DeoptimizeIf(ne, env); |
- current = HeapObject::cast(current->map()->prototype()); |
+ current = |
+ Handle<HeapObject>(HeapObject::cast(current->map()->prototype())); |
} |
__ LoadRoot(result, Heap::kUndefinedValueRootIndex); |
} |