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