summaryrefslogtreecommitdiff
path: root/deps/v8/src/codegen/compilation-cache.h
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2019-11-08 15:39:11 +0100
committerMichaël Zasso <targos@protonmail.com>2019-11-08 15:46:25 +0100
commit6ca81ad72a3c6fdf16c683335be748f22aaa9a0d (patch)
tree33c8ee75f729aed76c2c0b89c63f9bf1b4dd66aa /deps/v8/src/codegen/compilation-cache.h
parent1eee0b8bf8bba39b600fb16a9223e545e3bac2bc (diff)
downloadandroid-node-v8-6ca81ad72a3c6fdf16c683335be748f22aaa9a0d.tar.gz
android-node-v8-6ca81ad72a3c6fdf16c683335be748f22aaa9a0d.tar.bz2
android-node-v8-6ca81ad72a3c6fdf16c683335be748f22aaa9a0d.zip
deps: update V8 to 7.9.317.20
PR-URL: https://github.com/nodejs/node/pull/30020 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Diffstat (limited to 'deps/v8/src/codegen/compilation-cache.h')
-rw-r--r--deps/v8/src/codegen/compilation-cache.h19
1 files changed, 13 insertions, 6 deletions
diff --git a/deps/v8/src/codegen/compilation-cache.h b/deps/v8/src/codegen/compilation-cache.h
index 35595b1985..04bea44a82 100644
--- a/deps/v8/src/codegen/compilation-cache.h
+++ b/deps/v8/src/codegen/compilation-cache.h
@@ -202,9 +202,14 @@ class V8_EXPORT_PRIVATE CompilationCache {
void MarkCompactPrologue();
// Enable/disable compilation cache. Used by debugger to disable compilation
- // cache during debugging to make sure new scripts are always compiled.
- void Enable();
- void Disable();
+ // cache during debugging so that eval and new scripts are always compiled.
+ // TODO(bmeurer, chromium:992277): The RegExp cache cannot be enabled and/or
+ // disabled, since it doesn't affect debugging. However ideally the other
+ // caches should also be always on, even in the presence of the debugger,
+ // but at this point there are too many unclear invariants, and so I decided
+ // to just fix the pressing performance problem for RegExp individually first.
+ void EnableScriptAndEval();
+ void DisableScriptAndEval();
private:
explicit CompilationCache(Isolate* isolate);
@@ -215,7 +220,9 @@ class V8_EXPORT_PRIVATE CompilationCache {
// The number of sub caches covering the different types to cache.
static const int kSubCacheCount = 4;
- bool IsEnabled() const { return FLAG_compilation_cache && enabled_; }
+ bool IsEnabledScriptAndEval() const {
+ return FLAG_compilation_cache && enabled_script_and_eval_;
+ }
Isolate* isolate() const { return isolate_; }
@@ -227,8 +234,8 @@ class V8_EXPORT_PRIVATE CompilationCache {
CompilationCacheRegExp reg_exp_;
CompilationSubCache* subcaches_[kSubCacheCount];
- // Current enable state of the compilation cache.
- bool enabled_;
+ // Current enable state of the compilation cache for scripts and eval.
+ bool enabled_script_and_eval_;
friend class Isolate;