Always generalize all representations when no transition is inserted.

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14594 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
verwaest@chromium.org 2013-05-08 14:19:48 +00:00
parent 4c2c665420
commit abc0c2767e

View File

@ -6183,6 +6183,8 @@ MaybeObject* Map::CopyReplaceDescriptors(DescriptorArray* descriptors,
set_transitions(transitions);
result->SetBackPointer(this);
} else {
descriptors->InitializeRepresentations(Representation::Tagged());
}
return result;
@ -6220,6 +6222,8 @@ MaybeObject* Map::CopyInstallDescriptors(int new_descriptor,
set_transitions(transitions);
result->SetBackPointer(this);
} else {
descriptors->InitializeRepresentations(Representation::Tagged());
}
return result;
@ -6294,8 +6298,6 @@ MaybeObject* Map::CopyWithPreallocatedFieldDescriptors() {
descriptors->CopyUpTo(number_of_own_descriptors);
if (!maybe_descriptors->To(&new_descriptors)) return maybe_descriptors;
new_descriptors->InitializeRepresentations(Representation::Tagged());
return CopyReplaceDescriptors(new_descriptors, NULL, OMIT_TRANSITION, 0);
}