26 #ifndef VM_JIT_POWERPC64_MD_HPP_
27 #define VM_JIT_POWERPC64_MD_HPP_ 1
73 ra = *((
void **) (((uintptr_t) sp) + stackframesize +
LA_LR_OFFSET));
98 uint32_t*
pc = (uint32_t*) ra;
102 uint32_t mcode = pc[1];
106 if ((mcode >> 16) == 0x3dcb) {
109 offset = (int32_t) (mcode << 16);
117 assert((mcode >> 16) == 0x39ce);
119 offset += (int16_t) (mcode & 0x0000ffff);
121 else if ((mcode >> 16) == 0x39cb) {
124 offset = (int16_t) (mcode & 0x0000ffff);
127 vm_abort(
"md_codegen_get_pv_from_pc: unknown instruction %x", mcode);
136 void*
pv = (
void*) (((uintptr_t) ra) + offset);
178 #endif // VM_JIT_POWERPC64_MD_HPP_
void asm_cacheflush(void *addr, int nbytes)
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_stacktrace_get_returnaddress(void *sp, int32_t stackframesize)
void vm_abort(const char *text,...)
static void * md_codegen_get_pv_from_pc(void *ra)
static void md_dcacheflush(void *addr, int nbytes)
static void md_icacheflush(void *addr, int nbytes)
static void md_cacheflush(void *addr, int nbytes)