summaryrefslogtreecommitdiff
path: root/src/lj_err.c
diff options
context:
space:
mode:
authorMike Pall <mike>2014-12-15 02:27:27 +0100
committerMike Pall <mike>2014-12-15 02:27:27 +0100
commit881f48f9808a950f8e046a3b299db0269506a87d (patch)
tree43584223f3b77d77af5a3515b3191c21fd012f01 /src/lj_err.c
parentb93b624ad88a9455cb3f12db93a9c5e153ff8a62 (diff)
downloadluajit-881f48f9808a950f8e046a3b299db0269506a87d.tar.gz
luajit-881f48f9808a950f8e046a3b299db0269506a87d.tar.bz2
luajit-881f48f9808a950f8e046a3b299db0269506a87d.zip
Cleanup of frame handling. No functional changes.
Diffstat (limited to 'src/lj_err.c')
-rw-r--r--src/lj_err.c17
1 files changed, 4 insertions, 13 deletions
diff --git a/src/lj_err.c b/src/lj_err.c
index 07afc580..dc2e26f3 100644
--- a/src/lj_err.c
+++ b/src/lj_err.c
@@ -114,9 +114,7 @@ static void *err_unwind(lua_State *L, void *stopcf, int errcode)
114 frame = frame_prevl(frame); 114 frame = frame_prevl(frame);
115 break; 115 break;
116 case FRAME_C: /* C frame. */ 116 case FRAME_C: /* C frame. */
117#if LJ_HASFFI
118 unwind_c: 117 unwind_c:
119#endif
120#if LJ_UNWIND_EXT 118#if LJ_UNWIND_EXT
121 if (errcode) { 119 if (errcode) {
122 L->base = frame_prevd(frame) + 1; 120 L->base = frame_prevd(frame) + 1;
@@ -150,10 +148,8 @@ static void *err_unwind(lua_State *L, void *stopcf, int errcode)
150 } 148 }
151 return cf; 149 return cf;
152 case FRAME_CONT: /* Continuation frame. */ 150 case FRAME_CONT: /* Continuation frame. */
153#if LJ_HASFFI 151 if (frame_iscont_fficb(frame))
154 if ((frame-1)->u32.lo == LJ_CONT_FFI_CALLBACK)
155 goto unwind_c; 152 goto unwind_c;
156#endif
157 case FRAME_VARG: /* Vararg frame. */ 153 case FRAME_VARG: /* Vararg frame. */
158 frame = frame_prevd(frame); 154 frame = frame_prevd(frame);
159 break; 155 break;
@@ -522,10 +518,8 @@ static ptrdiff_t finderrfunc(lua_State *L)
522 frame = frame_prevd(frame); 518 frame = frame_prevd(frame);
523 break; 519 break;
524 case FRAME_CONT: 520 case FRAME_CONT:
525#if LJ_HASFFI 521 if (frame_iscont_fficb(frame))
526 if ((frame-1)->u32.lo == LJ_CONT_FFI_CALLBACK)
527 cf = cframe_prev(cf); 522 cf = cframe_prev(cf);
528#endif
529 frame = frame_prevd(frame); 523 frame = frame_prevd(frame);
530 break; 524 break;
531 case FRAME_CP: 525 case FRAME_CP:
@@ -652,13 +646,10 @@ LJ_NOINLINE void lj_err_callermsg(lua_State *L, const char *msg)
652 if (frame_islua(frame)) { 646 if (frame_islua(frame)) {
653 pframe = frame_prevl(frame); 647 pframe = frame_prevl(frame);
654 } else if (frame_iscont(frame)) { 648 } else if (frame_iscont(frame)) {
655#if LJ_HASFFI 649 if (frame_iscont_fficb(frame)) {
656 if ((frame-1)->u32.lo == LJ_CONT_FFI_CALLBACK) {
657 pframe = frame; 650 pframe = frame;
658 frame = NULL; 651 frame = NULL;
659 } else 652 } else {
660#endif
661 {
662 pframe = frame_prevd(frame); 653 pframe = frame_prevd(frame);
663#if LJ_HASFFI 654#if LJ_HASFFI
664 /* Remove frame for FFI metamethods. */ 655 /* Remove frame for FFI metamethods. */