亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? lcode.c

?? 這個是一個嵌入式腳本支持引擎, 體積十分小巧
?? C
?? 第 1 頁 / 共 2 頁
字號:
int luaK_exp2anyreg (FuncState *fs, expdesc *e) {  luaK_dischargevars(fs, e);  if (e->k == VNONRELOC) {    if (!hasjumps(e)) return e->u.s.info;  /* exp is already in a register */    if (e->u.s.info >= fs->nactvar) {  /* reg. is not a local? */      exp2reg(fs, e, e->u.s.info);  /* put value on it */      return e->u.s.info;    }  }  luaK_exp2nextreg(fs, e);  /* default */  return e->u.s.info;}void luaK_exp2val (FuncState *fs, expdesc *e) {  if (hasjumps(e))    luaK_exp2anyreg(fs, e);  else    luaK_dischargevars(fs, e);}int luaK_exp2RK (FuncState *fs, expdesc *e) {  luaK_exp2val(fs, e);  switch (e->k) {    case VKNUM:    case VTRUE:    case VFALSE:    case VNIL: {      if (fs->nk <= MAXINDEXRK) {  /* constant fit in RK operand? */        e->u.s.info = (e->k == VNIL)  ? nilK(fs) :                      (e->k == VKNUM) ? luaK_numberK(fs, e->u.nval) :                                        boolK(fs, (e->k == VTRUE));        e->k = VK;        return RKASK(e->u.s.info);      }      else break;    }    case VK: {      if (e->u.s.info <= MAXINDEXRK)  /* constant fit in argC? */        return RKASK(e->u.s.info);      else break;    }    default: break;  }  /* not a constant in the right range: put it in a register */  return luaK_exp2anyreg(fs, e);}void luaK_storevar (FuncState *fs, expdesc *var, expdesc *ex) {  switch (var->k) {    case VLOCAL: {      freeexp(fs, ex);      exp2reg(fs, ex, var->u.s.info);      return;    }    case VUPVAL: {      int e = luaK_exp2anyreg(fs, ex);      luaK_codeABC(fs, OP_SETUPVAL, e, var->u.s.info, 0);      break;    }    case VGLOBAL: {      int e = luaK_exp2anyreg(fs, ex);      luaK_codeABx(fs, OP_SETGLOBAL, e, var->u.s.info);      break;    }    case VINDEXED: {      int e = luaK_exp2RK(fs, ex);      luaK_codeABC(fs, OP_SETTABLE, var->u.s.info, var->u.s.aux, e);      break;    }    default: {      lua_assert(0);  /* invalid var kind to store */      break;    }  }  freeexp(fs, ex);}void luaK_self (FuncState *fs, expdesc *e, expdesc *key) {  int func;  luaK_exp2anyreg(fs, e);  freeexp(fs, e);  func = fs->freereg;  luaK_reserveregs(fs, 2);  luaK_codeABC(fs, OP_SELF, func, e->u.s.info, luaK_exp2RK(fs, key));  freeexp(fs, key);  e->u.s.info = func;  e->k = VNONRELOC;}static void invertjump (FuncState *fs, expdesc *e) {  Instruction *pc = getjumpcontrol(fs, e->u.s.info);  lua_assert(testTMode(GET_OPCODE(*pc)) && GET_OPCODE(*pc) != OP_TESTSET &&                                           GET_OPCODE(*pc) != OP_TEST);  SETARG_A(*pc, !(GETARG_A(*pc)));}static int jumponcond (FuncState *fs, expdesc *e, int cond) {  if (e->k == VRELOCABLE) {    Instruction ie = getcode(fs, e);    if (GET_OPCODE(ie) == OP_NOT) {      fs->pc--;  /* remove previous OP_NOT */      return condjump(fs, OP_TEST, GETARG_B(ie), 0, !cond);    }    /* else go through */  }  discharge2anyreg(fs, e);  freeexp(fs, e);  return condjump(fs, OP_TESTSET, NO_REG, e->u.s.info, cond);}void luaK_goiftrue (FuncState *fs, expdesc *e) {  int pc;  /* pc of last jump */  luaK_dischargevars(fs, e);  switch (e->k) {    case VK: case VKNUM: case VTRUE: {      pc = NO_JUMP;  /* always true; do nothing */      break;    }    case VFALSE: {      pc = luaK_jump(fs);  /* always jump */      break;    }    case VJMP: {      invertjump(fs, e);      pc = e->u.s.info;      break;    }    default: {      pc = jumponcond(fs, e, 0);      break;    }  }  luaK_concat(fs, &e->f, pc);  /* insert last jump in `f' list */  luaK_patchtohere(fs, e->t);  e->t = NO_JUMP;}static void luaK_goiffalse (FuncState *fs, expdesc *e) {  int pc;  /* pc of last jump */  luaK_dischargevars(fs, e);  switch (e->k) {    case VNIL: case VFALSE: {      pc = NO_JUMP;  /* always false; do nothing */      break;    }    case VTRUE: {      pc = luaK_jump(fs);  /* always jump */      break;    }    case VJMP: {      pc = e->u.s.info;      break;    }    default: {      pc = jumponcond(fs, e, 1);      break;    }  }  luaK_concat(fs, &e->t, pc);  /* insert last jump in `t' list */  luaK_patchtohere(fs, e->f);  e->f = NO_JUMP;}static void codenot (FuncState *fs, expdesc *e) {  luaK_dischargevars(fs, e);  switch (e->k) {    case VNIL: case VFALSE: {      e->k = VTRUE;      break;    }    case VK: case VKNUM: case VTRUE: {      e->k = VFALSE;      break;    }    case VJMP: {      invertjump(fs, e);      break;    }    case VRELOCABLE:    case VNONRELOC: {      discharge2anyreg(fs, e);      freeexp(fs, e);      e->u.s.info = luaK_codeABC(fs, OP_NOT, 0, e->u.s.info, 0);      e->k = VRELOCABLE;      break;    }    default: {      lua_assert(0);  /* cannot happen */      break;    }  }  /* interchange true and false lists */  { int temp = e->f; e->f = e->t; e->t = temp; }  removevalues(fs, e->f);  removevalues(fs, e->t);}void luaK_indexed (FuncState *fs, expdesc *t, expdesc *k) {  t->u.s.aux = luaK_exp2RK(fs, k);  t->k = VINDEXED;}static int constfolding (OpCode op, expdesc *e1, expdesc *e2) {  lua_Number v1, v2, r;  if (!isnumeral(e1) || !isnumeral(e2)) return 0;  v1 = e1->u.nval;  v2 = e2->u.nval;  switch (op) {    case OP_ADD: r = luai_numadd(v1, v2); break;    case OP_SUB: r = luai_numsub(v1, v2); break;    case OP_MUL: r = luai_nummul(v1, v2); break;    case OP_DIV:      if (v2 == 0) return 0;  /* do not attempt to divide by 0 */      r = luai_numdiv(v1, v2); break;    case OP_MOD:      if (v2 == 0) return 0;  /* do not attempt to divide by 0 */      r = luai_nummod(v1, v2); break;    case OP_POW: r = luai_numpow(v1, v2); break;    case OP_UNM: r = luai_numunm(v1); break;    case OP_LEN: return 0;  /* no constant folding for 'len' */    default: lua_assert(0); r = 0; break;  }  if (luai_numisnan(r)) return 0;  /* do not attempt to produce NaN */  e1->u.nval = r;  return 1;}static void codearith (FuncState *fs, OpCode op, expdesc *e1, expdesc *e2) {  if (constfolding(op, e1, e2))    return;  else {    int o2 = (op != OP_UNM && op != OP_LEN) ? luaK_exp2RK(fs, e2) : 0;    int o1 = luaK_exp2RK(fs, e1);    if (o1 > o2) {      freeexp(fs, e1);      freeexp(fs, e2);    }    else {      freeexp(fs, e2);      freeexp(fs, e1);    }    e1->u.s.info = luaK_codeABC(fs, op, 0, o1, o2);    e1->k = VRELOCABLE;  }}static void codecomp (FuncState *fs, OpCode op, int cond, expdesc *e1,                                                          expdesc *e2) {  int o1 = luaK_exp2RK(fs, e1);  int o2 = luaK_exp2RK(fs, e2);  freeexp(fs, e2);  freeexp(fs, e1);  if (cond == 0 && op != OP_EQ) {    int temp;  /* exchange args to replace by `<' or `<=' */    temp = o1; o1 = o2; o2 = temp;  /* o1 <==> o2 */    cond = 1;  }  e1->u.s.info = condjump(fs, op, cond, o1, o2);  e1->k = VJMP;}void luaK_prefix (FuncState *fs, UnOpr op, expdesc *e) {  expdesc e2;  e2.t = e2.f = NO_JUMP; e2.k = VKNUM; e2.u.nval = 0;  switch (op) {    case OPR_MINUS: {      if (!isnumeral(e))        luaK_exp2anyreg(fs, e);  /* cannot operate on non-numeric constants */      codearith(fs, OP_UNM, e, &e2);      break;    }    case OPR_NOT: codenot(fs, e); break;    case OPR_LEN: {      luaK_exp2anyreg(fs, e);  /* cannot operate on constants */      codearith(fs, OP_LEN, e, &e2);      break;    }    default: lua_assert(0);  }}void luaK_infix (FuncState *fs, BinOpr op, expdesc *v) {  switch (op) {    case OPR_AND: {      luaK_goiftrue(fs, v);      break;    }    case OPR_OR: {      luaK_goiffalse(fs, v);      break;    }    case OPR_CONCAT: {      luaK_exp2nextreg(fs, v);  /* operand must be on the `stack' */      break;    }    case OPR_ADD: case OPR_SUB: case OPR_MUL: case OPR_DIV:    case OPR_MOD: case OPR_POW: {      if (!isnumeral(v)) luaK_exp2RK(fs, v);      break;    }    default: {      luaK_exp2RK(fs, v);      break;    }  }}void luaK_posfix (FuncState *fs, BinOpr op, expdesc *e1, expdesc *e2) {  switch (op) {    case OPR_AND: {      lua_assert(e1->t == NO_JUMP);  /* list must be closed */      luaK_dischargevars(fs, e2);      luaK_concat(fs, &e2->f, e1->f);      *e1 = *e2;      break;    }    case OPR_OR: {      lua_assert(e1->f == NO_JUMP);  /* list must be closed */      luaK_dischargevars(fs, e2);      luaK_concat(fs, &e2->t, e1->t);      *e1 = *e2;      break;    }    case OPR_CONCAT: {      luaK_exp2val(fs, e2);      if (e2->k == VRELOCABLE && GET_OPCODE(getcode(fs, e2)) == OP_CONCAT) {        lua_assert(e1->u.s.info == GETARG_B(getcode(fs, e2))-1);        freeexp(fs, e1);        SETARG_B(getcode(fs, e2), e1->u.s.info);        e1->k = VRELOCABLE; e1->u.s.info = e2->u.s.info;      }      else {        luaK_exp2nextreg(fs, e2);  /* operand must be on the 'stack' */        codearith(fs, OP_CONCAT, e1, e2);      }      break;    }    case OPR_ADD: codearith(fs, OP_ADD, e1, e2); break;    case OPR_SUB: codearith(fs, OP_SUB, e1, e2); break;    case OPR_MUL: codearith(fs, OP_MUL, e1, e2); break;    case OPR_DIV: codearith(fs, OP_DIV, e1, e2); break;    case OPR_MOD: codearith(fs, OP_MOD, e1, e2); break;    case OPR_POW: codearith(fs, OP_POW, e1, e2); break;    case OPR_EQ: codecomp(fs, OP_EQ, 1, e1, e2); break;    case OPR_NE: codecomp(fs, OP_EQ, 0, e1, e2); break;    case OPR_LT: codecomp(fs, OP_LT, 1, e1, e2); break;    case OPR_LE: codecomp(fs, OP_LE, 1, e1, e2); break;    case OPR_GT: codecomp(fs, OP_LT, 0, e1, e2); break;    case OPR_GE: codecomp(fs, OP_LE, 0, e1, e2); break;    default: lua_assert(0);  }}void luaK_fixline (FuncState *fs, int line) {  fs->f->lineinfo[fs->pc - 1] = line;}static int luaK_code (FuncState *fs, Instruction i, int line) {  Proto *f = fs->f;  dischargejpc(fs);  /* `pc' will change */  /* put new instruction in code array */  luaM_growvector(fs->L, f->code, fs->pc, f->sizecode, Instruction,                  MAX_INT, "code size overflow");  f->code[fs->pc] = i;  /* save corresponding line information */  luaM_growvector(fs->L, f->lineinfo, fs->pc, f->sizelineinfo, int,                  MAX_INT, "code size overflow");  f->lineinfo[fs->pc] = line;  return fs->pc++;}int luaK_codeABC (FuncState *fs, OpCode o, int a, int b, int c) {  lua_assert(getOpMode(o) == iABC);  lua_assert(getBMode(o) != OpArgN || b == 0);  lua_assert(getCMode(o) != OpArgN || c == 0);  return luaK_code(fs, CREATE_ABC(o, a, b, c), fs->ls->lastline);}int luaK_codeABx (FuncState *fs, OpCode o, int a, unsigned int bc) {  lua_assert(getOpMode(o) == iABx || getOpMode(o) == iAsBx);  lua_assert(getCMode(o) == OpArgN);  return luaK_code(fs, CREATE_ABx(o, a, bc), fs->ls->lastline);}void luaK_setlist (FuncState *fs, int base, int nelems, int tostore) {  int c =  (nelems - 1)/LFIELDS_PER_FLUSH + 1;  int b = (tostore == LUA_MULTRET) ? 0 : tostore;  lua_assert(tostore != 0);  if (c <= MAXARG_C)    luaK_codeABC(fs, OP_SETLIST, base, b, c);  else {    luaK_codeABC(fs, OP_SETLIST, base, b, 0);    luaK_code(fs, cast(Instruction, c), fs->ls->lastline);  }  fs->freereg = base + 1;  /* free registers with list values */}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧洲精品中文字幕| 久久久久久久精| 国产乱国产乱300精品| 亚洲免费高清视频在线| 日韩视频一区二区在线观看| 成人av在线一区二区三区| 肉丝袜脚交视频一区二区| 国产精品久久久久久久岛一牛影视| 欧美二区乱c少妇| 99久久精品免费| 国产一区二区三区美女| 日韩成人伦理电影在线观看| **欧美大码日韩| 国产亚洲一本大道中文在线| 91在线播放网址| 成人午夜电影小说| 九九久久精品视频 | 亚洲成人一二三| 国产精品国产三级国产aⅴ无密码| 日韩欧美在线1卡| 欧美日韩精品电影| 91首页免费视频| 国产不卡在线播放| 国产一区二区不卡在线| 久久国产精品色| 视频一区二区中文字幕| 亚洲一区二区在线视频| 亚洲同性gay激情无套| 国产校园另类小说区| 精品日韩一区二区三区免费视频| 精品裸体舞一区二区三区| 91成人在线精品| 欧美专区亚洲专区| 99精品偷自拍| 91视频国产观看| 色婷婷av一区二区三区软件 | 欧美视频在线播放| 色视频欧美一区二区三区| 波多野结衣一区二区三区 | 亚洲一区在线看| 激情综合网av| 国产精品三级电影| 国产校园另类小说区| 久久久精品综合| 久久久久国产精品厨房| 久久久精品国产免费观看同学| 欧美电视剧在线看免费| 精品国产精品网麻豆系列 | 《视频一区视频二区| 欧美国产综合一区二区| 国产精品久久777777| 日韩一区欧美小说| 一区二区成人在线视频 | 成人免费视频网站在线观看| 国产v日产∨综合v精品视频| 高清不卡一区二区在线| 高清不卡一区二区| 91麻豆国产福利精品| 欧美在线观看禁18| 91精品国产麻豆国产自产在线| 日韩欧美在线1卡| 国产日韩欧美一区二区三区乱码 | 久久色视频免费观看| 久久九九影视网| 国产精品国产三级国产有无不卡 | 欧美二区三区91| 日韩欧美成人一区二区| 久久精品夜色噜噜亚洲aⅴ| 亚洲国产精品99久久久久久久久| 亚洲图片激情小说| 亚洲成av人片一区二区三区| 免费日本视频一区| 国产福利不卡视频| 在线看不卡av| 日韩精品一区二区三区swag | 免费成人美女在线观看| 国产一区二区三区最好精华液| 国产精品1024久久| 欧美伊人久久久久久久久影院 | 国产人妖乱国产精品人妖| 亚洲日本在线a| 日韩福利电影在线观看| 成人激情文学综合网| 欧美日韩激情一区二区| 国产人妖乱国产精品人妖| 一区二区三区精品| 韩国av一区二区三区四区| 91在线国产观看| 日韩欧美一级片| 国产精品久久看| 日韩经典一区二区| 国产成人精品三级| 7777精品伊人久久久大香线蕉| 久久综合丝袜日本网| 一区二区三区中文字幕| 久久超碰97人人做人人爱| 色综合色狠狠天天综合色| 精品国产免费视频| 亚洲国产精品一区二区久久恐怖片| 国产精品自在在线| 日韩午夜小视频| 夜夜揉揉日日人人青青一国产精品| 国模无码大尺度一区二区三区| 色狠狠综合天天综合综合| 久久久久久久久久久久久夜| 亚洲成人1区2区| 成人性生交大合| 欧美一区二区三区在线观看| 亚洲欧美精品午睡沙发| 国产精品1024| 精品欧美一区二区在线观看| 一区二区欧美国产| 99这里只有精品| 久久影院午夜论| 美女一区二区久久| 欧美日韩国产小视频在线观看| 国产精品国产自产拍在线| 激情小说欧美图片| 欧美一区二区黄| 日日摸夜夜添夜夜添亚洲女人| 91福利视频网站| 亚洲精品国产精品乱码不99| 国产成人午夜99999| ww亚洲ww在线观看国产| 免费高清视频精品| 日韩区在线观看| 日韩和欧美一区二区三区| 欧美在线高清视频| 亚洲一区二区欧美激情| 欧美亚一区二区| 亚洲午夜电影网| 欧美性猛交xxxxxxxx| 一区二区三区在线观看网站| 色综合中文字幕国产 | 欧美体内she精高潮| 亚洲欧美视频在线观看| 91丨porny丨蝌蚪视频| 中文字幕一区日韩精品欧美| 99精品一区二区三区| 亚洲猫色日本管| 在线免费观看视频一区| 一区二区三区蜜桃| 欧美色国产精品| 男人的j进女人的j一区| 日韩精品一区二区三区在线观看| 久久精品国产99久久6| 精品免费一区二区三区| 国产精品自拍一区| 国产欧美中文在线| 99re在线视频这里只有精品| 伊人夜夜躁av伊人久久| 色88888久久久久久影院按摩| 一区二区三区日韩欧美精品| 91视频国产资源| 亚欧色一区w666天堂| 日韩精品一区二区三区蜜臀| 国产伦精一区二区三区| 中文字幕va一区二区三区| 一本久久a久久精品亚洲| 亚洲狠狠爱一区二区三区| 7777精品伊人久久久大香线蕉经典版下载 | 国产高清不卡一区二区| 日韩理论片一区二区| 欧美性感一区二区三区| 久久99久国产精品黄毛片色诱| 国产色综合一区| 色老综合老女人久久久| 美女爽到高潮91| 国产精品成人一区二区艾草 | 精品久久五月天| 91视频91自| 看片的网站亚洲| 国产精品福利一区| 欧美精品视频www在线观看| 国产精品中文欧美| 亚洲美女淫视频| 欧美成人官网二区| 免费欧美高清视频| 国产成人一区在线| 欧美群妇大交群的观看方式| 在线一区二区三区四区五区| 欧美视频精品在线| 欧美日韩在线播| 中文字幕视频一区二区三区久| 99精品欧美一区二区蜜桃免费| 婷婷丁香久久五月婷婷| 久久久不卡网国产精品一区| 欧美午夜免费电影| 国产一区 二区| 亚洲国产精品精华液网站| 久久久久国产免费免费| 欧美精品亚洲一区二区在线播放| 国产91精品一区二区麻豆网站 | 亚洲精品成人a在线观看| 欧美一区二区三区男人的天堂 | 欧美精选在线播放| av电影一区二区| 久久9热精品视频| 亚洲影视在线播放| 久久精品一区二区三区不卡牛牛|