Index: src/heap/store-buffer.cc |
diff --git a/src/heap/store-buffer.cc b/src/heap/store-buffer.cc |
index 4b94a95761774a05d3b44affed0b510caec4bbcd..278e9f2f6ee11a6835d93e6b942e26ab5e16b98d 100644 |
--- a/src/heap/store-buffer.cc |
+++ b/src/heap/store-buffer.cc |
@@ -507,33 +507,11 @@ void StoreBuffer::IteratePointersToNewSpace(ObjectSlotCallback slot_callback, |
for (HeapObject* heap_object = iterator.Next(); heap_object != NULL; |
heap_object = iterator.Next()) { |
// We iterate over objects that contain new space pointers only. |
- bool may_contain_raw_values = heap_object->MayContainRawValues(); |
- if (!may_contain_raw_values) { |
- Address obj_address = heap_object->address(); |
- Address start_address = obj_address + HeapObject::kHeaderSize; |
- Address end_address = obj_address + heap_object->Size(); |
-#if V8_DOUBLE_FIELDS_UNBOXING |
- InobjectPropertiesHelper helper(heap_object->map()); |
- bool has_only_tagged_fields = helper.all_fields_tagged(); |
- |
- if (!has_only_tagged_fields) { |
- for (Address slot = start_address; slot < end_address; |
- slot += kPointerSize) { |
- if (helper.IsTagged(slot - obj_address)) { |
- // TODO(ishell): call this once for contiguous region |
- // of tagged fields. |
- FindPointersToNewSpaceInRegion(slot, slot + kPointerSize, |
- slot_callback, clear_maps); |
- } |
- } |
- } else { |
-#endif |
- // Object has only tagged fields. |
- FindPointersToNewSpaceInRegion(start_address, end_address, |
- slot_callback, clear_maps); |
-#if V8_DOUBLE_FIELDS_UNBOXING |
- } |
-#endif |
+ if (!heap_object->MayContainRawValues()) { |
+ FindPointersToNewSpaceInRegion( |
+ heap_object->address() + HeapObject::kHeaderSize, |
+ heap_object->address() + heap_object->Size(), slot_callback, |
+ clear_maps); |
} |
} |
} |