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:
parent
112e089cf7
commit
a359e112c3
@ -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)));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user