30 #include "md-stubs.hpp"
83 #if !defined(JIT_COMPILER_VIA_SIGNAL)
86 c =
CNEW(
u1, 3 * SIZEOF_VOID_P + get_code_size());
94 c = c + 3 * SIZEOF_VOID_P;
108 STATISTICS(count_cstub_len += 3 * SIZEOF_VOID_P + get_code_size());
116 c =
CNEW(uint8_t, 2 * SIZEOF_VOID_P + get_code_size());
124 c = c + 2 * SIZEOF_VOID_P;
137 STATISTICS(count_cstub_len += 2 * SIZEOF_VOID_P + get_code_size());
168 #if !defined(NDEBUG) && defined(ENABLE_DISASSEMBLER)
169 static void codegen_disassemble_stub(
methodinfo *m,
u1 *start,
u1 *end)
172 if (m->
clazz != NULL)
179 printf(
"\nLength: %d\n\n", (
s4) (end - start));
181 DISASSEMBLE(start, end);
223 #if defined(ENABLE_JIT)
224 # if defined(ENABLE_INTRP)
227 assert(bte->
fp != NULL);
229 # if defined(ENABLE_INTRP)
244 #if !defined(NDEBUG) && defined(ENABLE_DISASSEMBLER)
247 if (opt_DisassembleStubs) {
248 codegen_disassemble_stub(m,
307 #if defined(ENABLE_PROFILING)
317 #if defined(ENABLE_JIT)
318 # if defined(ENABLE_INTRP)
353 #if defined(ENABLE_JIT)
354 # if defined(ENABLE_INTRP)
364 #if defined(ENABLE_JIT)
365 # if defined(ENABLE_INTRP)
382 #if !defined(NDEBUG) && defined(ENABLE_DISASSEMBLER)
385 if (opt_DisassembleStubs) {
386 # if defined(ENABLE_DEBUG_FILTER)
390 codegen_disassemble_stub(m,
#define STATISTICS(x)
Wrapper for statistics only code.
#define JITDATA_FLAG_VERBOSECALL
static void remove(void *stub)
Free a compiler stub from memory.
#define JITDATA_FLAG_INSTRUMENT
void codegen_emit_stub_native(jitdata *jd, methoddesc *nmd, functionptr f, int skipparams)
void utf_fprint_printable_ascii_classname(FILE *file, Utf8String u)
static void code_unflag_leafmethod(codeinfo *code)
void dseg_display(jitdata *jd)
void emit_abstractmethoderror_trap(codegendata *cd)
void md_cacheflush(u1 *addr, s4 nbytes)
u1 * intrp_createnativestub(functionptr f, jitdata *jd, methoddesc *nmd)
void(* functionptr)(void)
bool opt_showddatasegment
jitdata * jit_jitdata_new(methodinfo *m)
This file contains the statistics framework.
#define SHOW_FILTER_FLAG_SHOW_METHOD
void reg_setup(jitdata *jd)
void emit_trap_compiler(codegendata *cd)
void utf_fprint_printable_ascii(FILE *file, Utf8String u)
void md_param_alloc_native(methoddesc *md)
void codegen_setup(jitdata *jd)
void codegen_emit_stub_compiler(jitdata *jd)
static void generate(methodinfo *m, builtintable_entry *bte)
Wrapper for codegen_emit_stub_native.
static void * allocate(size_t size)
static void remove(void *stub)
Free a native stub from memory.
void asm_call_jit_compiler(void)
#define MCOPY(dest, src, type, num)
static codeinfo * generate(methodinfo *m, functionptr f)
Wrapper for codegen_emit_stub_native.
#define STAT_DECLARE_VAR(type, var, init)
Declare an external statistics variable.
Class for compiler stub generation.
void codegen_finish(jitdata *jd)