Precise sweeping makes zapping of garbage memory in UpdatePointer obsolete.
authorhpayer@chromium.org <hpayer@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 5 Aug 2014 12:04:58 +0000 (12:04 +0000)
committerhpayer@chromium.org <hpayer@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 5 Aug 2014 12:04:58 +0000 (12:04 +0000)
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/heap/mark-compact.cc

index d1c88c59ea5cde92287e81ec03b22f54377aed45..24cce6e81f797ee7dc230f31055b7f5bda2721a6 100644 (file)
@@ -3055,16 +3055,6 @@ static void UpdatePointer(HeapObject** address, HeapObject* object) {
         reinterpret_cast<base::AtomicWord*>(address),
         reinterpret_cast<base::AtomicWord>(object),
         reinterpret_cast<base::AtomicWord>(HeapObject::FromAddress(new_addr)));
-  } else {
-    // We have to zap this pointer, because the store buffer may overflow later,
-    // and then we have to scan the entire heap and we don't want to find
-    // spurious newspace pointers in the old space.
-    // TODO(mstarzinger): This was changed to a sentinel value to track down
-    // rare crashes, change it back to Smi::FromInt(0) later.
-    base::NoBarrier_CompareAndSwap(
-        reinterpret_cast<base::AtomicWord*>(address),
-        reinterpret_cast<base::AtomicWord>(object),
-        reinterpret_cast<base::AtomicWord>(Smi::FromInt(0x0f100d00 >> 1)));
   }
 }