V8 Project
|
#include <compilation-cache.h>
Public Member Functions | |
MaybeHandle< SharedFunctionInfo > | LookupScript (Handle< String > source, Handle< Object > name, int line_offset, int column_offset, bool is_shared_cross_origin, Handle< Context > context) |
MaybeHandle< SharedFunctionInfo > | LookupEval (Handle< String > source, Handle< Context > context, StrictMode strict_mode, int scope_position) |
MaybeHandle< FixedArray > | LookupRegExp (Handle< String > source, JSRegExp::Flags flags) |
void | PutScript (Handle< String > source, Handle< Context > context, Handle< SharedFunctionInfo > function_info) |
void | PutEval (Handle< String > source, Handle< Context > context, Handle< SharedFunctionInfo > function_info, int scope_position) |
void | PutRegExp (Handle< String > source, JSRegExp::Flags flags, Handle< FixedArray > data) |
void | Clear () |
void | Remove (Handle< SharedFunctionInfo > function_info) |
void | Iterate (ObjectVisitor *v) |
void | IterateFunctions (ObjectVisitor *v) |
void | MarkCompactPrologue () |
void | Enable () |
void | Disable () |
Private Member Functions | |
CompilationCache (Isolate *isolate) | |
~CompilationCache () | |
HashMap * | EagerOptimizingSet () |
bool | IsEnabled () |
Isolate * | isolate () |
DISALLOW_COPY_AND_ASSIGN (CompilationCache) | |
Static Private Attributes | |
static const int | kSubCacheCount = 4 |
Friends | |
class | Isolate |
Definition at line 151 of file compilation-cache.h.
|
explicitprivate |
Definition at line 27 of file compilation-cache.cc.
References eval_contextual_, eval_global_, kSubCacheCount, reg_exp_, script_, and subcaches_.
|
private |
Definition at line 42 of file compilation-cache.cc.
void v8::internal::CompilationCache::Clear | ( | ) |
Definition at line 391 of file compilation-cache.cc.
References v8::internal::CompilationSubCache::Clear(), kSubCacheCount, and subcaches_.
Referenced by v8::internal::Heap::AdvanceIdleIncrementalMarking(), v8::internal::Heap::CollectAllAvailableGarbage(), v8::internal::Heap::CreateInitialObjects(), and Disable().
void v8::internal::CompilationCache::Disable | ( | ) |
Definition at line 424 of file compilation-cache.cc.
References Clear(), and enabled_.
Referenced by v8::internal::Debug::UpdateState().
|
private |
|
private |
void v8::internal::CompilationCache::Enable | ( | ) |
Definition at line 419 of file compilation-cache.cc.
References enabled_.
Referenced by v8::internal::Debug::UpdateState().
|
inlineprivate |
Definition at line 220 of file compilation-cache.h.
References enabled_.
Referenced by LookupEval(), LookupRegExp(), LookupScript(), PutEval(), PutRegExp(), PutScript(), and Remove().
|
inlineprivate |
Definition at line 222 of file compilation-cache.h.
References isolate_.
Referenced by PutEval().
void v8::internal::CompilationCache::Iterate | ( | ObjectVisitor * | v | ) |
Definition at line 398 of file compilation-cache.cc.
References v8::internal::CompilationSubCache::Iterate(), kSubCacheCount, and subcaches_.
Referenced by v8::internal::Heap::IterateStrongRoots().
void v8::internal::CompilationCache::IterateFunctions | ( | ObjectVisitor * | v | ) |
Definition at line 405 of file compilation-cache.cc.
References v8::internal::CompilationSubCache::IterateFunctions(), kSubCacheCount, and subcaches_.
Referenced by v8::internal::MarkCompactCollector::PrepareForCodeFlushing().
MaybeHandle< SharedFunctionInfo > v8::internal::CompilationCache::LookupEval | ( | Handle< String > | source, |
Handle< Context > | context, | ||
StrictMode | strict_mode, | ||
int | scope_position | ||
) |
Definition at line 326 of file compilation-cache.cc.
References DCHECK, eval_contextual_, eval_global_, IsEnabled(), v8::internal::RelocInfo::kNoPosition, and v8::internal::CompilationCacheEval::Lookup().
Referenced by v8::internal::Compiler::GetFunctionFromEval().
MaybeHandle< FixedArray > v8::internal::CompilationCache::LookupRegExp | ( | Handle< String > | source, |
JSRegExp::Flags | flags | ||
) |
Definition at line 346 of file compilation-cache.cc.
References v8::internal::anonymous_namespace{flags.cc}::flags, IsEnabled(), v8::internal::CompilationCacheRegExp::Lookup(), and reg_exp_.
Referenced by v8::internal::RegExpImpl::Compile().
MaybeHandle< SharedFunctionInfo > v8::internal::CompilationCache::LookupScript | ( | Handle< String > | source, |
Handle< Object > | name, | ||
int | line_offset, | ||
int | column_offset, | ||
bool | is_shared_cross_origin, | ||
Handle< Context > | context | ||
) |
Definition at line 312 of file compilation-cache.cc.
References IsEnabled(), v8::internal::CompilationCacheScript::Lookup(), name, and script_.
Referenced by v8::internal::Compiler::CompileScript().
void v8::internal::CompilationCache::MarkCompactPrologue | ( | ) |
Definition at line 412 of file compilation-cache.cc.
References v8::internal::CompilationSubCache::Age(), kSubCacheCount, and subcaches_.
Referenced by v8::internal::Heap::MarkCompactPrologue(), and v8::internal::IncrementalMarking::StartMarking().
void v8::internal::CompilationCache::PutEval | ( | Handle< String > | source, |
Handle< Context > | context, | ||
Handle< SharedFunctionInfo > | function_info, | ||
int | scope_position | ||
) |
Definition at line 363 of file compilation-cache.cc.
References DCHECK, eval_contextual_, eval_global_, IsEnabled(), isolate(), v8::internal::RelocInfo::kNoPosition, and v8::internal::CompilationCacheEval::Put().
Referenced by v8::internal::Compiler::GetFunctionFromEval().
void v8::internal::CompilationCache::PutRegExp | ( | Handle< String > | source, |
JSRegExp::Flags | flags, | ||
Handle< FixedArray > | data | ||
) |
Definition at line 380 of file compilation-cache.cc.
References v8::internal::anonymous_namespace{flags.cc}::flags, IsEnabled(), v8::internal::CompilationCacheRegExp::Put(), and reg_exp_.
Referenced by v8::internal::RegExpImpl::Compile().
void v8::internal::CompilationCache::PutScript | ( | Handle< String > | source, |
Handle< Context > | context, | ||
Handle< SharedFunctionInfo > | function_info | ||
) |
Definition at line 354 of file compilation-cache.cc.
References IsEnabled(), v8::internal::CompilationCacheScript::Put(), and script_.
Referenced by v8::internal::Compiler::CompileScript().
void v8::internal::CompilationCache::Remove | ( | Handle< SharedFunctionInfo > | function_info | ) |
Definition at line 303 of file compilation-cache.cc.
References eval_contextual_, eval_global_, IsEnabled(), v8::internal::CompilationSubCache::Remove(), and script_.
Referenced by v8::internal::LiveEdit::ReplaceFunctionCode().
|
friend |
Definition at line 235 of file compilation-cache.h.
|
private |
Definition at line 233 of file compilation-cache.h.
Referenced by Disable(), Enable(), and IsEnabled().
|
private |
Definition at line 228 of file compilation-cache.h.
Referenced by CompilationCache(), LookupEval(), PutEval(), and Remove().
|
private |
Definition at line 227 of file compilation-cache.h.
Referenced by CompilationCache(), LookupEval(), PutEval(), and Remove().
|
private |
Definition at line 224 of file compilation-cache.h.
Referenced by isolate().
|
staticprivate |
Definition at line 218 of file compilation-cache.h.
Referenced by Clear(), CompilationCache(), Iterate(), IterateFunctions(), and MarkCompactPrologue().
|
private |
Definition at line 229 of file compilation-cache.h.
Referenced by CompilationCache(), LookupRegExp(), and PutRegExp().
|
private |
Definition at line 226 of file compilation-cache.h.
Referenced by CompilationCache(), LookupScript(), PutScript(), and Remove().
|
private |
Definition at line 230 of file compilation-cache.h.
Referenced by Clear(), CompilationCache(), Iterate(), IterateFunctions(), and MarkCompactPrologue().