perf: v8 code cache (#23081)

This PR enables V8 code cache for ES modules and for `require` scripts
through `op_eval_context`. Code cache artifacts are transparently stored
and fetched using sqlite db and are passed to V8. `--no-code-cache` can
be used to disable.

---------

Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
This commit is contained in:
Igor Zinkovsky 2024-04-17 07:19:55 -07:00 committed by GitHub
parent 9acbf90b06
commit b3d7df5535
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
31 changed files with 889 additions and 76 deletions

View file

@ -1653,6 +1653,10 @@ impl CliOptions {
&self.flags.v8_flags
}
pub fn code_cache_enabled(&self) -> bool {
self.flags.code_cache_enabled
}
pub fn watch_paths(&self) -> Vec<PathBuf> {
let mut full_paths = Vec::new();
if let DenoSubcommand::Run(RunFlags {