Do deferred migration of maps after deoptimizing once.

BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
hpayer@chromium.org 2013-11-21 09:16:34 +00:00
parent 96c9095f3b
commit df35c0e4d3

View File

@ -2784,7 +2784,6 @@ Handle<Map> Map::GeneralizeRepresentation(Handle<Map> old_map,
Handle<Map> new_map = split_map;
for (; descriptor < descriptors; descriptor++) {
new_map = Map::CopyInstallDescriptors(new_map, descriptor, new_descriptors);
new_map->set_migration_target(true);
}
new_map->set_owns_descriptors(true);
@ -3875,6 +3874,7 @@ void JSObject::MigrateInstance(Handle<JSObject> object) {
Handle<Map> original_map(object->map());
GeneralizeFieldRepresentation(
object, 0, Representation::None(), ALLOW_AS_CONSTANT);
object->map()->set_migration_target(true);
if (FLAG_trace_migration) {
object->PrintInstanceMigration(stdout, *original_map, object->map());
}