Chromium Code Reviews| Index: src/profile-generator.cc |
| =================================================================== |
| --- src/profile-generator.cc (revision 11964) |
| +++ src/profile-generator.cc (working copy) |
| @@ -2182,16 +2182,33 @@ |
| switch (descs->GetType(i)) { |
| case FIELD: { |
| int index = descs->GetFieldIndex(i); |
| + |
| + String* k = descs->GetKey(i); |
| if (index < js_obj->map()->inobject_properties()) { |
| - SetPropertyReference( |
| - js_obj, entry, |
| - descs->GetKey(i), js_obj->InObjectPropertyAt(index), |
| - NULL, |
| - js_obj->GetInObjectPropertyOffset(index)); |
| + Object* value = js_obj->InObjectPropertyAt(index); |
| + if (k->length() > 0) { |
|
Vyacheslav Egorov (Google)
2012/07/02 12:12:45
Consider comparing against Heap::hidden_symbol()
yurys
2012/07/02 12:43:27
Done.
|
| + SetPropertyReference( |
| + js_obj, entry, |
| + k, value, |
| + NULL, |
| + js_obj->GetInObjectPropertyOffset(index)); |
| + } else { |
| + OS::Print("Empty name for fast property 1\n"); |
|
Vyacheslav Egorov (Google)
2012/07/02 12:12:45
remove OS::Print
yurys
2012/07/02 12:43:27
Done.
|
| + TagObject(value, "(hidden properties)"); |
| + SetInternalReference( |
| + js_obj, entry, |
| + "hidden_properties", value, |
| + js_obj->GetInObjectPropertyOffset(index)); |
| + } |
| } else { |
| - SetPropertyReference( |
| - js_obj, entry, |
| - descs->GetKey(i), js_obj->FastPropertyAt(index)); |
| + Object* value = js_obj->FastPropertyAt(index); |
| + if (k->length() > 0) { |
|
Vyacheslav Egorov (Google)
2012/07/02 12:12:45
Consider comparing against Heap::hidden_symbol
yurys
2012/07/02 12:43:27
Done.
|
| + SetPropertyReference(js_obj, entry, k, value); |
| + } else { |
| + OS::Print("Empty name for fast property 2\n"); |
|
Vyacheslav Egorov (Google)
2012/07/02 12:12:45
remove OS::Print
yurys
2012/07/02 12:43:27
Done.
|
| + TagObject(value, "(hidden properties)"); |
| + SetInternalReference(js_obj, entry, "hidden_properties", value); |
| + } |
| } |
| break; |
| } |