summaryrefslogtreecommitdiff
path: root/deps/v8/src/heap/heap-write-barrier-inl.h
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2021-08-29 14:20:49 +0200
committerMichaël Zasso <targos@protonmail.com>2021-08-30 21:02:51 +0200
commit50930a0fa08297d0ce7e67fa6594fe47937b99ff (patch)
tree96bd30c0c63790bc1992a2f241a3df94d563b283 /deps/v8/src/heap/heap-write-barrier-inl.h
parentb63e449b2eade1111b52f6559669400a4e855903 (diff)
downloadnode-new-50930a0fa08297d0ce7e67fa6594fe47937b99ff.tar.gz
deps: update V8 to 9.3.345.16
PR-URL: https://github.com/nodejs/node/pull/39469 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Diffstat (limited to 'deps/v8/src/heap/heap-write-barrier-inl.h')
-rw-r--r--deps/v8/src/heap/heap-write-barrier-inl.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/deps/v8/src/heap/heap-write-barrier-inl.h b/deps/v8/src/heap/heap-write-barrier-inl.h
index 4eaea5b461..1e651d5fc0 100644
--- a/deps/v8/src/heap/heap-write-barrier-inl.h
+++ b/deps/v8/src/heap/heap-write-barrier-inl.h
@@ -23,6 +23,8 @@ namespace internal {
// Defined in heap.cc.
V8_EXPORT_PRIVATE bool Heap_PageFlagsAreConsistent(HeapObject object);
+V8_EXPORT_PRIVATE bool Heap_ValueMightRequireGenerationalWriteBarrier(
+ HeapObject value);
V8_EXPORT_PRIVATE void Heap_GenerationalBarrierSlow(HeapObject object,
Address slot,
HeapObject value);
@@ -135,11 +137,16 @@ inline void GenerationalBarrier(HeapObject object, ObjectSlot slot,
}
inline void GenerationalBarrier(HeapObject object, ObjectSlot slot,
+ Code value) {
+ if (V8_ENABLE_THIRD_PARTY_HEAP_BOOL) return;
+ DCHECK(!Heap_ValueMightRequireGenerationalWriteBarrier(value));
+}
+
+inline void GenerationalBarrier(HeapObject object, ObjectSlot slot,
HeapObject value) {
if (V8_ENABLE_THIRD_PARTY_HEAP_BOOL) return;
DCHECK(!HasWeakHeapObjectTag(*slot));
- heap_internals::GenerationalBarrierInternal(object, slot.address(),
- HeapObject::cast(value));
+ heap_internals::GenerationalBarrierInternal(object, slot.address(), value);
}
inline void GenerationalEphemeronKeyBarrier(EphemeronHashTable table,