aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/src/heap/incremental-marking-inl.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/heap/incremental-marking-inl.h')
-rw-r--r--deps/v8/src/heap/incremental-marking-inl.h22
1 files changed, 10 insertions, 12 deletions
diff --git a/deps/v8/src/heap/incremental-marking-inl.h b/deps/v8/src/heap/incremental-marking-inl.h
index e19d62f4d4..7df67d3d27 100644
--- a/deps/v8/src/heap/incremental-marking-inl.h
+++ b/deps/v8/src/heap/incremental-marking-inl.h
@@ -15,7 +15,7 @@
namespace v8 {
namespace internal {
-void IncrementalMarking::TransferColor(HeapObject* from, HeapObject* to) {
+void IncrementalMarking::TransferColor(HeapObject from, HeapObject to) {
if (atomic_marking_state()->IsBlack(to)) {
DCHECK(black_allocation());
return;
@@ -33,25 +33,23 @@ void IncrementalMarking::TransferColor(HeapObject* from, HeapObject* to) {
}
}
-void IncrementalMarking::RecordWrite(HeapObject* obj, Object** slot,
- Object* value) {
- DCHECK_IMPLIES(slot != nullptr, !HasWeakHeapObjectTag(*slot));
+void IncrementalMarking::RecordWrite(HeapObject obj, ObjectSlot slot,
+ Object value) {
+ DCHECK_IMPLIES(slot.address() != kNullAddress, !HasWeakHeapObjectTag(*slot));
DCHECK(!HasWeakHeapObjectTag(value));
if (IsMarking() && value->IsHeapObject()) {
- RecordWriteSlow(obj, reinterpret_cast<HeapObjectReference**>(slot),
- HeapObject::cast(value));
+ RecordWriteSlow(obj, HeapObjectSlot(slot), HeapObject::cast(value));
}
}
-void IncrementalMarking::RecordMaybeWeakWrite(HeapObject* obj,
- MaybeObject** slot,
- MaybeObject* value) {
+void IncrementalMarking::RecordMaybeWeakWrite(HeapObject obj,
+ MaybeObjectSlot slot,
+ MaybeObject value) {
// When writing a weak reference, treat it as strong for the purposes of the
// marking barrier.
- HeapObject* heap_object;
+ HeapObject heap_object;
if (IsMarking() && value->GetHeapObject(&heap_object)) {
- RecordWriteSlow(obj, reinterpret_cast<HeapObjectReference**>(slot),
- heap_object);
+ RecordWriteSlow(obj, HeapObjectSlot(slot), heap_object);
}
}