Index: src/stub-cache.cc |
diff --git a/src/stub-cache.cc b/src/stub-cache.cc |
index b312b1e078bceefc82a6ef8428fda5c2744f5678..f83a7d2a88f6eabbc472f65e6471416a01a5bbac 100644 |
--- a/src/stub-cache.cc |
+++ b/src/stub-cache.cc |
@@ -631,6 +631,24 @@ Handle<Code> StubCache::ComputeStoreCallback( |
} |
+Handle<Code> StubCache::ComputeStoreCallback( |
+ Handle<Name> name, |
+ Handle<JSObject> receiver, |
+ Handle<JSObject> holder, |
+ const CallOptimization& call_optimization, |
+ StrictModeFlag strict_mode) { |
+ Handle<Code> stub = FindStoreHandler( |
+ name, receiver, Code::STORE_IC, Code::CALLBACKS, strict_mode); |
+ if (!stub.is_null()) return stub; |
+ |
+ StoreStubCompiler compiler(isolate_, strict_mode); |
+ Handle<Code> handler = compiler.CompileStoreCallback( |
+ receiver, holder, name, call_optimization); |
+ JSObject::UpdateMapCodeCache(receiver, name, handler); |
+ return handler; |
+} |
+ |
+ |
Handle<Code> StubCache::ComputeStoreViaSetter(Handle<Name> name, |
Handle<JSObject> receiver, |
Handle<JSObject> holder, |