649d3c10f7
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} |
||
---|---|---|
.. | ||
internal | ||
allocation.h | ||
common.h | ||
cross-thread-persistent.h | ||
custom-space.h | ||
default-platform.h | ||
DEPS | ||
ephemeron-pair.h | ||
explicit-management.h | ||
garbage-collected.h | ||
heap-consistency.h | ||
heap-state.h | ||
heap-statistics.h | ||
heap.h | ||
liveness-broker.h | ||
macros.h | ||
member.h | ||
name-provider.h | ||
object-size-trait.h | ||
OWNERS | ||
persistent.h | ||
platform.h | ||
prefinalizer.h | ||
process-heap-statistics.h | ||
README.md | ||
sentinel-pointer.h | ||
source-location.h | ||
testing.h | ||
trace-trait.h | ||
type-traits.h | ||
visitor.h |
C++ Garbage Collection
This directory provides an open-source garbage collection library for C++.
The library is under construction, meaning that all APIs in this directory are incomplete and considered unstable and should not be used.