Index: src/ia32/lithium-codegen-ia32.cc |
=================================================================== |
--- src/ia32/lithium-codegen-ia32.cc (revision 11873) |
+++ src/ia32/lithium-codegen-ia32.cc (working copy) |
@@ -2327,15 +2327,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())); |
} |
__ mov(result, factory()->undefined_value()); |
} |