Index: src/stub-cache.cc |
diff --git a/src/stub-cache.cc b/src/stub-cache.cc |
index bdfb32f46014617441990e60673620c0d186d3d9..ec1a91adb40cf5a85a0a8e57bedb1e9d4618daab 100644 |
--- a/src/stub-cache.cc |
+++ b/src/stub-cache.cc |
@@ -166,68 +166,68 @@ Handle<Code> StubCache::FindStoreHandler(Handle<Name> name, |
} |
-Handle<Code> StubCache::ComputeMonomorphicLoadIC(Handle<JSObject> receiver, |
+Handle<Code> StubCache::ComputeMonomorphicLoadIC(Handle<HeapObject> receiver, |
Handle<Code> handler, |
Handle<Name> name) { |
- Handle<Code> ic = FindIC(name, receiver, Code::LOAD_IC, handler->type()); |
+ Handle<Map> map(receiver->map()); |
+ Handle<Code> ic = FindIC(name, map, Code::LOAD_IC, handler->type()); |
if (!ic.is_null()) return ic; |
LoadStubCompiler ic_compiler(isolate()); |
- ic = ic_compiler.CompileMonomorphicIC( |
- Handle<Map>(receiver->map()), handler, name); |
+ ic = ic_compiler.CompileMonomorphicIC(map, handler, name); |
- JSObject::UpdateMapCodeCache(receiver, name, ic); |
+ HeapObject::UpdateMapCodeCache(receiver, name, ic); |
return ic; |
} |
-Handle<Code> StubCache::ComputeMonomorphicKeyedLoadIC(Handle<JSObject> receiver, |
- Handle<Code> handler, |
- Handle<Name> name) { |
- Handle<Code> ic = FindIC( |
- name, receiver, Code::KEYED_LOAD_IC, handler->type()); |
+Handle<Code> StubCache::ComputeMonomorphicKeyedLoadIC( |
+ Handle<HeapObject> receiver, |
+ Handle<Code> handler, |
+ Handle<Name> name) { |
+ Handle<Map> map(receiver->map()); |
+ Handle<Code> ic = FindIC(name, map, Code::KEYED_LOAD_IC, handler->type()); |
if (!ic.is_null()) return ic; |
KeyedLoadStubCompiler ic_compiler(isolate()); |
- ic = ic_compiler.CompileMonomorphicIC( |
- Handle<Map>(receiver->map()), handler, name); |
+ ic = ic_compiler.CompileMonomorphicIC(map, handler, name); |
- JSObject::UpdateMapCodeCache(receiver, name, ic); |
+ HeapObject::UpdateMapCodeCache(receiver, name, ic); |
return ic; |
} |
-Handle<Code> StubCache::ComputeMonomorphicStoreIC(Handle<JSObject> receiver, |
+Handle<Code> StubCache::ComputeMonomorphicStoreIC(Handle<HeapObject> receiver, |
Handle<Code> handler, |
Handle<Name> name, |
StrictModeFlag strict_mode) { |
+ Handle<Map> map(receiver->map()); |
Handle<Code> ic = FindIC( |
- name, receiver, Code::STORE_IC, handler->type(), strict_mode); |
+ name, map, Code::STORE_IC, handler->type(), strict_mode); |
if (!ic.is_null()) return ic; |
StoreStubCompiler ic_compiler(isolate(), strict_mode); |
- ic = ic_compiler.CompileMonomorphicIC( |
- Handle<Map>(receiver->map()), handler, name); |
+ ic = ic_compiler.CompileMonomorphicIC(map, handler, name); |
- JSObject::UpdateMapCodeCache(receiver, name, ic); |
+ HeapObject::UpdateMapCodeCache(receiver, name, ic); |
return ic; |
} |
Handle<Code> StubCache::ComputeMonomorphicKeyedStoreIC( |
- Handle<JSObject> receiver, |
+ Handle<HeapObject> receiver, |
Handle<Code> handler, |
Handle<Name> name, |
StrictModeFlag strict_mode) { |
+ Handle<Map> map(receiver->map()); |
Handle<Code> ic = FindIC( |
- name, receiver, Code::KEYED_STORE_IC, handler->type(), strict_mode); |
+ name, map, Code::KEYED_STORE_IC, handler->type(), strict_mode); |
if (!ic.is_null()) return ic; |
KeyedStoreStubCompiler ic_compiler(isolate(), strict_mode, STANDARD_STORE); |
- ic = ic_compiler.CompileMonomorphicIC( |
- Handle<Map>(receiver->map()), handler, name); |
+ ic = ic_compiler.CompileMonomorphicIC(map, handler, name); |
- JSObject::UpdateMapCodeCache(receiver, name, ic); |
+ HeapObject::UpdateMapCodeCache(receiver, name, ic); |
return ic; |
} |
@@ -264,7 +264,7 @@ Handle<Code> StubCache::ComputeLoadNonexistent(Handle<Name> name, |
LoadStubCompiler compiler(isolate_); |
handler = |
compiler.CompileLoadNonexistent(receiver, current, cache_name, global); |
- JSObject::UpdateMapCodeCache(receiver, cache_name, handler); |
+ HeapObject::UpdateMapCodeCache(receiver, cache_name, handler); |
return handler; |
} |
@@ -289,7 +289,7 @@ Handle<Code> StubCache::ComputeLoadField(Handle<Name> name, |
LoadStubCompiler compiler(isolate_); |
Handle<Code> handler = |
compiler.CompileLoadField(receiver, holder, name, field, representation); |
- JSObject::UpdateMapCodeCache(stub_holder, name, handler); |
+ HeapObject::UpdateMapCodeCache(stub_holder, name, handler); |
return handler; |
} |
@@ -308,7 +308,7 @@ Handle<Code> StubCache::ComputeLoadCallback( |
LoadStubCompiler compiler(isolate_); |
Handle<Code> handler = |
compiler.CompileLoadCallback(receiver, holder, name, callback); |
- JSObject::UpdateMapCodeCache(stub_holder, name, handler); |
+ HeapObject::UpdateMapCodeCache(stub_holder, name, handler); |
return handler; |
} |
@@ -326,7 +326,7 @@ Handle<Code> StubCache::ComputeLoadCallback( |
LoadStubCompiler compiler(isolate_); |
Handle<Code> handler = |
compiler.CompileLoadCallback(receiver, holder, name, call_optimization); |
- JSObject::UpdateMapCodeCache(stub_holder, name, handler); |
+ HeapObject::UpdateMapCodeCache(stub_holder, name, handler); |
return handler; |
} |
@@ -343,7 +343,7 @@ Handle<Code> StubCache::ComputeLoadViaGetter(Handle<Name> name, |
LoadStubCompiler compiler(isolate_); |
Handle<Code> handler = |
compiler.CompileLoadViaGetter(receiver, holder, name, getter); |
- JSObject::UpdateMapCodeCache(stub_holder, name, handler); |
+ HeapObject::UpdateMapCodeCache(stub_holder, name, handler); |
return handler; |
} |
@@ -359,7 +359,7 @@ Handle<Code> StubCache::ComputeLoadConstant(Handle<Name> name, |
LoadStubCompiler compiler(isolate_); |
handler = compiler.CompileLoadConstant(receiver, holder, name, value); |
- JSObject::UpdateMapCodeCache(stub_holder, name, handler); |
+ HeapObject::UpdateMapCodeCache(stub_holder, name, handler); |
return handler; |
} |
@@ -376,7 +376,7 @@ Handle<Code> StubCache::ComputeLoadInterceptor(Handle<Name> name, |
LoadStubCompiler compiler(isolate_); |
Handle<Code> handler = |
compiler.CompileLoadInterceptor(receiver, holder, name); |
- JSObject::UpdateMapCodeCache(stub_holder, name, handler); |
+ HeapObject::UpdateMapCodeCache(stub_holder, name, handler); |
return handler; |
} |
@@ -399,7 +399,7 @@ Handle<Code> StubCache::ComputeLoadGlobal(Handle<Name> name, |
LoadStubCompiler compiler(isolate_); |
Handle<Code> ic = |
compiler.CompileLoadGlobal(receiver, holder, cell, name, is_dont_delete); |
- JSObject::UpdateMapCodeCache(stub_holder, name, ic); |
+ HeapObject::UpdateMapCodeCache(stub_holder, name, ic); |
return ic; |
} |
@@ -425,7 +425,7 @@ Handle<Code> StubCache::ComputeKeyedLoadField(Handle<Name> name, |
KeyedLoadStubCompiler compiler(isolate_); |
Handle<Code> handler = |
compiler.CompileLoadField(receiver, holder, name, field, representation); |
- JSObject::UpdateMapCodeCache(stub_holder, name, handler); |
+ HeapObject::UpdateMapCodeCache(stub_holder, name, handler); |
return handler; |
} |
@@ -442,7 +442,7 @@ Handle<Code> StubCache::ComputeKeyedLoadConstant(Handle<Name> name, |
KeyedLoadStubCompiler compiler(isolate_); |
handler = compiler.CompileLoadConstant(receiver, holder, name, value); |
- JSObject::UpdateMapCodeCache(stub_holder, name, handler); |
+ HeapObject::UpdateMapCodeCache(stub_holder, name, handler); |
return handler; |
} |
@@ -458,7 +458,7 @@ Handle<Code> StubCache::ComputeKeyedLoadInterceptor(Handle<Name> name, |
KeyedLoadStubCompiler compiler(isolate_); |
Handle<Code> handler = |
compiler.CompileLoadInterceptor(receiver, holder, name); |
- JSObject::UpdateMapCodeCache(stub_holder, name, handler); |
+ HeapObject::UpdateMapCodeCache(stub_holder, name, handler); |
return handler; |
} |
@@ -476,7 +476,7 @@ Handle<Code> StubCache::ComputeKeyedLoadCallback( |
KeyedLoadStubCompiler compiler(isolate_); |
Handle<Code> handler = |
compiler.CompileLoadCallback(receiver, holder, name, callback); |
- JSObject::UpdateMapCodeCache(stub_holder, name, handler); |
+ HeapObject::UpdateMapCodeCache(stub_holder, name, handler); |
return handler; |
} |
@@ -494,7 +494,7 @@ Handle<Code> StubCache::ComputeKeyedLoadCallback( |
KeyedLoadStubCompiler compiler(isolate_); |
Handle<Code> handler = |
compiler.CompileLoadCallback(receiver, holder, name, call_optimization); |
- JSObject::UpdateMapCodeCache(stub_holder, name, handler); |
+ HeapObject::UpdateMapCodeCache(stub_holder, name, handler); |
return handler; |
} |
@@ -509,7 +509,7 @@ Handle<Code> StubCache::ComputeStoreField(Handle<Name> name, |
StoreStubCompiler compiler(isolate_, strict_mode); |
Handle<Code> handler = compiler.CompileStoreField(receiver, lookup, name); |
- JSObject::UpdateMapCodeCache(receiver, name, handler); |
+ HeapObject::UpdateMapCodeCache(receiver, name, handler); |
return handler; |
} |
@@ -526,7 +526,7 @@ Handle<Code> StubCache::ComputeStoreTransition(Handle<Name> name, |
StoreStubCompiler compiler(isolate_, strict_mode); |
Handle<Code> handler = |
compiler.CompileStoreTransition(receiver, lookup, transition, name); |
- JSObject::UpdateMapCodeCache(receiver, name, handler); |
+ HeapObject::UpdateMapCodeCache(receiver, name, handler); |
return handler; |
} |
@@ -606,7 +606,7 @@ Handle<Code> StubCache::ComputeStoreGlobal(Handle<Name> name, |
Handle<Map> cell_map(isolate_->heap()->global_property_cell_map()); |
code->ReplaceNthObject(1, *cell_map, *cell); |
- JSObject::UpdateMapCodeCache(receiver, name, code); |
+ HeapObject::UpdateMapCodeCache(receiver, name, code); |
return code; |
} |
@@ -626,7 +626,7 @@ Handle<Code> StubCache::ComputeStoreCallback( |
StoreStubCompiler compiler(isolate_, strict_mode); |
Handle<Code> handler = compiler.CompileStoreCallback( |
receiver, holder, name, callback); |
- JSObject::UpdateMapCodeCache(receiver, name, handler); |
+ HeapObject::UpdateMapCodeCache(receiver, name, handler); |
return handler; |
} |
@@ -644,7 +644,7 @@ Handle<Code> StubCache::ComputeStoreCallback( |
StoreStubCompiler compiler(isolate_, strict_mode); |
Handle<Code> handler = compiler.CompileStoreCallback( |
receiver, holder, name, call_optimization); |
- JSObject::UpdateMapCodeCache(receiver, name, handler); |
+ HeapObject::UpdateMapCodeCache(receiver, name, handler); |
return handler; |
} |
@@ -661,7 +661,7 @@ Handle<Code> StubCache::ComputeStoreViaSetter(Handle<Name> name, |
StoreStubCompiler compiler(isolate_, strict_mode); |
Handle<Code> handler = compiler.CompileStoreViaSetter( |
receiver, holder, name, setter); |
- JSObject::UpdateMapCodeCache(receiver, name, handler); |
+ HeapObject::UpdateMapCodeCache(receiver, name, handler); |
return handler; |
} |
@@ -675,7 +675,7 @@ Handle<Code> StubCache::ComputeStoreInterceptor(Handle<Name> name, |
StoreStubCompiler compiler(isolate_, strict_mode); |
Handle<Code> handler = compiler.CompileStoreInterceptor(receiver, name); |
- JSObject::UpdateMapCodeCache(receiver, name, handler); |
+ HeapObject::UpdateMapCodeCache(receiver, name, handler); |
return handler; |
} |
@@ -690,7 +690,7 @@ Handle<Code> StubCache::ComputeKeyedStoreField(Handle<Name> name, |
KeyedStoreStubCompiler compiler(isolate(), strict_mode, STANDARD_STORE); |
Handle<Code> handler = compiler.CompileStoreField(receiver, lookup, name); |
- JSObject::UpdateMapCodeCache(receiver, name, handler); |
+ HeapObject::UpdateMapCodeCache(receiver, name, handler); |
return handler; |
} |
@@ -708,7 +708,7 @@ Handle<Code> StubCache::ComputeKeyedStoreTransition( |
KeyedStoreStubCompiler compiler(isolate(), strict_mode, STANDARD_STORE); |
Handle<Code> handler = |
compiler.CompileStoreTransition(receiver, lookup, transition, name); |
- JSObject::UpdateMapCodeCache(receiver, name, handler); |
+ HeapObject::UpdateMapCodeCache(receiver, name, handler); |
return handler; |
} |
@@ -765,7 +765,7 @@ Handle<Code> StubCache::ComputeCallConstant(int argc, |
GDBJIT(AddCode(GDBJITInterface::CALL_IC, *name, *code)); |
if (CallStubCompiler::CanBeCached(function)) { |
- JSObject::UpdateMapCodeCache(stub_holder, name, code); |
+ HeapObject::UpdateMapCodeCache(stub_holder, name, code); |
} |
return code; |
} |
@@ -806,7 +806,7 @@ Handle<Code> StubCache::ComputeCallField(int argc, |
PROFILE(isolate_, |
CodeCreateEvent(CALL_LOGGER_TAG(kind, CALL_IC_TAG), *code, *name)); |
GDBJIT(AddCode(GDBJITInterface::CALL_IC, *name, *code)); |
- JSObject::UpdateMapCodeCache(stub_holder, name, code); |
+ HeapObject::UpdateMapCodeCache(stub_holder, name, code); |
return code; |
} |
@@ -845,7 +845,7 @@ Handle<Code> StubCache::ComputeCallInterceptor(int argc, |
PROFILE(isolate(), |
CodeCreateEvent(CALL_LOGGER_TAG(kind, CALL_IC_TAG), *code, *name)); |
GDBJIT(AddCode(GDBJITInterface::CALL_IC, *name, *code)); |
- JSObject::UpdateMapCodeCache(stub_holder, name, code); |
+ HeapObject::UpdateMapCodeCache(stub_holder, name, code); |
return code; |
} |
@@ -876,7 +876,7 @@ Handle<Code> StubCache::ComputeCallGlobal(int argc, |
CodeCreateEvent(CALL_LOGGER_TAG(kind, CALL_IC_TAG), *code, *name)); |
GDBJIT(AddCode(GDBJITInterface::CALL_IC, *name, *code)); |
if (CallStubCompiler::CanBeCached(function)) { |
- JSObject::UpdateMapCodeCache(stub_holder, name, code); |
+ HeapObject::UpdateMapCodeCache(stub_holder, name, code); |
} |
return code; |
} |