Reviewers: Jakob,

Message:
PTAL

Description:
Bailout from CanLoadMonomorphic if a prototype with a deprecated map cannot be
migrated.

BUG=

Please review this at https://chromiumcodereview.appspot.com/49553005/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+3, -5 lines):
  M src/hydrogen.cc


Index: src/hydrogen.cc
diff --git a/src/hydrogen.cc b/src/hydrogen.cc
index 3b232e6e93ee2d307e5ea9504266825fb9f11b36..2b66903307738ad80ff1a0d50021010b2ceea0d0 100644
--- a/src/hydrogen.cc
+++ b/src/hydrogen.cc
@@ -4765,13 +4765,11 @@ bool HOptimizedGraphBuilder::PropertyAccessInfo::LookupInPrototypes() {
   while (map->prototype()->IsJSObject()) {
     holder_ = handle(JSObject::cast(map->prototype()));
     if (holder_->map()->is_deprecated()) {
-      JSObject::TryMigrateInstance(holder_);
+      Handle<Object> result = JSObject::TryMigrateInstance(holder_);
+      if (result.is_null()) return false;
     }
     map = Handle<Map>(holder_->map());
-    if (!CanInlinePropertyAccess(*map)) {
-      lookup_.NotFound();
-      return false;
-    }
+    if (!CanInlinePropertyAccess(*map)) return false;
     map->LookupDescriptor(*holder_, *name_, &lookup_);
     if (lookup_.IsFound()) return LoadResult(map);
   }


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to