Index: src/x64/lithium-codegen-x64.cc |
=================================================================== |
--- src/x64/lithium-codegen-x64.cc (revision 11873) |
+++ src/x64/lithium-codegen-x64.cc (working copy) |
@@ -2221,15 +2221,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); |
__ Cmp(FieldOperand(result, HeapObject::kMapOffset), |
- Handle<Map>(JSObject::cast(current)->map())); |
+ Handle<Map>(current->map())); |
DeoptimizeIf(not_equal, env); |
- current = HeapObject::cast(current->map()->prototype()); |
+ current = |
+ Handle<HeapObject>(HeapObject::cast(current->map()->prototype())); |
} |
__ LoadRoot(result, Heap::kUndefinedValueRootIndex); |
} |