5#ifndef RUNTIME_VM_PROGRAM_VISITOR_H_
6#define RUNTIME_VM_PROGRAM_VISITOR_H_
8#if !defined(DART_PRECOMPILED_RUNTIME)
103#if defined(DART_PRECOMPILER)
104 static void AssignUnits(
Thread* thread);
109 static void BindStaticCalls(
Thread* thread);
110 static void ShareMegamorphicBuckets(
Thread* thread);
111 static void NormalizeAndDedupCompressedStackMaps(
Thread* thread);
112 static void DedupPcDescriptors(
Thread* thread);
113 static void DedupDeoptEntries(
Thread* thread);
114#if defined(DART_PRECOMPILER)
115 static void DedupCatchEntryMovesMaps(
Thread* thread);
116 static void DedupUnlinkedCalls(
Thread* thread);
117 static void PruneSubclasses(
Thread* thread);
119 static void DedupCodeSourceMaps(
Thread* thread);
120 static void DedupLists(
Thread* thread);
121 static void DedupInstructions(
Thread* thread);
virtual void VisitClass(const Class &cls)=0
const CodeVisitor * AsCodeVisitor() const
CodeVisitor * AsCodeVisitor()
virtual bool IsCodeVisitor() const
const FunctionVisitor * AsFunctionVisitor() const
FunctionVisitor * AsFunctionVisitor()
virtual bool IsFunctionVisitor() const
virtual void VisitCode(const Code &code)=0
bool IsCodeVisitor() const
virtual void VisitFunction(const Function &function)
virtual void VisitClass(const Class &cls)
virtual void VisitFunction(const Function &function)=0
bool IsFunctionVisitor() const
static void Dedup(Thread *thread)
static void WalkProgram(Zone *zone, IsolateGroup *isolate_group, ClassVisitor *visitor)
Dart_NativeFunction function
static uint32_t Hash(uint32_t key)