diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Makefile.dep | 2 | ||||
| -rw-r--r-- | src/lj_debug.c | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/Makefile.dep b/src/Makefile.dep index 9aefb236..738203b6 100644 --- a/src/Makefile.dep +++ b/src/Makefile.dep | |||
| @@ -97,7 +97,7 @@ lj_ctype.o: lj_ctype.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \ | |||
| 97 | lj_ccallback.h | 97 | lj_ccallback.h |
| 98 | lj_debug.o: lj_debug.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \ | 98 | lj_debug.o: lj_debug.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \ |
| 99 | lj_err.h lj_errmsg.h lj_debug.h lj_buf.h lj_gc.h lj_str.h lj_tab.h \ | 99 | lj_err.h lj_errmsg.h lj_debug.h lj_buf.h lj_gc.h lj_str.h lj_tab.h \ |
| 100 | lj_state.h lj_frame.h lj_bc.h lj_strfmt.h lj_jit.h lj_ir.h | 100 | lj_state.h lj_frame.h lj_bc.h lj_strfmt.h lj_vm.h lj_jit.h lj_ir.h |
| 101 | lj_dispatch.o: lj_dispatch.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \ | 101 | lj_dispatch.o: lj_dispatch.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \ |
| 102 | lj_err.h lj_errmsg.h lj_buf.h lj_gc.h lj_str.h lj_func.h lj_tab.h \ | 102 | lj_err.h lj_errmsg.h lj_buf.h lj_gc.h lj_str.h lj_func.h lj_tab.h \ |
| 103 | lj_meta.h lj_debug.h lj_state.h lj_frame.h lj_bc.h lj_ff.h lj_ffdef.h \ | 103 | lj_meta.h lj_debug.h lj_state.h lj_frame.h lj_bc.h lj_ff.h lj_ffdef.h \ |
diff --git a/src/lj_debug.c b/src/lj_debug.c index 18074874..889ac017 100644 --- a/src/lj_debug.c +++ b/src/lj_debug.c | |||
| @@ -15,6 +15,7 @@ | |||
| 15 | #include "lj_frame.h" | 15 | #include "lj_frame.h" |
| 16 | #include "lj_bc.h" | 16 | #include "lj_bc.h" |
| 17 | #include "lj_strfmt.h" | 17 | #include "lj_strfmt.h" |
| 18 | #include "lj_vm.h" | ||
| 18 | #if LJ_HASJIT | 19 | #if LJ_HASJIT |
| 19 | #include "lj_jit.h" | 20 | #include "lj_jit.h" |
| 20 | #endif | 21 | #endif |
| @@ -87,7 +88,8 @@ static BCPos debug_framepc(lua_State *L, GCfunc *fn, cTValue *nextframe) | |||
| 87 | if (frame_islua(f)) { | 88 | if (frame_islua(f)) { |
| 88 | f = frame_prevl(f); | 89 | f = frame_prevl(f); |
| 89 | } else { | 90 | } else { |
| 90 | if (frame_isc(f)) | 91 | if (frame_isc(f) || (LJ_HASFFI && frame_iscont(f) && |
| 92 | (f-1)->u32.lo == LJ_CONT_FFI_CALLBACK)) | ||
| 91 | cf = cframe_raw(cframe_prev(cf)); | 93 | cf = cframe_raw(cframe_prev(cf)); |
| 92 | f = frame_prevd(f); | 94 | f = frame_prevd(f); |
| 93 | } | 95 | } |
