v8/test/unittests
Michael Lippautz 057ffb820e heap: Emit write barrier when setting internal fields
Internal fields are used for implementing edges to C++ objects in
Oilpan. When setting the fields on a JS API object, we should also
emit a write barrier for this edge.

This mechanism replaces the explicit write barrier in V8's API which
is provided through `JSHeapConsistency::*`.

The internal barrier should also be slightly faster as it doesn't
require any API calls.

Bug: v8:12356
Change-Id: I639d18141acfb910d0ded8d987d8a0916e25431d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3257709
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77749}
2021-11-06 07:33:41 +00:00
..
api Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
asmjs
assembler [LOONG64] Add LoongArch64 backend 2021-08-16 13:05:19 +00:00
base Introduce v8_enable_virtual_memory_cage 2021-08-11 16:13:42 +00:00
codegen [Compiler] Remove untrusted code mitigations. 2021-08-12 12:58:24 +00:00
compiler Reland "[arm64][wasm-simd] Use Cm(0) for integer comparison with 0" 2021-10-06 12:59:27 +00:00
compiler-dispatcher [compiler-dispatcher] Focus API around SFIs, not literals 2021-11-05 10:10:11 +00:00
date
debug [inspector] Speed up DebugPropertyIterator. 2021-09-13 12:52:11 +00:00
diagnostics [gdbjit] Fix overlapping AddressRegion check 2021-08-19 17:29:57 +00:00
execution Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
heap heap: Emit write barrier when setting internal fields 2021-11-06 07:33:41 +00:00
interpreter [class] Add IC support for defining class fields to replace runtime call 2021-10-13 10:40:24 +00:00
libplatform
logging Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
numbers [fastcall] Support JSArray as arguments 2021-06-23 14:01:40 +00:00
objects [sandbox] Disallow ArrayBuffers outside the VM Cage 2021-08-25 09:52:38 +00:00
parser
profiler [cpu-profiler] Add method to estimate mem size of ProfilerCodeObserver 2021-08-23 19:07:15 +00:00
regexp [regexp] Hide the generic JSRegExp::DataAt/SetDataAt accessors 2021-09-29 11:37:41 +00:00
regress [heap] Remove Factory::NewUninitializedFixedArray 2021-04-26 13:52:38 +00:00
runtime Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
security Move heap sandbox related code into a new security/ directory 2021-10-19 12:00:34 +00:00
strings [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
tasks [compiler-dispatcher] Focus API around SFIs, not literals 2021-11-05 10:10:11 +00:00
torque [torque] Make return types required 2021-09-30 15:54:17 +00:00
utils [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
wasm [wasm-gc] Support immutable arrays 2021-10-14 12:48:27 +00:00
zone
avoid-windows-h-includes.cc Test that heap-inl.h doesn't include windows.h 2021-10-14 21:18:51 +00:00
BUILD.gn Move unified heap unittests into cppgc-js directory 2021-11-04 15:12:52 +00:00
DEPS
run-all-unittests.cc [sandbox] Disallow ArrayBuffers outside the VM Cage 2021-08-25 09:52:38 +00:00
test-helpers.cc Revert "[off-thread] Allow off-thread top-level IIFE finalization" 2021-11-01 20:47:50 +00:00
test-helpers.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-utils.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-utils.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
testcfg.py
unittests.status PPC: skip some cppgc tests as PPC page size is too large 2021-07-12 20:24:14 +00:00