Make sure to clear any previously collected field maps.

TEST=http://www.chaostoperfection.com/
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
bmeurer@chromium.org 2014-04-22 08:34:44 +00:00
parent c9db6148a9
commit 7ab274d4f5

View File

@ -5574,15 +5574,15 @@ bool HOptimizedGraphBuilder::PropertyAccessInfo::LoadResult(Handle<Map> map) {
void HOptimizedGraphBuilder::PropertyAccessInfo::LoadFieldMaps(
Handle<Map> map) {
// Clear any previously collected field maps.
field_maps_.Clear();
// Figure out the field type from the accessor map.
Handle<HeapType> field_type(lookup_.GetFieldTypeFromMap(*map), isolate());
// Collect the (stable) maps from the field type.
int num_field_maps = field_type->NumClasses();
if (num_field_maps == 0) {
field_maps_.Clear();
return;
}
if (num_field_maps == 0) return;
ASSERT(access_.representation().IsHeapObject());
field_maps_.Reserve(num_field_maps, zone());
HeapType::Iterator<Map> it = field_type->Classes();