v8/include
Omer Katz 649d3c10f7 cppgc: Handle low-address stack in write barrier.
Windows can allocate the stack at low addresses. A low-address on-stack
slot (e.g. backing store reference for Blink's on-heap collections) with
a null value would make TryGetCagedHeap falsely think that the slot
resides in a caged heap that starts at a null address.

We will still crash for low-address on-stack slots with non-null
on-stack value, since these cases are not considered valid and should
not happen.

The null value check is added only to Windows. It is not an issue on
other OSes where the stack always resides at high addresses and we
prefer to keep the write barrier as cheap as possible.

Bug: chromium:1230794, chromium:1056170
Change-Id: I07e2d178cd95edba57015d6bc6eb127a443b0589
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3069146
Commit-Queue: Omer Katz <omerkatz@chromium.org>
Reviewed-by: Anton Bikineev <bikineev@chromium.org>
Cr-Commit-Position: refs/heads/master@{#76069}
2021-08-03 23:38:19 +00:00
..
cppgc cppgc: Handle low-address stack in write barrier. 2021-08-03 23:38:19 +00:00
libplatform Step 1 (of 3-ish): Basic ETW Instrumentation in V8 2021-01-05 20:11:03 +00:00
APIDesign.md Move inspector protocol definitions to include/ 2019-06-18 17:59:36 +00:00
DEPS cppgc: Implement process-global state accessors. 2021-02-17 22:37:24 +00:00
DIR_METADATA Add DIR_METADATA files to v8. 2020-10-20 22:12:28 +00:00
js_protocol-1.2.json Move inspector protocol definitions to include/ 2019-06-18 17:59:36 +00:00
js_protocol-1.3.json Move inspector protocol definitions to include/ 2019-06-18 17:59:36 +00:00
js_protocol.pdl [inspector] Add executionContextId to Runtime.inspectRequested. 2021-07-23 08:41:03 +00:00
OWNERS Remove ulan@ from OWNERS 2021-06-08 13:10:21 +00:00
v8-cppgc.h [cppgc] Add API to query custom space sizes at last GC 2021-05-07 17:57:28 +00:00
v8-fast-api-calls.h [api][fastcall] Small TryCopyAndConvertArrayToCppBuffer fixes 2021-08-02 12:01:46 +00:00
v8-inspector-protocol.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-inspector.h Revert "[build] Separate out inspector as a shared library" 2021-07-02 16:15:20 +00:00
v8-internal.h [fastcall] Type-specialize CopyAndConvertArrayToCppBuffer 2021-07-30 10:52:12 +00:00
v8-metrics.h [wasm] Add CPU time metrics (reland) 2021-07-14 08:01:41 +00:00
v8-platform.h [Jobs]: Cleanup in v8 platform. 2021-04-07 16:00:22 +00:00
v8-profiler.h [cleanup][include] Remove redundant NOLINT annotations 2021-04-30 16:22:19 +00:00
v8-unwinder-state.h Add RISC-V backend 2021-02-09 17:06:36 +00:00
v8-util.h [cleanup][include] Remove redundant NOLINT annotations 2021-04-30 16:22:19 +00:00
v8-value-serializer-version.h Expose the ValueSerializer data format version as a compile-time constant. 2017-04-27 15:14:41 +00:00
v8-version-string.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-version.h Changed version number to 9.4 2021-07-15 08:13:36 +00:00
v8-wasm-trap-handler-posix.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-wasm-trap-handler-win.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8.h Promises: Add is_silent flag and ignore rejects when it is set 2021-07-07 08:48:00 +00:00
v8config.h [logging] Platform logging improvements 2021-08-02 14:57:09 +00:00