Index: src/mips/stub-cache-mips.cc |
diff --git a/src/mips/stub-cache-mips.cc b/src/mips/stub-cache-mips.cc |
index a477250901c633d64da46b6d3b13697798dd6147..e7437015b036315733e29056b2d7227637ea4d1d 100644 |
--- a/src/mips/stub-cache-mips.cc |
+++ b/src/mips/stub-cache-mips.cc |
@@ -785,17 +785,12 @@ static void CompileCallLoadPropertyWithInterceptor( |
Register receiver, |
Register holder, |
Register name, |
- Handle<JSObject> holder_obj) { |
+ Handle<JSObject> holder_obj, |
+ IC::UtilityId id) { |
PushInterceptorArguments(masm, receiver, holder, name, holder_obj); |
- |
- ExternalReference ref = |
- ExternalReference(IC_Utility(IC::kLoadPropertyWithInterceptorOnly), |
- masm->isolate()); |
- __ PrepareCEntryArgs(StubCache::kInterceptorArgsLength); |
- __ PrepareCEntryFunction(ref); |
- |
- CEntryStub stub(1); |
- __ CallStub(&stub); |
+ __ CallExternalReference( |
+ ExternalReference(IC_Utility(id), masm->isolate()), |
+ StubCache::kInterceptorArgsLength); |
} |
@@ -1101,13 +1096,10 @@ class CallInterceptorCompiler BASE_EMBEDDED { |
// Save the name_ register across the call. |
__ push(name_); |
- PushInterceptorArguments(masm, receiver, holder, name_, interceptor_holder); |
+ CompileCallLoadPropertyWithInterceptor( |
+ masm, receiver, holder, name_, interceptor_holder, |
+ IC::kLoadPropertyWithInterceptorForCall); |
- __ CallExternalReference( |
- ExternalReference( |
- IC_Utility(IC::kLoadPropertyWithInterceptorForCall), |
- masm->isolate()), |
- StubCache::kInterceptorArgsLength); |
// Restore the name_ register. |
__ pop(name_); |
// Leave the internal frame. |
@@ -1123,11 +1115,9 @@ class CallInterceptorCompiler BASE_EMBEDDED { |
FrameScope scope(masm, StackFrame::INTERNAL); |
__ Push(holder, name_); |
- CompileCallLoadPropertyWithInterceptor(masm, |
- receiver, |
- holder, |
- name_, |
- holder_obj); |
+ CompileCallLoadPropertyWithInterceptor( |
+ masm, receiver, holder, name_, holder_obj, |
+ IC::kLoadPropertyWithInterceptorOnly); |
__ pop(name_); // Restore the name. |
__ pop(receiver); // Restore the holder. |
} |
@@ -1496,11 +1486,10 @@ void LoadStubCompiler::GenerateLoadInterceptor( |
// Invoke an interceptor. Note: map checks from receiver to |
// interceptor's holder has been compiled before (see a caller |
// of this method). |
- CompileCallLoadPropertyWithInterceptor(masm(), |
- receiver(), |
- holder_reg, |
- this->name(), |
- interceptor_holder); |
+ CompileCallLoadPropertyWithInterceptor( |
+ masm(), receiver(), holder_reg, this->name(), interceptor_holder, |
+ IC::kLoadPropertyWithInterceptorOnly); |
+ |
// Check if interceptor provided a value for property. If it's |
// the case, return immediately. |
Label interceptor_failed; |