Fix assert in Runtime_SetIsObserved.
authormstarzinger@chromium.org <mstarzinger@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 2 Apr 2014 14:47:26 +0000 (14:47 +0000)
committermstarzinger@chromium.org <mstarzinger@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 2 Apr 2014 14:47:26 +0000 (14:47 +0000)
R=rafaelw@chromium.org
BUG=chromium:352664
LOG=N

Review URL: https://codereview.chromium.org/204493002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/objects.cc
src/runtime.cc

index 290eb60..f2a4010 100644 (file)
@@ -5645,11 +5645,9 @@ Handle<Object> JSObject::Freeze(Handle<JSObject> object) {
 
 
 void JSObject::SetObserved(Handle<JSObject> object) {
+  ASSERT(!object->map()->is_observed());
   Isolate* isolate = object->GetIsolate();
 
-  if (object->map()->is_observed())
-    return;
-
   LookupResult result(isolate);
   object->map()->LookupTransition(*object,
                                   isolate->heap()->observed_symbol(),
index 562848a..215c4eb 100644 (file)
@@ -14882,8 +14882,6 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_SetIsObserved) {
   if (obj->IsJSProxy())
     return isolate->heap()->undefined_value();
 
-  ASSERT(!(obj->map()->is_observed() && obj->IsJSObject() &&
-           Handle<JSObject>::cast(obj)->HasFastElements()));
   ASSERT(obj->IsJSObject());
   JSObject::SetObserved(Handle<JSObject>::cast(obj));
   return isolate->heap()->undefined_value();