Index: src/runtime/runtime-object.cc |
diff --git a/src/runtime/runtime-object.cc b/src/runtime/runtime-object.cc |
index 18078fc78f1dc14b9b8a435cbf03c989d18d8589..617644c49efbf5199a24ad66ca7fc2ed1ce34b77 100644 |
--- a/src/runtime/runtime-object.cc |
+++ b/src/runtime/runtime-object.cc |
@@ -530,6 +530,21 @@ RUNTIME_FUNCTION(Runtime_ObjectFreeze) { |
} |
+RUNTIME_FUNCTION(Runtime_ObjectSeal) { |
+ HandleScope scope(isolate); |
+ DCHECK(args.length() == 1); |
+ CONVERT_ARG_HANDLE_CHECKED(JSObject, object, 0); |
+ |
+ // %ObjectSeal is a fast path and these cases are handled elsewhere. |
+ RUNTIME_ASSERT(!object->HasSloppyArgumentsElements() && |
+ !object->map()->is_observed() && !object->IsJSProxy()); |
+ |
+ Handle<Object> result; |
+ ASSIGN_RETURN_FAILURE_ON_EXCEPTION(isolate, result, JSObject::Seal(object)); |
+ return *result; |
+} |
+ |
+ |
RUNTIME_FUNCTION(Runtime_GetProperty) { |
HandleScope scope(isolate); |
DCHECK(args.length() == 2); |