| 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,
|
|
|