Revision: 14714
Author: [email protected]
Date: Thu May 16 23:58:06 2013
Log: Fill in one-word-fillers for the unused property fields.
BUG=chromium:240056
Review URL: https://chromiumcodereview.appspot.com/15247003
Patch from Toon Verwaest <[email protected]>.
http://code.google.com/p/v8/source/detail?r=14714
Modified:
/branches/bleeding_edge/src/hydrogen.cc
=======================================
--- /branches/bleeding_edge/src/hydrogen.cc Thu May 16 07:27:39 2013
+++ /branches/bleeding_edge/src/hydrogen.cc Thu May 16 23:58:06 2013
@@ -10934,9 +10934,11 @@
boilerplate_object->map()->instance_descriptors());
int limit = boilerplate_object->map()->NumberOfOwnDescriptors();
+ int copied_fields = 0;
for (int i = 0; i < limit; i++) {
PropertyDetails details = descriptors->GetDetails(i);
if (details.type() != FIELD) continue;
+ copied_fields++;
int index = descriptors->GetFieldIndex(i);
int property_offset =
boilerplate_object->GetInObjectPropertyOffset(index);
Handle<Name> name(descriptors->GetKey(i));
@@ -10974,6 +10976,16 @@
Representation::Tagged(), property_offset));
}
}
+
+ int inobject_properties =
boilerplate_object->map()->inobject_properties();
+ HInstruction* value_instruction = AddInstruction(new(zone) HConstant(
+ factory->one_pointer_filler_map(), Representation::Tagged()));
+ for (int i = copied_fields; i < inobject_properties; i++) {
+ AddInstruction(new(zone) HStoreNamedField(
+ object_properties, factory->unknown_field_string(),
value_instruction,
+ true, Representation::Tagged(),
+ boilerplate_object->GetInObjectPropertyOffset(i)));
+ }
// Build Allocation Site Info if desired
if (create_allocation_site_info) {
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.