[nci] Add a --isolate-script-cache-ageing flag
The NCI cache depends on the script cache (which is essentially a SharedFunctionInfo cache, and the SFIs contain bytecode) to deduplicate SFIs across native contexts. NCI caching does not work without script caching. Thus the lifetimes of both caches should match; in particular, disabling cache ageing for NCI is only effective if script cache ageing is also disabled. This CL adds an --isolate-script-cache-ageing flag. It's separate from the --turbo-nci-cache-ageing flag s.t. we can disable script cache ageing *without NCI* for benchmarking purposes. Future work: Good ageing heuristics for both script and nci caches. Bug: v8:8888 Change-Id: Ia5546feeced5821a538d97db1bb8f5bb92528114 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2452471 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#70339}
This commit is contained in:
parent
24b3c1610f
commit
af118269b5
@ -72,7 +72,9 @@ void CompilationSubCache::AgeCustom(CompilationSubCache* c) {
|
|||||||
CompilationCacheTable::cast(c->tables_[0]).Age();
|
CompilationCacheTable::cast(c->tables_[0]).Age();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CompilationCacheScript::Age() { AgeCustom(this); }
|
void CompilationCacheScript::Age() {
|
||||||
|
if (FLAG_isolate_script_cache_ageing) AgeCustom(this);
|
||||||
|
}
|
||||||
void CompilationCacheEval::Age() { AgeCustom(this); }
|
void CompilationCacheEval::Age() { AgeCustom(this); }
|
||||||
void CompilationCacheRegExp::Age() { AgeByGeneration(this); }
|
void CompilationCacheRegExp::Age() { AgeByGeneration(this); }
|
||||||
void CompilationCacheCode::Age() {
|
void CompilationCacheCode::Age() {
|
||||||
|
@ -748,6 +748,10 @@ DEFINE_BOOL(turbo_nci_delayed_codegen, true,
|
|||||||
// strategy.
|
// strategy.
|
||||||
DEFINE_BOOL(turbo_nci_cache_ageing, false,
|
DEFINE_BOOL(turbo_nci_cache_ageing, false,
|
||||||
"enable ageing of the NCI code cache.")
|
"enable ageing of the NCI code cache.")
|
||||||
|
// TODO(jgruber,v8:8888): Remove this flag once we've settled on an ageing
|
||||||
|
// strategy.
|
||||||
|
DEFINE_BOOL(isolate_script_cache_ageing, true,
|
||||||
|
"enable ageing of the isolate script cache.")
|
||||||
|
|
||||||
// Favor memory over execution speed.
|
// Favor memory over execution speed.
|
||||||
DEFINE_BOOL(optimize_for_size, false,
|
DEFINE_BOOL(optimize_for_size, false,
|
||||||
|
Loading…
Reference in New Issue
Block a user