Index: src/ia32/stub-cache-ia32.cc |
=================================================================== |
--- src/ia32/stub-cache-ia32.cc (revision 2106) |
+++ src/ia32/stub-cache-ia32.cc (working copy) |
@@ -322,7 +322,6 @@ |
void StubCompiler::GenerateLoadInterceptor(MacroAssembler* masm, |
JSObject* object, |
JSObject* holder, |
- Smi* lookup_hint, |
Register receiver, |
Register name, |
Register scratch1, |
@@ -341,15 +340,12 @@ |
__ push(receiver); // receiver |
__ push(reg); // holder |
__ push(name); // name |
- // TODO(367): Maybe don't push lookup_hint for LOOKUP_IN_HOLDER and/or |
- // LOOKUP_IN_PROTOTYPE, but use a special version of lookup method? |
- __ push(Immediate(lookup_hint)); |
__ push(scratch2); // restore return address |
// Do tail-call to the runtime system. |
ExternalReference load_ic_property = |
ExternalReference(IC_Utility(IC::kLoadInterceptorProperty)); |
- __ TailCallRuntime(load_ic_property, 4); |
+ __ TailCallRuntime(load_ic_property, 3); |
} |
@@ -674,12 +670,11 @@ |
__ push(edx); // receiver |
__ push(reg); // holder |
__ push(Operand(ebp, (argc + 3) * kPointerSize)); // name |
- __ push(Immediate(holder->InterceptorPropertyLookupHint(name))); |
// Perform call. |
ExternalReference load_interceptor = |
ExternalReference(IC_Utility(IC::kLoadInterceptorProperty)); |
- __ mov(eax, Immediate(4)); |
+ __ mov(eax, Immediate(3)); |
__ mov(ebx, Immediate(load_interceptor)); |
CEntryStub stub; |
@@ -979,18 +974,7 @@ |
Label miss; |
__ mov(eax, (Operand(esp, kPointerSize))); |
- // TODO(368): Compile in the whole chain: all the interceptors in |
- // prototypes and ultimate answer. |
- GenerateLoadInterceptor(masm(), |
- receiver, |
- holder, |
- holder->InterceptorPropertyLookupHint(name), |
- eax, |
- ecx, |
- edx, |
- ebx, |
- &miss); |
- |
+ GenerateLoadInterceptor(masm(), receiver, holder, eax, ecx, edx, ebx, &miss); |
__ bind(&miss); |
GenerateLoadMiss(masm(), Code::LOAD_IC); |
@@ -1105,15 +1089,7 @@ |
__ cmp(Operand(eax), Immediate(Handle<String>(name))); |
__ j(not_equal, &miss, not_taken); |
- GenerateLoadInterceptor(masm(), |
- receiver, |
- holder, |
- Smi::FromInt(JSObject::kLookupInHolder), |
- ecx, |
- eax, |
- edx, |
- ebx, |
- &miss); |
+ GenerateLoadInterceptor(masm(), receiver, holder, ecx, eax, edx, ebx, &miss); |
__ bind(&miss); |
__ DecrementCounter(&Counters::keyed_load_interceptor, 1); |
GenerateLoadMiss(masm(), Code::KEYED_LOAD_IC); |