Index: src/runtime.cc |
diff --git a/src/runtime.cc b/src/runtime.cc |
index 6e045608b9c10d19178a4ee1f5308e9e2e214123..3bb09f3e5c8ad0bc4a44661cd3915077619c0c52 100644 |
--- a/src/runtime.cc |
+++ b/src/runtime.cc |
@@ -5157,6 +5157,40 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_TransitionElementsKind) { |
} |
+RUNTIME_FUNCTION(MaybeObject*, Runtime_ElementsTransitionAndStoreStrict) { |
+ SealHandleScope scope(isolate); |
+ RUNTIME_ASSERT(args.length() == 4); |
+ |
+ Handle<Object> value = args.at<Object>(0); |
+ Handle<Object> key = args.at<Object>(2); |
+ Handle<Object> object = args.at<Object>(3); |
+ |
+ return Runtime::SetObjectProperty(isolate, |
+ object, |
+ key, |
+ value, |
+ NONE, |
+ kStrictMode); |
+} |
+ |
+ |
+RUNTIME_FUNCTION(MaybeObject*, Runtime_ElementsTransitionAndStoreNonStrict) { |
+ SealHandleScope scope(isolate); |
+ RUNTIME_ASSERT(args.length() == 4); |
+ |
+ Handle<Object> value = args.at<Object>(0); |
+ Handle<Object> key = args.at<Object>(2); |
+ Handle<Object> object = args.at<Object>(3); |
+ |
+ return Runtime::SetObjectProperty(isolate, |
+ object, |
+ key, |
+ value, |
+ NONE, |
+ kNonStrictMode); |
+} |
+ |
+ |
RUNTIME_FUNCTION(MaybeObject*, Runtime_TransitionElementsSmiToDouble) { |
SealHandleScope shs(isolate); |
RUNTIME_ASSERT(args.length() == 1); |