| Index: src/x64/lithium-codegen-x64.cc
|
| diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc
|
| index 6239acb51531d1f39ecfd1e247315736e82c3e29..f10cf8529af2c3aa7fd898a5c6ffc42cfb0825bf 100644
|
| --- a/src/x64/lithium-codegen-x64.cc
|
| +++ b/src/x64/lithium-codegen-x64.cc
|
| @@ -1897,9 +1897,10 @@ void LCodeGen::DoInstanceOfKnownGlobal(LInstanceOfKnownGlobal* instr) {
|
| 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);
|
|
|