Home | History | Annotate | Download | only in src

Lines Matching refs:ci

61   CallInfo *ci = L->ci;
66 if (ci->callstatus & CIST_HOOKYIELD) { /* called hook last time? */
67 ci->callstatus &= ~CIST_HOOKYIELD; /* erase mark */
73 Proto *p = ci_func(ci)->p;
74 int npc = pcRel(ci->u.l.savedpc, p);
77 ci->u.l.savedpc <= L->oldpc || /* when jump back (loop), or when */
81 L->oldpc = ci->u.l.savedpc;
85 ci->u.l.savedpc--; /* undo increment (resume will increment it again) */
86 ci->callstatus |= CIST_HOOKYIELD; /* mark that it yielded */
87 ci->func = L->top - 1; /* protect stack below results */
102 luaD_call(L, L->top - (4 - hasres), hasres, isLua(L->ci));
424 CallInfo *ci = L->ci;
425 StkId base = ci->u.l.base;
426 Instruction inst = *(ci->u.l.savedpc - 1); /* interrupted instruction */
443 lua_assert(GET_OPCODE(*ci->u.l.savedpc) == OP_JMP);
445 ci->u.l.savedpc++; /* skip jump instruction */
458 setobj2s(L, ci->u.l.base + GETARG_A(inst), L->top - 1);
459 L->top = ci->top; /* restore top */
463 lua_assert(GET_OPCODE(*ci->u.l.savedpc) == OP_TFORLOOP);
464 L->top = ci->top; /* correct top */
469 L->top = ci->top; /* adjust results */
498 (k + (GETARG_Bx(i) != 0 ? GETARG_Bx(i) - 1 : GETARG_Ax(*ci->u.l.savedpc++)))
502 #define dojump(ci,i,e) \
504 if (a > 0) luaF_close(L, ci->u.l.base + a - 1); \
505 ci->u.l.savedpc += GETARG_sBx(i) + e; }
508 #define donextjump(ci) { i = *ci->u.l.savedpc; dojump(ci, i, 1); }
511 #define Protect(x) { {x;}; base = ci->u.l.base; }
516 L->top = ci->top;}) /* restore top */ \
535 CallInfo *ci = L->ci;
540 lua_assert(ci == L->ci);
541 cl = clLvalue(ci->func);
543 base = ci->u.l.base;
546 Instruction i = *(ci->u.l.savedpc++);
554 lua_assert(base == ci->u.l.base);
566 lua_assert(GET_OPCODE(*ci->u.l.savedpc) == OP_EXTRAARG);
567 rb = k + GETARG_Ax(*ci->u.l.savedpc++);
572 if (GETARG_C(i)) ci->u.l.savedpc++; /* skip next instruction (if C) */
663 L->top = ci->top; /* restore top */
666 dojump(ci, i, 0);
673 ci->u.l.savedpc++;
675 donextjump(ci);
681 ci->u.l.savedpc++;
683 donextjump(ci);
689 ci->u.l.savedpc++;
691 donextjump(ci);
696 ci->u.l.savedpc++;
698 donextjump(ci);
703 ci->u.l.savedpc++;
706 donextjump(ci);
714 if (nresults >= 0) L->top = ci->top; /* adjust results */
715 base = ci->u.l.base;
718 ci = L->ci;
719 ci->callstatus |= CIST_REENTRY;
728 base = ci->u.l.base;
731 CallInfo *nci = L->ci; /* called frame */
747 ci = L->ci = oci; /* remove new frame */
757 if (!(ci->callstatus & CIST_REENTRY)) /* 'ci' still the called one */
760 ci = L->ci;
761 if (b) L->top = ci->top;
762 lua_assert(isLua(ci));
763 lua_assert(GET_OPCODE(*((ci)->u.l.savedpc - 1)) == OP_CALL);
773 ci->u.l.savedpc += GETARG_sBx(i); /* jump back */
789 ci->u.l.savedpc += GETARG_sBx(i);
798 L->top = ci->top;
799 i = *(ci->u.l.savedpc++); /* go to next instruction */
808 ci->u.l.savedpc += GETARG_sBx(i); /* jump back */
818 lua_assert(GET_OPCODE(*ci->u.l.savedpc) == OP_EXTRAARG);
819 c = GETARG_Ax(*ci->u.l.savedpc++);
831 L->top = ci->top; /* correct top (in case of previous open call) */
845 int n = cast_int(base - ci->func) - cl->p->numparams - 1;