Commit abc0c276 authored by verwaest@chromium.org's avatar verwaest@chromium.org

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
parent 4c2c6654
...@@ -6183,6 +6183,8 @@ MaybeObject* Map::CopyReplaceDescriptors(DescriptorArray* descriptors, ...@@ -6183,6 +6183,8 @@ MaybeObject* Map::CopyReplaceDescriptors(DescriptorArray* descriptors,
set_transitions(transitions); set_transitions(transitions);
result->SetBackPointer(this); result->SetBackPointer(this);
} else {
descriptors->InitializeRepresentations(Representation::Tagged());
} }
return result; return result;
...@@ -6220,6 +6222,8 @@ MaybeObject* Map::CopyInstallDescriptors(int new_descriptor, ...@@ -6220,6 +6222,8 @@ MaybeObject* Map::CopyInstallDescriptors(int new_descriptor,
set_transitions(transitions); set_transitions(transitions);
result->SetBackPointer(this); result->SetBackPointer(this);
} else {
descriptors->InitializeRepresentations(Representation::Tagged());
} }
return result; return result;
...@@ -6294,8 +6298,6 @@ MaybeObject* Map::CopyWithPreallocatedFieldDescriptors() { ...@@ -6294,8 +6298,6 @@ MaybeObject* Map::CopyWithPreallocatedFieldDescriptors() {
descriptors->CopyUpTo(number_of_own_descriptors); descriptors->CopyUpTo(number_of_own_descriptors);
if (!maybe_descriptors->To(&new_descriptors)) return maybe_descriptors; if (!maybe_descriptors->To(&new_descriptors)) return maybe_descriptors;
new_descriptors->InitializeRepresentations(Representation::Tagged());
return CopyReplaceDescriptors(new_descriptors, NULL, OMIT_TRANSITION, 0); return CopyReplaceDescriptors(new_descriptors, NULL, OMIT_TRANSITION, 0);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment