v8/test
Anton Bikineev 1d3a1c6f66 cppgc: Avoid fragmentation in NormalPageMemoryRegion
NormalPageMemoryRegion is a span of 10 pages, all of which must belong
to the same space. This requirement imposes a fragmentation issue for virtual space, which is not ideal for the current 2GB cage
configuration.

The CL fixes this by mixing pages of different spaces inside the same
NormalPageMemoryRegion. With cage it's actually not necessary anymore
to have NormalPageMemoryRegion, but we keep it to allow the code to be
uniform for cage/non-cage configurations.

There is no type confusion across spaces, since pages (even empty) are
never shared between spaces. In addition, the shared cage puts an
additional memory constraint on the GC. So, there is no security benefit
in having NormalPageMemoryRegion assigned to a single space.

Savings in reserved address space:
cnn:2021: 14%
facebook_infinite_scroll:2018: 23%

Bug: chromium:1325007, chromium:1352649
Change-Id: I7b49032d581dd56feb8633734a1f37803e9526c6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3840749
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Anton Bikineev <bikineev@chromium.org>
Cr-Commit-Position: refs/heads/main@{#82584}
2022-08-19 09:13:27 +00:00
..
benchmarks [infra] Change all Python shebangs to Python3 2022-08-05 14:55:00 +00:00
bigint [test] Refactor testrunner (4) 2022-07-18 09:52:24 +00:00
cctest [heap] Remove COMPLETE state from IncrementalMarking 2022-08-19 08:45:40 +00:00
common Reland "[wasm-gc] Add extern.externalize" 2022-08-18 07:41:29 +00:00
debugger [debug] Fix source position around class literals 2022-08-16 07:16:47 +00:00
debugging [test] Refactor testrunner (4) 2022-07-18 09:52:24 +00:00
fuzzer [fuzzer][wasm-gc] Add types nullfuncref, nullexternref and nullref 2022-08-12 08:17:29 +00:00
fuzzilli [test] Refactor testrunner (4) 2022-07-18 09:52:24 +00:00
inspector [stringrefs] Support stringrefs in DevTools inspection 2022-08-17 19:12:09 +00:00
intl [Intl] Remove DateTimeFormat order check not throw RangeError 2022-07-27 05:31:00 +00:00
js-perf-test [turbofan] More benchmarks for BigInt operations 2022-08-17 08:56:08 +00:00
memory [snapshot] Fix the Memory.json benchmark 2021-04-28 07:54:34 +00:00
message [message] Improve IteratorSymbolNonCallable error message 2022-08-09 15:32:42 +00:00
mjsunit Reland "Fix Context PromiseHook behaviour with debugger enabled" 2022-08-18 20:36:37 +00:00
mkgrokdump [test] Refactor testrunner (4) 2022-07-18 09:52:24 +00:00
mozilla [test] Refactor testrunner (4) 2022-07-18 09:52:24 +00:00
test262 [Temporal] Avoid double overflow in AddDuration 2022-08-18 23:33:28 +00:00
torque Reland "Reland "[Torque] Generalize Torque literals to larger size"" 2022-02-04 09:40:24 +00:00
unittests cppgc: Avoid fragmentation in NormalPageMemoryRegion 2022-08-19 09:13:27 +00:00
wasm-api-tests [wasm-gc] Split any and extern type 2022-07-28 13:09:55 +00:00
wasm-js [wasm] Update spec tests 2022-08-11 11:16:17 +00:00
wasm-spec-tests Disable memory_copy test on stress variant 2022-08-16 18:05:35 +00:00
webkit Skip fast/js/deep-recursion-test on NumFuzz until bug is fixed 2022-08-16 09:31:07 +00:00
BUILD.gn [test] Move cctest/interpreter to unittests 2022-06-10 08:37:10 +00:00
OWNERS