Revert r24737 "Read object pointer atomically while updating slots"
That broke webkit_unit_tests on ARM64. BUG=chromium:427746 LOG=Y R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/683113003 Cr-Commit-Position: refs/heads/master@{#24955} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
60f71a9bd6
commit
3dd84762ab
@ -2926,8 +2926,7 @@ class PointersUpdatingVisitor : public ObjectVisitor {
|
||||
}
|
||||
|
||||
static inline void UpdateSlot(Heap* heap, Object** slot) {
|
||||
Object* obj = reinterpret_cast<Object*>(
|
||||
base::NoBarrier_Load(reinterpret_cast<base::AtomicWord*>(slot)));
|
||||
Object* obj = *slot;
|
||||
|
||||
if (!obj->IsHeapObject()) return;
|
||||
|
||||
@ -2938,10 +2937,7 @@ class PointersUpdatingVisitor : public ObjectVisitor {
|
||||
DCHECK(heap->InFromSpace(heap_obj) ||
|
||||
MarkCompactCollector::IsOnEvacuationCandidate(heap_obj));
|
||||
HeapObject* target = map_word.ToForwardingAddress();
|
||||
base::NoBarrier_CompareAndSwap(
|
||||
reinterpret_cast<base::AtomicWord*>(slot),
|
||||
reinterpret_cast<base::AtomicWord>(obj),
|
||||
reinterpret_cast<base::AtomicWord>(target));
|
||||
*slot = target;
|
||||
DCHECK(!heap->InFromSpace(target) &&
|
||||
!MarkCompactCollector::IsOnEvacuationCandidate(target));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user