Precise sweeping makes zapping of garbage memory in UpdatePointer obsolete.

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
This commit is contained in:
hpayer@chromium.org 2014-08-05 12:04:58 +00:00
parent 112e089cf7
commit a359e112c3

View File

@ -3055,16 +3055,6 @@ static void UpdatePointer(HeapObject** address, HeapObject* object) {
reinterpret_cast<base::AtomicWord*>(address), reinterpret_cast<base::AtomicWord*>(address),
reinterpret_cast<base::AtomicWord>(object), reinterpret_cast<base::AtomicWord>(object),
reinterpret_cast<base::AtomicWord>(HeapObject::FromAddress(new_addr))); 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)));
} }
} }