195 if ((value >= -32768) && (value <= 32767)) {
206 if ((value >= -32768) && (value <= 32767)) {
223 if ((value >= -32768) && (value <= 32767)) {
245 #if !defined (NDEBUG)
374 int32_t stackframesize;
399 #if defined(__DARWIN__)
400 #warning "emit_verbosecall_enter not implemented"
437 #if defined(__DARWIN__)
438 #warning "emit_verbosecall_enter not implemented"
577 checkdisp = disp + 4;
578 branchdisp = (disp - 4) >> 2;
585 if ((checkdisp < (
s4) 0xfe000000) || (checkdisp > (
s4) 0x01fffffc)) {
593 vm_abort(
"emit_branch: emit unconditional long-branch code");
602 if ((checkdisp < (
s4) 0xffff8000) || (checkdisp > (
s4) 0x00007fff)) {
612 checkdisp = checkdisp - 4;
613 branchdisp = branchdisp - 1;
615 if ((checkdisp < (int32_t) 0xfe000000) || (checkdisp > (int32_t) 0x01fffffc)) {
616 vm_abort(
"emit_branch: emit conditional long-branch code");
645 vm_abort(
"emit_branch: long BRANCH_NAN");
648 vm_abort(
"emit_branch: unknown condition %d", condition);
677 vm_abort(
"emit_branch: unknown condition %d", condition);
759 vm_abort(
"emit_classcast_check: unknown condition %d", condition);
829 uint32_t mcode = *((uint32_t*) cd->
mcodeptr);
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_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)
s4 codegen_reg_of_var(u2 opcode, varinfo *v, s4 tempregnum)
#define BRANCH_UNCONDITIONAL
#define dseg_add_functionptr(cd, value)
#define PA_SIZE_IN_POINTERS
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)
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)
void trace_java_call_enter(methodinfo *m, uint64_t *arg_regs, uint64_t *stack)
void emit_lconst(codegendata *cd, s4 d, s8 value)
#define M_LWZ(a, b, disp)
#define M_STDU(a, b, disp)
#define LOCK_monitor_enter
#define IS_FLT_DBL_TYPE(a)
#define M_ALD_INTERN(a, b, disp)
void emit_trap_compiler(codegendata *cd)
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_icmp_imm(codegendata *cd, int reg, int32_t value)
Emits code comparing a single register.
void emit_copy(jitdata *jd, instruction *iptr)
static bool IS_INMEMORY(s4 flags)
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_LDA_INTERN(a, b, disp)
#define M_LLD(a, b, disp)
void emit_arrayindexoutofbounds_check(codegendata *cd, instruction *iptr, s4 s1, s4 s2)
#define M_DLD(a, b, disp)
void emit_verbosecall_exit(jitdata *jd)
#define INSTRUCTION_MUST_CHECK(iptr)
#define LA_SIZE_IN_POINTERS
void emit_nullpointer_check(codegendata *cd, instruction *iptr, s4 reg)