5#ifndef RUNTIME_VM_COMPILER_JIT_COMPILER_H_
6#define RUNTIME_VM_COMPILER_JIT_COMPILER_H_
17class BackgroundCompilationQueue;
20class CompilationWorkQueue;
23class IndirectGotoInstr;
52 bool optimized)
override;
65 bool optimized)
override;
148 bool IsRunning() {
return !done_; }
156 int16_t disabled_depth_;
165#if defined(DART_PRECOMPILED_RUNTIME)
172#if defined(DART_PRECOMPILED_RUNTIME)
void VisitPointers(ObjectPointerVisitor *visitor)
static void Stop(IsolateGroup *isolate_group)
BackgroundCompiler(IsolateGroup *isolate_group)
bool EnqueueCompilation(const Function &function)
BackgroundCompilationQueue * function_queue() const
virtual ~BackgroundCompiler()
virtual FlowGraph * BuildFlowGraph(Zone *zone, ParsedFunction *parsed_function, ZoneGrowableArray< const ICData * > *ic_data_array, intptr_t osr_id, bool optimized)=0
virtual void ParseFunction(ParsedFunction *parsed_function)=0
virtual ~CompilationPipeline()
static CompilationPipeline * New(Zone *zone, const Function &function)
static bool IsBackgroundCompilation()
static bool CanOptimizeFunction(Thread *thread, const Function &function)
static constexpr intptr_t kNoOSRDeoptId
static ErrorPtr EnsureUnoptimizedCode(Thread *thread, const Function &function)
static ObjectPtr CompileFunction(Thread *thread, const Function &function)
static ObjectPtr CompileOptimizedFunction(Thread *thread, const Function &function, intptr_t osr_id=kNoOSRDeoptId)
static ErrorPtr CompileAllFunctions(const Class &cls)
static void ComputeLocalVarDescriptors(const Code &code)
static void AbortBackgroundCompilation(intptr_t deopt_id, const char *msg)
void ParseFunction(ParsedFunction *parsed_function) override
FlowGraph * BuildFlowGraph(Zone *zone, ParsedFunction *parsed_function, ZoneGrowableArray< const ICData * > *ic_data_array, intptr_t osr_id, bool optimized) override
static constexpr intptr_t kNone
void ParseFunction(ParsedFunction *parsed_function) override
IrregexpCompilationPipeline()
FlowGraph * BuildFlowGraph(Zone *zone, ParsedFunction *parsed_function, ZoneGrowableArray< const ICData * > *ic_data_array, intptr_t osr_id, bool optimized) override
BackgroundCompiler * background_compiler() const
NoBackgroundCompilerScope(Thread *thread)
~NoBackgroundCompilerScope()
ThreadState * thread() const
Dart_NativeFunction function