| Index: src/arm/stub-cache-arm.cc | 
| diff --git a/src/arm/stub-cache-arm.cc b/src/arm/stub-cache-arm.cc | 
| index 831268e3351c999323b5fcc76fb8895b7d608443..9b2ba53bde0aa1b1f388922db8dac18e42a95a36 100644 | 
| --- a/src/arm/stub-cache-arm.cc | 
| +++ b/src/arm/stub-cache-arm.cc | 
| @@ -1308,14 +1308,14 @@ void StoreStubCompiler::HandlerFrontendFooter(Handle<Name> name, Label* miss) { | 
|  | 
|  | 
| Register LoadStubCompiler::CallbackHandlerFrontend( | 
| -    Handle<Object> object, | 
| +    Handle<Type> type, | 
| Register object_reg, | 
| Handle<JSObject> holder, | 
| Handle<Name> name, | 
| Handle<Object> callback) { | 
| Label miss; | 
|  | 
| -  Register reg = HandlerFrontendHeader(object, object_reg, holder, name, &miss); | 
| +  Register reg = HandlerFrontendHeader(type, object_reg, holder, name, &miss); | 
|  | 
| if (!holder->HasFastProperties() && !holder->IsJSGlobalObject()) { | 
| ASSERT(!reg.is(scratch2())); | 
| @@ -2800,7 +2800,8 @@ Handle<Code> StoreStubCompiler::CompileStoreCallback( | 
| Handle<JSObject> holder, | 
| Handle<Name> name, | 
| Handle<ExecutableAccessorInfo> callback) { | 
| -  HandlerFrontend(object, receiver(), holder, name); | 
| +  HandlerFrontend(IC::CurrentTypeOf(object, isolate()), | 
| +                  receiver(), holder, name); | 
|  | 
| // Stub never generated for non-global objects that require access checks. | 
| ASSERT(holder->IsJSGlobalProxy() || !holder->IsAccessCheckNeeded()); | 
| @@ -2826,7 +2827,8 @@ Handle<Code> StoreStubCompiler::CompileStoreCallback( | 
| Handle<JSObject> holder, | 
| Handle<Name> name, | 
| const CallOptimization& call_optimization) { | 
| -  HandlerFrontend(object, receiver(), holder, name); | 
| +  HandlerFrontend(IC::CurrentTypeOf(object, isolate()), | 
| +                  receiver(), holder, name); | 
|  | 
| Register values[] = { value() }; | 
| GenerateFastApiCall( | 
| @@ -2920,12 +2922,10 @@ Handle<Code> StoreStubCompiler::CompileStoreInterceptor( | 
| } | 
|  | 
|  | 
| -Handle<Code> LoadStubCompiler::CompileLoadNonexistent( | 
| -    Handle<Object> object, | 
| -    Handle<JSObject> last, | 
| -    Handle<Name> name, | 
| -    Handle<JSGlobalObject> global) { | 
| -  NonexistentHandlerFrontend(object, last, name, global); | 
| +Handle<Code> LoadStubCompiler::CompileLoadNonexistent(Handle<Type> type, | 
| +                                                      Handle<JSObject> last, | 
| +                                                      Handle<Name> name) { | 
| +  NonexistentHandlerFrontend(type, last, name); | 
|  | 
| // Return undefined if maps of the full prototype chain are still the | 
| // same and no global property with this name contains a value. | 
| @@ -3021,14 +3021,14 @@ void LoadStubCompiler::GenerateLoadViaGetter(MacroAssembler* masm, | 
|  | 
|  | 
| Handle<Code> LoadStubCompiler::CompileLoadGlobal( | 
| -    Handle<Object> object, | 
| +    Handle<Type> type, | 
| Handle<GlobalObject> global, | 
| Handle<PropertyCell> cell, | 
| Handle<Name> name, | 
| bool is_dont_delete) { | 
| Label miss; | 
|  | 
| -  HandlerFrontendHeader(object, receiver(), global, name, &miss); | 
| +  HandlerFrontendHeader(type, receiver(), global, name, &miss); | 
|  | 
| // Get the value from the cell. | 
| __ mov(r3, Operand(cell)); | 
|  |