Index: src/x64/lithium-codegen-x64.cc |
=================================================================== |
--- src/x64/lithium-codegen-x64.cc (revision 6512) |
+++ src/x64/lithium-codegen-x64.cc (working copy) |
@@ -1517,7 +1517,9 @@ |
void LCodeGen::DoGlobalReceiver(LGlobalReceiver* instr) { |
- Abort("Unimplemented: %s", "DoGlobalReceiver"); |
+ Register result = ToRegister(instr->result()); |
+ __ movq(result, Operand(rsi, Context::SlotOffset(Context::GLOBAL_INDEX))); |
+ __ movq(result, FieldOperand(result, GlobalObject::kGlobalReceiverOffset)); |
} |
@@ -1820,7 +1822,10 @@ |
void LCodeGen::DoCheckFunction(LCheckFunction* instr) { |
- Abort("Unimplemented: %s", "DoCheckFunction"); |
+ ASSERT(instr->InputAt(0)->IsRegister()); |
+ Register reg = ToRegister(instr->InputAt(0)); |
+ __ Cmp(reg, instr->hydrogen()->target()); |
+ DeoptimizeIf(not_equal, instr->environment()); |
} |