aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2010-09-15 00:51:43 +0200
committerMike Pall <mike>2010-09-15 00:51:43 +0200
commit77267bc5384b4211418a05f0897ff336c4e1279e (patch)
tree9109295907b04ce21af9305a8105e8fdb4167a6e /src
parent8dc76ee3276e504d739818322e4dff37e6ae1c11 (diff)
downloadluajit-77267bc5384b4211418a05f0897ff336c4e1279e.tar.gz
luajit-77267bc5384b4211418a05f0897ff336c4e1279e.tar.bz2
luajit-77267bc5384b4211418a05f0897ff336c4e1279e.zip
Show names of IR calls in disassembler output.
Diffstat (limited to 'src')
-rw-r--r--src/lib_jit.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/lib_jit.c b/src/lib_jit.c
index bfceab62..57b50749 100644
--- a/src/lib_jit.c
+++ b/src/lib_jit.c
@@ -370,7 +370,18 @@ LJLIB_CF(jit_util_traceexitstub)
370 ExitNo exitno = (ExitNo)lj_lib_checkint(L, 1); 370 ExitNo exitno = (ExitNo)lj_lib_checkint(L, 1);
371 jit_State *J = L2J(L); 371 jit_State *J = L2J(L);
372 if (exitno < EXITSTUBS_PER_GROUP*LJ_MAX_EXITSTUBGR) { 372 if (exitno < EXITSTUBS_PER_GROUP*LJ_MAX_EXITSTUBGR) {
373 setnumV(L->top-1, cast_num((intptr_t)exitstub_addr(J, exitno))); 373 setnumV(L->top-1, cast_num((uintptr_t)exitstub_addr(J, exitno)));
374 return 1;
375 }
376 return 0;
377}
378
379/* local addr = jit.util.ircalladdr(idx) */
380LJLIB_CF(jit_util_ircalladdr)
381{
382 uint32_t idx = (uint32_t)lj_lib_checkint(L, 1);
383 if (idx < IRCALL__MAX) {
384 setnumV(L->top-1, cast_num((uintptr_t)(void *)lj_ir_callinfo[idx].func));
374 return 1; 385 return 1;
375 } 386 }
376 return 0; 387 return 0;
@@ -389,6 +400,7 @@ static int trace_nojit(lua_State *L)
389#define lj_cf_jit_util_tracesnap trace_nojit 400#define lj_cf_jit_util_tracesnap trace_nojit
390#define lj_cf_jit_util_tracemc trace_nojit 401#define lj_cf_jit_util_tracemc trace_nojit
391#define lj_cf_jit_util_traceexitstub trace_nojit 402#define lj_cf_jit_util_traceexitstub trace_nojit
403#define lj_cf_jit_util_ircalladdr trace_nojit
392 404
393#endif 405#endif
394 406