Index: src/x64/full-codegen-x64.cc |
diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc |
index 99206b97ed8b66deef2204fcae5a1664cf80440c..a56f22388484b0b0ef1414c1d933dafcf818d7e4 100644 |
--- a/src/x64/full-codegen-x64.cc |
+++ b/src/x64/full-codegen-x64.cc |
@@ -2746,11 +2746,11 @@ void FullCodeGenerator::VisitCall(Call* expr) { |
{ PreservePositionScope scope(masm()->positions_recorder()); |
VisitForStackValue(callee); |
} |
- // Push the hole as receiver. |
- // It will be correctly replaced in the call stub. |
- __ PushRoot(Heap::kTheHoleValueRootIndex); |
+ // Load global receiver object. |
+ __ movq(rbx, GlobalObjectOperand()); |
+ __ push(FieldOperand(rbx, GlobalObject::kGlobalReceiverOffset)); |
// Emit function call. |
- EmitCallWithStub(expr, RECEIVER_IS_IMPLICIT); |
+ EmitCallWithStub(expr, NO_CALL_FUNCTION_FLAGS); |
} |
#ifdef DEBUG |