Index: src/runtime.cc |
diff --git a/src/runtime.cc b/src/runtime.cc |
index 5971e33082b083d6292d2957dd5ef02b1e6fb04f..568efc1083566e2b517979fd5a4a4b5ead217e43 100644 |
--- a/src/runtime.cc |
+++ b/src/runtime.cc |
@@ -3258,6 +3258,12 @@ RUNTIME_FUNCTION(Runtime_ObjectFreeze) { |
HandleScope scope(isolate); |
ASSERT(args.length() == 1); |
CONVERT_ARG_HANDLE_CHECKED(JSObject, object, 0); |
+ |
+ // %ObjectFreeze 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::Freeze(object)); |
return *result; |