diff options
Diffstat (limited to 'rpython/rlib/rvmprof/src')
-rw-r--r-- | rpython/rlib/rvmprof/src/shared/_vmprof.c | 4 | ||||
-rw-r--r-- | rpython/rlib/rvmprof/src/shared/vmprof_config.h | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/rpython/rlib/rvmprof/src/shared/_vmprof.c b/rpython/rlib/rvmprof/src/shared/_vmprof.c index 34ff0e4738..5a8c451924 100644 --- a/rpython/rlib/rvmprof/src/shared/_vmprof.c +++ b/rpython/rlib/rvmprof/src/shared/_vmprof.c @@ -38,6 +38,8 @@ PY_EVAL_RETURN_T * vmprof_eval(PY_STACK_FRAME_T *f, int throwflag) register PY_STACK_FRAME_T * callee_saved asm("edi"); #elif defined(__arm__) register PY_STACK_FRAME_T * callee_saved asm("r4"); +#elif defined(__aarch64__) + register PY_STACK_FRAME_T * callee_saved asm("x19"); #else # error "platform not supported" #endif @@ -47,7 +49,7 @@ PY_EVAL_RETURN_T * vmprof_eval(PY_STACK_FRAME_T *f, int throwflag) "movq %1, %0\t\n" #elif defined(X86_32) "mov %1, %0\t\n" -#elif defined(__arm__) +#elif defined(__arm__) || defined(__aarch64__) "mov %1, %0\t\n" #else # error "platform not supported" diff --git a/rpython/rlib/rvmprof/src/shared/vmprof_config.h b/rpython/rlib/rvmprof/src/shared/vmprof_config.h index 3985ab670a..69a1b585f4 100644 --- a/rpython/rlib/rvmprof/src/shared/vmprof_config.h +++ b/rpython/rlib/rvmprof/src/shared/vmprof_config.h @@ -24,6 +24,8 @@ #define PC_FROM_UCONTEXT uc_mcontext.gregs[REG_EIP] #elif defined(__s390x__) #define PC_FROM_UCONTEXT uc_mcontext.psw.addr +#elif defined(__aarch64__) + #define PC_FROM_UCONTEXT uc_mcontext.pc #else /* linux, gnuc */ #define PC_FROM_UCONTEXT uc_mcontext.gregs[REG_RIP] |