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.


Reply via email to