v8/test
Pierre Langlois f4376ec801 [heap] Make maximum regular code object size a runtime value.
Executable V8 pages include 3 reserved OS pages: one for the writable
header and two as guards. On systems with 64k OS pages, the amount of
allocatable space left for objects can then be quite smaller than the
page size, only 64k for each 256k page.

This means regular code objects cannot be larger than 64k, while the
maximum regular object size is fixed to 128k, half of the page size. As
a result code object never reach this limit and we can end up filling
regular pages with few large code objects.

To fix this, we change the maximum code object size to be runtime value,
set to half of the allocatable space per page. On systems with 64k OS
pages, the limit will be 32k.

Alternatively, we could increase the V8 page size to 512k on Arm64 linux
so we wouldn't waste code space. However, systems with 4k OS pages are
more common, and those with 64k pages tend to have more memory available
so we should be able to live with it.

Bug: v8:10808
Change-Id: I5d807e7a3df89f1e9c648899e9ba2f8e2648264c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2460809
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Pierre Langlois <pierre.langlois@arm.com>
Cr-Commit-Position: refs/heads/master@{#70569}
2020-10-16 13:32:13 +00:00
..
benchmarks [test] Skip some slow benchmarks 2020-09-14 08:43:44 +00:00
cctest [heap] Make maximum regular code object size a runtime value. 2020-10-16 13:32:13 +00:00
common [wasm] Include prefix byte in length of bytes read 2020-10-15 20:56:33 +00:00
debugger [debug] consider Object.keys free of side effects 2020-10-01 10:40:02 +00:00
debugging [Py3] Fix flake8 warnings 2020-07-10 16:57:15 +00:00
fuzzer [wasm-simd][fuzzer] Add i32x4.dot_i16x8_s to fuzzer 2020-10-15 23:40:53 +00:00
fuzzilli Fix unhandled promise rejections in REPRL mode 2020-09-30 13:34:23 +00:00
inspector Revert "[debugger] Try to trigger pause-on-oom flakes with an extra printf" 2020-10-16 09:24:31 +00:00
intl Change test expectation per tz2020b 2020-10-15 22:17:03 +00:00
js-perf-test [super property speed] Invert benchmark graphs 2020-08-31 09:24:46 +00:00
memory Reland^4 "[serializer] Allocate during deserialization" 2020-10-07 08:15:50 +00:00
message [wasm][memory64] Prepare memory tracing for i64 addresses 2020-10-13 11:41:54 +00:00
mjsunit Revert "[TurboProp] Avoid marking the output of a call live in its catch handler" 2020-10-16 11:45:42 +00:00
mkgrokdump [heap] Move BaseSpace into base-space.h 2020-06-19 09:38:24 +00:00
mozilla [Respect] Prefer inclusive terms 2020-06-22 18:11:23 +00:00
test262 Mark assignment to call expression test262 tests as deliberate incompat 2020-10-15 15:21:15 +00:00
torque Reland "[torque] typed context slot access" 2020-08-06 11:32:38 +00:00
unittests cppgc-js: Add snapshot for C++ objects 2020-10-16 12:10:21 +00:00
wasm-api-tests wasm/c-api: fix the index of StackTraceFrame 2020-10-13 07:34:26 +00:00
wasm-js [wasm] Update spec tests 2020-10-09 17:51:14 +00:00
wasm-spec-tests [wasm] Update spec tests 2020-10-09 17:51:14 +00:00
webkit Disallow \8 and \9 in strict mode and template literals 2020-08-03 18:05:14 +00:00
BUILD.gn [turbofan] Make OSR and stack slots compatible 2020-10-05 17:41:02 +00:00
OWNERS Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00