24ca73004e
Introduces a slim write barrier for Oilpan behind `cppgc_enable_slim_write_barrier` that is enabled by default. The slim write barrier only performs a single approximate global check for whether the write barrier is needed and delegates all other checks to a slow path call. This is beneficial in configurations that do not need many checks for the barrier overall, i.e., configurations without young generation. Young generation is off by default which is why this approach is beneficial. On Speedometer the write barrier is hit 75M times with a fast bailout of 99.3%. Progression on Speedometer2 is somewhere around 0.2-0.5%. The resulting code embedded in another function is only 34 bytes compared to 128 bytes before. See attached bug for detailed assembly snippet. Change-Id: I6869513186e7a26104c46f1f2ac2cfa855689f64 Bug: chromium:1406464 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4152488 Reviewed-by: Anton Bikineev <bikineev@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#85232} |
||
---|---|---|
.. | ||
OWNERS | ||
proto_library.gni | ||
protoc.py | ||
release_branch_toggle.gni | ||
snapshot_toolchain.gni | ||
split_static_library.gni | ||
v8.cml | ||
v8.gni |