Index: src/mips/stub-cache-mips.cc |
diff --git a/src/mips/stub-cache-mips.cc b/src/mips/stub-cache-mips.cc |
index 361e67f4ca7b03b663db17b5b695594b955f568c..cddf1e721cbe9db042e72cd62881347cd58eed60 100644 |
--- a/src/mips/stub-cache-mips.cc |
+++ b/src/mips/stub-cache-mips.cc |
@@ -2337,23 +2337,11 @@ void StubCompiler::GenerateBooleanCheck(Register object, Label* miss) { |
} |
-void CallStubCompiler::PatchGlobalProxy(Handle<Object> object, |
- Handle<JSFunction> function) { |
+void CallStubCompiler::PatchImplicitReceiver(Handle<Object> object) { |
if (object->IsGlobalObject()) { |
const int argc = arguments().immediate(); |
const int receiver_offset = argc * kPointerSize; |
- __ li(a3, handle(function->context()->global_proxy())); |
- __ sw(a3, MemOperand(sp, receiver_offset)); |
- } |
-} |
- |
- |
-void CallStubCompiler::PatchGlobalProxy(Handle<Object> object, |
- Register function) { |
- if (object->IsGlobalObject()) { |
- FetchGlobalProxy(masm(), a3, function); |
- const int argc = arguments().immediate(); |
- const int receiver_offset = argc * kPointerSize; |
+ __ LoadRoot(a3, Heap::kUndefinedValueRootIndex); |
__ sw(a3, MemOperand(sp, receiver_offset)); |
} |
} |
@@ -2452,7 +2440,8 @@ void CallStubCompiler::GenerateJumpFunction(Handle<Object> object, |
ASSERT(function.is(a1)); |
// Check that the function really is a function. |
GenerateFunctionCheck(function, a3, miss); |
- PatchGlobalProxy(object, function); |
+ PatchImplicitReceiver(object); |
+ |
// Invoke the function. |
__ InvokeFunction(a1, arguments(), JUMP_FUNCTION, |
NullCallWrapper(), call_kind()); |
@@ -2570,15 +2559,6 @@ Handle<Code> StoreStubCompiler::CompileStoreCallback( |
#define __ ACCESS_MASM(masm) |
-void CallStubCompiler::FetchGlobalProxy(MacroAssembler* masm, |
- Register target, |
- Register function) { |
- __ lw(target, FieldMemOperand(function, JSFunction::kContextOffset)); |
- __ lw(target, ContextOperand(target, Context::GLOBAL_OBJECT_INDEX)); |
- __ lw(target, FieldMemOperand(target, GlobalObject::kGlobalReceiverOffset)); |
-} |
- |
- |
void StoreStubCompiler::GenerateStoreViaSetter( |
MacroAssembler* masm, |
Handle<JSFunction> setter) { |