26 #ifndef VM_JIT_SPARC64_MD_HPP_
27 #define VM_JIT_SPARC64_MD_HPP_ 1
50 #error Verify the below line, then remove this error!
72 ra = *((
void **) (((uintptr_t) sp) + 120 +
BIAS));
86 fp = *((
void **) (((uintptr_t) sp) + 112 +
BIAS));
98 pv = *((
void **) (((uintptr_t) sp) + 104 +
BIAS));
121 #define SHIFT_AND_MASK(instr) \
122 ((instr >> 13) & 0x60fc1)
126 #define IS_SETHI(instr) \
127 (((instr & 0xc1c00000) == 0x01000000) \
128 && ((instr & 0x3fffff) != 0x0))
134 imm = instr & 0x00001fff;
152 mcode = *((
u4 *) (ra+8) );
159 offset = (
s4) (mcode & 0x3fffff);
160 offset = offset << 10;
163 mcode = *((
u4 *) (ra+12) );
173 assert(mcode_masked == 0x40001);
208 __asm__ __volatile__ (
"membar 0x7F" : : :
"memory" );
211 #endif // VM_JIT_SPARC64_MD_HPP_
s2 decode_13bit_imm(u4 instr)
static void * md_get_framepointer(void *sp)
static void md_dcacheflush(void *addr, int nbytes)
static void * md_stacktrace_get_returnaddress(void *sp, int32_t stackframesize)
static int32_t md_stacktrace_get_framesize(codeinfo *code)
Returns the size (in bytes) of the current stackframe, specified by the passed codeinfo structure...
static void * md_get_pv_from_stackframe(void *sp)
#define SHIFT_AND_MASK(instr)
static void * md_codegen_get_pv_from_pc(void *ra)
static void md_cacheflush(void *addr, int nbytes)