81 #if SIZEOF_VOID_P == 8
122 #if SIZEOF_VOID_P == 4
140 #if WORDS_BIGENDIAN == 1
162 #if SIZEOF_VOID_P == 4
180 #if WORDS_BIGENDIAN == 1
217 #if SIZEOF_VOID_P == 8
281 #if SIZEOF_VOID_P == 4
291 #if SIZEOF_VOID_P == 4
301 #if SIZEOF_VOID_P == 8
343 if ((value >= -32768) && (value <= 32767))
345 else if ((value >= 0) && (value <= 0xffff))
364 #if SIZEOF_VOID_P == 8
365 if ((value >= -32768) && (value <= 32767))
367 else if ((value >= 0) && (value <= 0xffff))
391 int32_t checkdisp = (disp - 4);
392 int32_t branchdisp = (disp - 4) >> 2;
408 int32_t offset = currentrpc + disp;
411 assert(offset % 4 == 0);
439 int32_t offset = currentrpc + disp;
442 assert(offset % 4 == 0);
464 vm_abort(
"emit_branch: unknown condition %d", condition);
500 vm_abort(
"emit_branch: unknown condition %d", condition);
584 vm_abort(
"emit_classcast_check: unknown condition %d", condition);
654 uint32_t mcode = *((uint32_t*) cd->
mcodeptr);
685 # if !defined(NDEBUG)
695 syncslot_offset += (INT_ARG_CNT +
FLT_ARG_CNT) * 8;
718 # if !defined(NDEBUG)
754 #if SIZEOF_VOID_P == 8
761 #if SIZEOF_VOID_P == 4
786 #if SIZEOF_VOID_P == 8
791 #if SIZEOF_VOID_P == 4
966 #if SIZEOF_VOID_P == 8
980 #if SIZEOF_VOID_P == 8
1015 #if SIZEOF_VOID_P == 8
const s4 abi_registers_float_argument[]
#define CODEGENDATA_FLAG_ERROR
dummy_java_lang_Class object
#define M_ALD(a, b, disp)
void emit_monitor_exit(jitdata *jd, int32_t syncslot_offset)
Generates synchronization code to leave a monitor.
#define M_LST(a, b, disp)
#define JITDATA_HAS_FLAG_VERBOSECALL(jd)
#define M_ILD(a, b, disp)
#define M_IST(a, b, disp)
#define M_LDA(a, b, disp)
void emit_monitor_enter(jitdata *jd, int32_t syncslot_offset)
Generates synchronization code to enter a monitor.
const s4 abi_registers_integer_argument[]
#define M_AADD_IMM(a, b, c)
s4 dseg_add_address(codegendata *cd, void *value)
#define M_OR_IMM(a, b, c)
#define REG_ITMP12_PACKED
s4 codegen_reg_of_var(u2 opcode, varinfo *v, s4 tempregnum)
#define BRANCH_UNCONDITIONAL
#define dseg_add_functionptr(cd, value)
void emit_arraystore_check(codegendata *cd, instruction *iptr)
#define M_FST(a, b, disp)
#define M_FLD(a, b, disp)
void trace_java_call_exit(methodinfo *m, uint64_t *return_regs)
#define CODEGENDATA_HAS_FLAG_LONGBRANCHES(cd)
#define CODEGENDATA_FLAG_LONGBRANCHES
JNIEnv jthread jobject jclass jlong size
void emit_recompute_pv(codegendata *cd)
Emit code to recompute the procedure vector.
void emit_abstractmethoderror_trap(codegendata *cd)
static int code_is_leafmethod(codeinfo *code)
s4 dseg_add_s4(codegendata *cd, s4 value)
void vm_abort(const char *text,...)
void emit_verbosecall_enter(jitdata *jd)
#define IS_2_WORD_TYPE(a)
void emit_exception_check(codegendata *cd, instruction *iptr)
#define M_CMPULT(a, b, c)
void trace_java_call_enter(methodinfo *m, uint64_t *arg_regs, uint64_t *stack)
void emit_lconst(codegendata *cd, s4 d, s8 value)
s4 emit_load_high(jitdata *jd, instruction *iptr, varinfo *src, s4 tempreg)
#define LOCK_monitor_enter
#define M_ALD_INTERN(a, b, disp)
void emit_trap_compiler(codegendata *cd)
#define M_ASUB_IMM(a, b, c)
void emit_trap(codegendata *cd, u1 Xd, int type)
s4 emit_load(jitdata *jd, instruction *iptr, varinfo *src, s4 tempreg)
void emit_store(jitdata *jd, instruction *iptr, varinfo *dst, s4 d)
#define M_AST(a, b, disp)
void emit_arithmetic_check(codegendata *cd, instruction *iptr, s4 reg)
#define LOCK_monitor_exit
void emit_copy(jitdata *jd, instruction *iptr)
#define M_LADD_IMM(a, b, c)
static bool IS_INMEMORY(s4 flags)
s4 emit_load_low(jitdata *jd, instruction *iptr, varinfo *src, s4 tempreg)
void emit_classcast_check(codegendata *cd, instruction *iptr, s4 condition, s4 reg, s4 s1)
void emit_branch(codegendata *cd, s4 disp, s4 condition, s4 reg, u4 opt)
s4 dseg_add_s8(codegendata *cd, s8 value)
#define M_DST(a, b, disp)
void emit_iconst(codegendata *cd, s4 d, s4 value)
#define M_LLD(a, b, disp)
#define M_IADD_IMM(a, b, c)
void emit_arrayindexoutofbounds_check(codegendata *cd, instruction *iptr, s4 s1, s4 s2)
#define M_DLD(a, b, disp)
void emit_verbosecall_exit(jitdata *jd)
bool opt_AlwaysEmitLongBranches
#define INSTRUCTION_MUST_CHECK(iptr)
void emit_nullpointer_check(codegendata *cd, instruction *iptr, s4 reg)
#define REG_RESULT_PACKED
#define M_ILD_INTERN(a, b, disp)