v8/src
Michael Lippautz 1f0b0ed0e4 Reland "heap: Fix initial GC configuration for C++-only heaps"
This is a reland of 7ef67b2e9e

Manually checked that the CL was not the culprit breaking
  media_blink_unittests --gtest_filter=WebMediaPlayerImplTest.MemDumpReporting

Original change's description:
> heap: Fix initial GC configuration for C++-only heaps
>
> Heaps in V8 start with a large limit that is shrunk upon young
> generation GCs, based on some liveness estimate. This provides best
> throughput during startup while at the same time finding a reasonable
> first limit.
>
> For C++ (embedder memory) there is no estimate which is why it was
> piggy-backing on V8. This breaks in scenarios where no JS memory is
> allocated.
>
> In this fix we start a memory reducer after embedder memory has hit
> the activation threshold if no GC happened so far. As soon as a single
> Scavenger has happened, we leave it up to the JS estimate to figure
> out a limit. Memory reducing GCs will then find a regular limit based
> on the initial live size.
>
> Drive-by: Give embedders the same activiation threshold of 8MB as JS.
>
> Bug: chromium:1217076
> Change-Id: I8469696002ac2af8d75d6b47def062d2608387a1
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2944935
> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
> Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#75012}

Bug: chromium:1217076
Change-Id: I482d8525379e33095834d5b41be8bb49bdd8a5d4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2949094
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Auto-Submit: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75048}
2021-06-09 14:00:48 +00:00
..
api Introduce Isolate::ClearCachesForTesting API method 2021-06-09 12:14:28 +00:00
asmjs [runtime] Rename Builtins::Name to Builtin 1/2 2021-06-07 20:05:44 +00:00
ast [ast] Fix de-duping "get 0 {}" and "0: ..." inside objects 2021-06-07 15:43:24 +00:00
base Remove ulan@ from OWNERS 2021-06-08 13:10:21 +00:00
baseline [sparkplug] Add tracing for batch compilation 2021-06-08 11:37:11 +00:00
bigint [bigint][ia32] Make bigint::Compare inlineable 2021-06-08 19:03:36 +00:00
builtins Reland "[csa] Remove InnerAllocate and replace with non-folded allocations" 2021-06-08 11:52:51 +00:00
codegen ppc: rename LoadF32/F64/WithUpdate 2021-06-08 17:37:26 +00:00
common Reland "[heap] Remove unused LocalSpace class" 2021-06-06 19:09:13 +00:00
compiler [wasm][comment] Explain magic wasm-to-js wrapper parameter 2021-06-09 13:13:28 +00:00
compiler-dispatcher Disable left-trimming when optimizing compile jobs exist 2021-06-02 06:33:27 +00:00
d8 [d8] Support more ways of passing source code to Realm.eval() 2021-06-08 14:44:16 +00:00
date Remove ulan@ from OWNERS 2021-06-08 13:10:21 +00:00
debug [runtime] Rename Builtins::Name to Builtin 1/2 2021-06-07 20:05:44 +00:00
deoptimizer [runtime] Rename Builtins::Name to Builtin 1/2 2021-06-07 20:05:44 +00:00
diagnostics [riscv64] Fix decode error of neg instruction. 2021-06-09 13:34:18 +00:00
execution [compiler] RawFastPropertyAt without serialization 2021-06-09 07:24:58 +00:00
extensions Fix counting ignition dispatches 2021-06-07 18:47:24 +00:00
flags [string] Remove FLAG_thin_string and enable it all the time 2021-06-09 09:52:48 +00:00
handles Remove ulan@ from OWNERS 2021-06-08 13:10:21 +00:00
heap Reland "heap: Fix initial GC configuration for C++-only heaps" 2021-06-09 14:00:48 +00:00
ic [runtime] Rename Builtins::Name to Builtin 1/2 2021-06-07 20:05:44 +00:00
init Implement DisplayNames v2 2021-06-08 17:49:36 +00:00
inspector Add exception metadata handling to V8 inspector 2021-06-02 09:33:58 +00:00
interpreter [runtime] Rename Builtins::Name to Builtin 1/2 2021-06-07 20:05:44 +00:00
json [heap] Pass object as argument to Heap::EnsureSweepingCompleted() 2021-06-07 09:34:24 +00:00
libplatform Remove ulan@ from OWNERS 2021-06-08 13:10:21 +00:00
libsampler Update OWNERS in src/* 2021-02-25 14:22:51 +00:00
logging [runtime] Rename Builtins::Name to Builtin 1/2 2021-06-07 20:05:44 +00:00
numbers [cleanup] Rename LocalIsolate templates to IsolateT 2021-04-26 09:11:10 +00:00
objects [string] Remove FLAG_thin_string and enable it all the time 2021-06-09 09:52:48 +00:00
parsing Remove one-shot function optimizations. 2021-05-21 12:38:18 +00:00
profiler Remove ulan@ from OWNERS 2021-06-08 13:10:21 +00:00
protobuf Remove petermarshall from OWNERS 2021-03-31 11:00:22 +00:00
regexp [regexp] Propagate eats_at_least for negative lookahead 2021-06-09 06:54:58 +00:00
roots Remove ulan@ from OWNERS 2021-06-08 13:10:21 +00:00
runtime [compiler] RawFastPropertyAt without serialization 2021-06-09 07:24:58 +00:00
sanitizer Reland "[elements] Avoid racy data reads/writes" 2021-05-06 10:46:52 +00:00
snapshot [string] Remove FLAG_thin_string and enable it all the time 2021-06-09 09:52:48 +00:00
strings [cleanup][strings] Remove redundant NOLINT annotations 2021-05-04 17:10:35 +00:00
tasks Remove ulan@ from OWNERS 2021-06-08 13:10:21 +00:00
third_party [build] Fix gn check errors for less common configs 2021-04-29 11:52:14 +00:00
torque [runtime] Rename Builtins::Name to Builtin 1/2 2021-06-07 20:05:44 +00:00
tracing [logging] Add runtime-call-stats compile-time flag 2021-04-12 15:53:03 +00:00
trap-handler AIX: Use __thread keyword to avoid link error during compilation 2021-05-18 15:22:27 +00:00
utils [runtime] Rename Builtins::Name to Builtin 1/2 2021-06-07 20:05:44 +00:00
wasm [wasm] Merge WriteGlobal* functions 2021-06-09 13:48:28 +00:00
web-snapshot [web snapshot] Support top-level non-objects 2021-06-08 14:38:06 +00:00
zone base: Add ASAN and MSAN support 2021-04-27 13:04:15 +00:00
DEPS [d8] Fix job execution on the predictable platform 2021-06-08 07:44:37 +00:00
DIR_METADATA Add DIR_METADATA files to v8. 2020-10-20 22:12:28 +00:00
OWNERS Add DIR_METADATA files to v8. 2020-10-20 22:12:28 +00:00