40 #if defined(ENABLE_IFCONV)
55 # if defined(ENABLE_VERIFIER)
117 namespace compiler2 {
119 #define DEBUG_NAME "compiler2"
188 #if 0 && defined(ENABLE_STATISTICS)
191 if (opt_getcompilingtime)
208 #if defined(ENABLE_VERIFIER)
220 #if defined(ENABLE_INLINING)
228 #if defined(ENABLE_JIT)
229 # if defined(ENABLE_INTRP)
260 #if defined(ENABLE_LSRA) || defined(ENABLE_SSA)
266 #if defined(ENABLE_DEBUG_FILTER)
291 if (m->
jcode == NULL) {
300 #if 0 && defined(ENABLE_STATISTICS)
308 #if defined(WITH_JAVA_RUNTIME_LIBRARY_OPENJDK)
314 # if defined(ENABLE_VERIFIER)
344 #if 0 && defined(ENABLE_STATISTICS)
347 if (opt_getcompilingtime)
Option< bool > schedule_printer_enabled("GlobalSchedulePrinterPass","compiler2: enable GlobalSchedulePrinterPass", false,::cacao::option::xx_root())
void code_codeinfo_free(codeinfo *code)
Table containing all native methods registered with the VM.
NativeMethods & get_nativemethods()
BasicBlockPrinterPass TODO: more info.
#define JITDATA_FLAG_VERBOSECALL
bool typecheck(jitdata *jd)
#define JITDATA_FLAG_VERIFY
CodeGenPass TODO: more info.
MachineCode * compile(methodinfo *m)
static Option< bool > enabled
static Option< bool > enabled
SSAPrinterPass TODO: more info.
Second stage compiler class.
static u1 * do_nothing_function(void)
jitdata * get_jitdata() const
#define RT_REGISTER_GROUP(var, name, description)
Register a new (toplevel) group.
LoopTreePrinterPass TODO: more info.
#define JITDATA_FLAG_SHOWINTERMEDIATE
static Option< bool > enabled
static Option< bool > enabled
#define RT_REGISTER_GROUP_TIMER(var, name, description, group)
Register a new timer.
ObjectFileWriterPass TODO: more info.
jitdata * jit_jitdata_new(methodinfo *m)
Option< bool > enabled("DebugCompiler2","compiler with compiler2", false, option::xx_root())
This file contains the statistics framework.
void reg_setup(jitdata *jd)
#define STAT_REGISTER_GROUP(var, name, description)
Register a statistics group.
void jit_generated(methodinfo *m, codeinfo *code)
Hook point just after code was generated.
DomTreePrinterPass TODO: more info.
static Option< bool > enabled
bool class_issubclass(classinfo *sub, classinfo *super)
static void reset()
Reset static infos (run by Compiler)
Manage the execution of compiler passes.
This file contains the real-time timing utilities.
void * resolve_method(methodinfo *m)
Resolves a native method, maybe from a dynamic library.
void compilingtime_start(void)
#define LOG(STMT)
Analogous to DEBUG.
void codegen_setup(jitdata *jd)
GlobalSchedulePrinterPass TODO: more info.
bool opt_showintermediate
#define JITDATA_FLAG_INLINE
static Option< bool > enabled
void show_filters_apply(methodinfo *m)
void add_Pass()
add a compiler pass
void runPasses(JITData &JD)
run passes
static Option< bool > enabled
#define JITDATA_FLAG_SHOWDISASSEMBLE
DisassemblerPass TODO: more info.
MachineInstructionPrinterPass TODO: more info.
static codeinfo * generate(methodinfo *m, functionptr f)
Wrapper for codegen_emit_stub_native.
void compilingtime_stop(void)
static VM * get_current()