Index: src/x64/lithium-codegen-x64.cc |
=================================================================== |
--- src/x64/lithium-codegen-x64.cc (revision 10356) |
+++ src/x64/lithium-codegen-x64.cc (working copy) |
@@ -1892,9 +1892,10 @@ |
Register map = ToRegister(instr->TempAt(0)); |
__ movq(map, FieldOperand(object, HeapObject::kMapOffset)); |
__ bind(deferred->map_check()); // Label for calculating code patching. |
- __ movq(kScratchRegister, factory()->the_hole_value(), |
- RelocInfo::EMBEDDED_OBJECT); |
- __ cmpq(map, kScratchRegister); // Patched to cached map. |
+ Handle<JSGlobalPropertyCell> cache_cell = |
+ factory()->NewJSGlobalPropertyCell(factory()->the_hole_value()); |
+ __ movq(kScratchRegister, cache_cell, RelocInfo::GLOBAL_PROPERTY_CELL); |
+ __ cmpq(map, Operand(kScratchRegister, 0)); |
__ j(not_equal, &cache_miss, Label::kNear); |
// Patched to load either true or false. |
__ LoadRoot(ToRegister(instr->result()), Heap::kTheHoleValueRootIndex); |