Support merging with distinct attributes.
authorverwaest@chromium.org <verwaest@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 8 May 2013 14:40:36 +0000 (14:40 +0000)
committerverwaest@chromium.org <verwaest@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 8 May 2013 14:40:36 +0000 (14:40 +0000)
R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14756012

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

src/objects.cc

index efbebcf..ddf0eff 100644 (file)
@@ -7293,7 +7293,6 @@ MaybeObject* DescriptorArray::Merge(int verbatim,
     Name* key = GetKey(descriptor);
     PropertyDetails details = GetDetails(descriptor);
     PropertyDetails other_details = other->GetDetails(descriptor);
-    ASSERT(details.attributes() == other_details.attributes());
 
     if (details.type() == FIELD || other_details.type() == FIELD ||
         (details.type() == CONSTANT_FUNCTION &&
@@ -7303,7 +7302,7 @@ MaybeObject* DescriptorArray::Merge(int verbatim,
           details.representation().generalize(other_details.representation());
       FieldDescriptor d(key,
                         current_offset++,
-                        details.attributes(),
+                        other_details.attributes(),
                         representation);
       result->Set(descriptor, &d, witness);
     } else {