5#ifndef V8_CODEGEN_COMPILATION_CACHE_H_
6#define V8_CODEGEN_COMPILATION_CACHE_H_
107 JSRegExp::Flags flags);
165 JSRegExp::Flags flags);
197 void MarkCompactPrologue();
206 void EnableScriptAndEval();
207 void DisableScriptAndEval();
216 return v8_flags.compilation_cache && enabled_script_and_eval_;
221 return IsEnabledScriptAndEval() && language_mode == LanguageMode::kSloppy;
Isolate * isolate() const
void Iterate(RootVisitor *v)
Handle< CompilationCacheTable > GetTable()
CompilationCacheEvalOrScript(Isolate *isolate)
DISALLOW_IMPLICIT_CONSTRUCTORS(CompilationCacheEvalOrScript)
void Remove(DirectHandle< SharedFunctionInfo > function_info)
void Put(DirectHandle< String > source, DirectHandle< SharedFunctionInfo > outer_info, DirectHandle< SharedFunctionInfo > function_info, DirectHandle< NativeContext > native_context, DirectHandle< FeedbackCell > feedback_cell, int position)
DISALLOW_IMPLICIT_CONSTRUCTORS(CompilationCacheEval)
CompilationCacheEval(Isolate *isolate)
InfoCellPair Lookup(DirectHandle< String > source, DirectHandle< SharedFunctionInfo > outer_info, DirectHandle< NativeContext > native_context, LanguageMode language_mode, int position)
void Iterate(RootVisitor *v)
CompilationCacheRegExp(Isolate *isolate)
void Put(DirectHandle< String > source, JSRegExp::Flags flags, DirectHandle< RegExpData > data)
static const int kGenerations
DirectHandle< CompilationCacheTable > GetTable(int generation)
Tagged< Object > tables_[kGenerations]
DISALLOW_IMPLICIT_CONSTRUCTORS(CompilationCacheRegExp)
Isolate * isolate() const
MaybeDirectHandle< RegExpData > Lookup(DirectHandle< String > source, JSRegExp::Flags flags)
LookupResult Lookup(Handle< String > source, const ScriptDetails &script_details)
DISALLOW_IMPLICIT_CONSTRUCTORS(CompilationCacheScript)
void Put(Handle< String > source, DirectHandle< SharedFunctionInfo > function_info)
CompilationCacheScript(Isolate *isolate)
bool IsEnabledScript(LanguageMode language_mode)
CompilationCacheRegExp reg_exp_
bool IsEnabledScriptAndEval() const
CompilationCacheEval eval_contextual_
CompilationCacheScript script_
CompilationCache & operator=(const CompilationCache &)=delete
bool enabled_script_and_eval_
Isolate * isolate() const
base::HashMap * EagerOptimizingSet()
CompilationCache(const CompilationCache &)=delete
~CompilationCache()=default
CompilationCacheEval eval_global_
V8_EXPORT_PRIVATE FlagValues v8_flags
!IsContextMap !IsContextMap native_context
#define V8_EXPORT_PRIVATE