| Index: src/ic.cc
|
| diff --git a/src/ic.cc b/src/ic.cc
|
| index f464c2043b2372a35e0fe90d93f5731574c9bf77..b091dc1f5d993caec8f3b9b93f5efde693209804 100644
|
| --- a/src/ic.cc
|
| +++ b/src/ic.cc
|
| @@ -2476,6 +2476,24 @@ RUNTIME_FUNCTION(MaybeObject*, KeyedStoreIC_MissForceGeneric) {
|
| }
|
|
|
|
|
| +RUNTIME_FUNCTION(MaybeObject*, ElementsTransitionAndStoreIC_Miss) {
|
| + SealHandleScope scope(isolate);
|
| + ASSERT(args.length() == 4);
|
| + KeyedStoreIC ic(IC::NO_EXTRA_FRAME, isolate);
|
| + Code::ExtraICState extra_ic_state = ic.target()->extra_ic_state();
|
| + Handle<Object> value = args.at<Object>(0);
|
| + Handle<Object> key = args.at<Object>(2);
|
| + Handle<Object> object = args.at<Object>(3);
|
| + StrictModeFlag strict_mode = Code::GetStrictMode(extra_ic_state);
|
| + return Runtime::SetObjectProperty(isolate,
|
| + object,
|
| + key,
|
| + value,
|
| + NONE,
|
| + strict_mode);
|
| +}
|
| +
|
| +
|
| void BinaryOpIC::patch(Code* code) {
|
| set_target(code);
|
| }
|
|
|