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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ljit_x86.h

?? lua的即時編譯器。支持lua 5.1.2版本
?? H
?? 第 1 頁 / 共 5 頁
字號:
  if (nargs == -1 && ii.xnargs >= 0) {    dasm_put(Dst, 1435, Dt2([func+1+ii.xnargs]));  }  /* Now inline the function itself. */  switch (JIT_IH_LIB(ii.hidx)) {  case JIT_IHLIB_BASE: jit_inline_base(J, &ii); break;#ifndef COCO_DISABLE  case JIT_IHLIB_COROUTINE: jit_inline_coroutine(J, &ii); break;#endif  case JIT_IHLIB_STRING: jit_inline_string(J, &ii); break;  case JIT_IHLIB_TABLE:  jit_inline_table(J, &ii); break;  case JIT_IHLIB_MATH:   jit_inline_math(J, &ii); break;  default: jit_assert(0); break;  }  /* And add the common leadout for inlined calls. */  if (ii.nresults == -1) {    if (ii.xnresults >= 0) {      dasm_put(Dst, 791, Dt2([ii.res+ii.xnresults]));    }  } else if (ii.nargs == -1) {  /* Restore L->top only if needed. */    dasm_put(Dst, 1445, Dt2([J->pt->maxstacksize]), Dt1(->top));  }  if (nresults == -2) {  /* Results are in place. Add return for tailcalls. */    dasm_put(Dst, 1452, sizeof(TValue), Dt1(->ci), sizeof(CallInfo));  }  return -1;  /* Success, call has been inlined. */}/* ------------------------------------------------------------------------ *//* Helper function for inlined iterator code. Paraphrased from luaH_next. *//* TODO: GCC has trouble optimizing this. */static int jit_table_next(lua_State *L, TValue *ra){  Table *t = hvalue(&ra[TFOR_TAB]);  int i = ra[TFOR_CTL].value.b;  /* Hidden control variable. */  for (; i < t->sizearray; i++) {  /* First the array part. */    if (!ttisnil(&t->array[i])) {      setnvalue(&ra[TFOR_KEY], cast_num(i+1));      setobj2s(L, &ra[TFOR_VAL], &t->array[i]);      ra[TFOR_CTL].value.b = i+1;      return 1;    }  }  for (i -= t->sizearray; i < sizenode(t); i++) {  /* Then the hash part. */    if (!ttisnil(gval(gnode(t, i)))) {      setobj2s(L, &ra[TFOR_KEY], key2tval(gnode(t, i)));      setobj2s(L, &ra[TFOR_VAL], gval(gnode(t, i)));      ra[TFOR_CTL].value.b = i+1+t->sizearray;      return 1;    }  }  return 0;  /* End of iteration. */}/* Try to inline a TFORLOOP instruction. */static int jit_inline_tforloop(jit_State *J, int ra, int nresults, int target){  const TValue *oidx = hint_get(J, INLINE);  /* INLINE hint = lib/func idx. */  int idx;  if (!ttisnumber(oidx)) return 0;  /* No hint: don't inline anything. */  idx = (int)nvalue(oidx);  if (J->flags & JIT_F_DEBUG) return 0;  /* DWIM. */  switch (idx) {  case JIT_IH_MKIDX(JIT_IHLIB_BASE, JIT_IH_BASE_PAIRS):    dasm_put(Dst, 1465, Dt2([ra]), (ptrdiff_t)(jit_table_next), target);    return 1;  /* Success, iterator has been inlined. */  case JIT_IH_MKIDX(JIT_IHLIB_BASE, JIT_IH_BASE_IPAIRS):    dasm_put(Dst, 1483, Dt2([ra+TFOR_CTL].value), Dt2([ra+TFOR_TAB].value), Dt2([ra+TFOR_CTL].value), (ptrdiff_t)(luaH_getnum), Dt7(->tt), Dt2([ra+TFOR_CTL].value), Dt2([ra+TFOR_KEY].tt), Dt2([ra+TFOR_KEY].value), Dt7(->value), Dt7(->value.na[1]), Dt2([ra+TFOR_VAL].tt), Dt2([ra+TFOR_VAL].value), Dt2([ra+TFOR_VAL].value.na[1]), target);    return 1;  /* Success, iterator has been inlined. */  }  return 0;  /* No support for inlining any other iterators. */}/* ------------------------------------------------------------------------ */#ifdef LUA_COMPAT_VARARGstatic void jit_vararg_table(lua_State *L){  Table *tab;  StkId base, func;  int i, num, numparams;  luaC_checkGC(L);  base = L->base;  func = L->ci->func;  numparams = clvalue(func)->l.p->numparams;  num = base - func - numparams - 1;  tab = luaH_new(L, num, 1);  for (i = 0; i < num; i++)    setobj2n(L, luaH_setnum(L, tab, i+1), base - num + i);  setnvalue(luaH_setstr(L, tab, luaS_newliteral(L, "n")), (lua_Number)num);  sethvalue(L, base + numparams, tab);}#endif/* Encode JIT function prologue. */static void jit_prologue(jit_State *J){  Proto *pt = J->pt;  int numparams = pt->numparams;  int stacksize = pt->maxstacksize;  dasm_put(Dst, 1544, Dt3([stacksize]), Dt1(->stack_last), Dt1(->end_ci), Dt4([1]), Dt4(->func), sizeof(TValue), Dt1(->ci));  if (numparams > 0) {    dasm_put(Dst, 1580, Dt2([numparams]));  }  if (!pt->is_vararg) {  /* Fixarg function. */    /* Must cap L->top at L->base+numparams because 1st LOADNIL is omitted. */    if (numparams == 0) {      dasm_put(Dst, 1586);    } else if (J->flags & JIT_F_CPU_CMOV) {      dasm_put(Dst, 1589);    } else {      dasm_put(Dst, 1594);    }    dasm_put(Dst, 1603, Dt2([stacksize]), Dt4(->tailcalls), Dt4(->top), Dt1(->top), Dt1(->base), Dt4(->base));  } else {  /* Vararg function. */    int i;    if (numparams > 0) {      dasm_put(Dst, 1622);      dasm_put(Dst, 1630, Dt3(->tt), sizeof(TValue));    }    dasm_put(Dst, 1649, Dt1(->base), Dt4(->base), Dt4(->tailcalls));    for (i = 0; i < numparams; i++) {  /* Move/clear fixargs. */      if (J->flags & JIT_F_CPU_SSE2) {      dasm_put(Dst, 1659, Dt2([i].tt), Dt2([i].value), Dt3([i].tt), Dt3([i].value));      } else {      dasm_put(Dst, 1677, Dt2([i].value), Dt2([i].value.na[1]), Dt3([i].value), Dt2([i].tt), Dt3([i].value.na[1]), Dt3([i].tt));      }      dasm_put(Dst, 854, Dt2([i].tt));    }    if (numparams > 0) {      dasm_put(Dst, 332, Dt1(->ci));    }    dasm_put(Dst, 1696, Dt2([stacksize]), Dt2([numparams]), Dt4(->top), Dt1(->top));    stacksize -= numparams;		/* Fixargs are already cleared. */  }  /* Clear undefined args and all vars. Still assumes eax = LUA_TNIL = 0. */  /* Note: cannot clear only args because L->top has grown. */  if (stacksize <= EXTRA_STACK) {  /* Loopless clear. May use EXTRA_STACK. */    int i;    for (i = 0; i < stacksize; i++) {      dasm_put(Dst, 1712, Dt3([i].tt));    }  } else {  /* Standard loop. */    dasm_put(Dst, 1716, Dt3([0].tt), Dt3([1].tt), 2*sizeof(TValue));  }#ifdef LUA_COMPAT_VARARG  if (pt->is_vararg & VARARG_NEEDSARG) {    dasm_put(Dst, 1734, (ptrdiff_t)(jit_vararg_table));  }#endif  /* Call hook check. */  if (J->flags & JIT_F_DEBUG_CALL) {    dasm_put(Dst, 1740, Dt1(->hookmask), LUA_MASKCALL);  }}/* Check if we can combine 'return const'. */static int jit_return_k(jit_State *J){  if (!J->combine) return 0;  /* COMBINE hint set? */  /* May need to close open upvalues. */  if (!fhint_isset(J, NOCLOSE)) {    dasm_put(Dst, 1820, (ptrdiff_t)(luaF_close));  }  if (!J->pt->is_vararg) {  /* Fixarg function. */    dasm_put(Dst, 1830, Dt1(->ci), sizeof(CallInfo), sizeof(TValue));  } else {  /* Vararg function. */    dasm_put(Dst, 1844, Dt1(->ci), Dt4(->func), sizeof(CallInfo), Dt1(->ci), Dt2([1]));  }  jit_assert(J->combine == 1);  /* Required to skip next RETURN instruction. */  return 1;}static void jit_op_return(jit_State *J, int rbase, int nresults){  /* Return hook check. */  if (J->flags & JIT_F_DEBUG_CALL) {    if (nresults < 0 && !(J->flags & JIT_F_DEBUG_INS)) {      dasm_put(Dst, 594, Dt1(->top));    }    dasm_put(Dst, 1863, Dt1(->hookmask), LUA_MASKRET);    if (J->flags & JIT_F_DEBUG_INS) {      dasm_put(Dst, 1878, Dt1(->savedpc));    }  }  /* May need to close open upvalues. */  if (!fhint_isset(J, NOCLOSE)) {    dasm_put(Dst, 1820, (ptrdiff_t)(luaF_close));  }  /* Previous op was open: 'return f()' or 'return ...' */  if (nresults < 0) {    dasm_put(Dst, 332, Dt1(->ci));    if (rbase) {    dasm_put(Dst, 787, rbase*sizeof(TValue));    }    dasm_put(Dst, 1933, Dt4(->func), Dt4(->func), sizeof(CallInfo), Dt1(->ci));    return;  }  if (!J->pt->is_vararg) {  /* Fixarg function, nresults >= 0. */    int i;    dasm_put(Dst, 1980, Dt1(->ci), sizeof(CallInfo), sizeof(TValue));    for (i = 0; i < nresults; i++) {      if (J->flags & JIT_F_CPU_SSE2) {      dasm_put(Dst, 821, Dt2([rbase+i+1].tt), Dt2([rbase+i+1].value), Dt2([i].tt), Dt2([i].value));      } else {      dasm_put(Dst, 839, Dt2([rbase+i+1].value), Dt2([rbase+i+1].value.na[1]), Dt2([rbase+i+1].tt), Dt2([i].value), Dt2([i].value.na[1]), Dt2([i].tt));      }    }    dasm_put(Dst, 1989, Dt2([nresults]));  } else {  /* Vararg function, nresults >= 0. */    int i;    dasm_put(Dst, 1997, Dt1(->ci), Dt4(->func), sizeof(CallInfo), Dt1(->ci));    for (i = 0; i < nresults; i++) {      if (J->flags & JIT_F_CPU_SSE2) {      dasm_put(Dst, 1659, Dt2([rbase+i].tt), Dt2([rbase+i].value), Dt3([i].tt), Dt3([i].value));      } else {      dasm_put(Dst, 2010, Dt2([rbase+i].value), Dt2([rbase+i].value.na[1]), Dt2([rbase+i].tt), Dt3([i].value), Dt3([i].value.na[1]), Dt3([i].tt));      }    }    dasm_put(Dst, 2029);    if (nresults) {    dasm_put(Dst, 2036, nresults*sizeof(TValue));    }    dasm_put(Dst, 32);  }}static void jit_op_call(jit_State *J, int func, int nargs, int nresults){  int cltype = jit_inline_call(J, func, nargs, nresults);  if (cltype < 0) return;  /* Inlined? */  if (func) {  dasm_put(Dst, 787, func*sizeof(TValue));  }  dasm_put(Dst, 2040, Dt1(->ci), Dt2([0].tt));  if (nargs >= 0) {  /* Previous op was not open and did not set TOP. */    dasm_put(Dst, 791, Dt2([1+nargs]));  }  dasm_put(Dst, 2048, Dt2(->value), (ptrdiff_t)(J->nextins), Dt4(->savedpc));  if (cltype == LUA_TFUNCTION) {    if (nargs == -1) {      dasm_put(Dst, 2057);    } else {      dasm_put(Dst, 2062);    }  } else {    dasm_put(Dst, 2067);  }  dasm_put(Dst, 2116, Dt5(->jit_gate));  if (func) {  dasm_put(Dst, 1984, func*sizeof(TValue));  }  dasm_put(Dst, 2121, Dt1(->base));  /* Clear undefined results TOP <= o < func+nresults. */  if (nresults > 0) {    dasm_put(Dst, 2125);    if (nresults <= EXTRA_STACK) {  /* Loopless clear. May use EXTRA_STACK. */      int i;      for (i = 0; i < nresults; i++) {	dasm_put(Dst, 1712, Dt3([i].tt));      }    } else {  /* Standard loop. TODO: move to .tail? */      dasm_put(Dst, 2128, Dt2([func+nresults]), Dt3([0].tt), Dt3([1].tt), 2*sizeof(TValue));    }  }  if (nresults >= 0) {  /* Not an open ins. Restore L->top. */    dasm_put(Dst, 1445, Dt2([J->pt->maxstacksize]), Dt1(->top));  }  /* Otherwise keep TOP for next instruction. */}static void jit_op_tailcall(jit_State *J, int func, int nargs){  int cltype;  if (!fhint_isset(J, NOCLOSE)) {  /* May need to close open upvalues. */    dasm_put(Dst, 1820, (ptrdiff_t)(luaF_close));  }  cltype = jit_inline_call(J, func, nargs, -2);  if (cltype < 0) goto finish;  /* Inlined? */  if (cltype == LUA_TFUNCTION) {    jit_deopt_target(J, nargs);    dasm_put(Dst, 2149, Dt2([func].tt));  } else {    dasm_put(Dst, 2158, Dt2([func].tt));    dasm_put(Dst, 2168);    if (func) {    dasm_put(Dst, 787, func*sizeof(TValue));    }    if (nargs >= 0) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本色道久久综合亚洲91 | 欧美一区永久视频免费观看| 在线观看欧美精品| 91麻豆精品国产自产在线观看一区| 欧美福利一区二区| 国产视频一区二区三区在线观看| 中文字幕制服丝袜成人av| 亚洲成人av电影| 国产成人免费视频一区| 欧美偷拍一区二区| 久久久久亚洲蜜桃| 亚洲国产日产av| 成人免费视频免费观看| 欧美精品色综合| 中文字幕在线免费不卡| 美国精品在线观看| 在线免费观看日本欧美| 国产亚洲精品免费| 日韩精品欧美成人高清一区二区| 北条麻妃国产九九精品视频| 91麻豆精品国产91久久久久久久久 | 国产一区二区三区| 91免费在线看| 精品av久久707| 亚洲综合激情网| 丰满亚洲少妇av| 日韩女优毛片在线| 午夜电影一区二区三区| 91视视频在线观看入口直接观看www | 亚洲欧美日韩精品久久久久| 日本一道高清亚洲日美韩| 播五月开心婷婷综合| 欧美岛国在线观看| 五月婷婷综合网| 看电影不卡的网站| 日本高清免费不卡视频| 国产亚洲1区2区3区| 日本欧美在线观看| 欧美三级三级三级| 亚洲色图丝袜美腿| 粉嫩一区二区三区在线看| 日韩女优毛片在线| 麻豆国产欧美日韩综合精品二区| 欧美日韩免费在线视频| 亚洲精品水蜜桃| 99天天综合性| 国产精品久久久久久久久图文区 | 久久精品亚洲乱码伦伦中文| 美女一区二区视频| 欧美一区二区三区免费观看视频| 亚洲国产欧美另类丝袜| 欧美色涩在线第一页| 亚洲午夜激情av| 欧美精品丝袜中出| 免费在线成人网| 国产不卡视频在线观看| 偷拍一区二区三区四区| 欧美精品精品一区| 日韩高清一区在线| 日韩亚洲欧美成人一区| 久久电影国产免费久久电影| 日韩三级伦理片妻子的秘密按摩| 奇米影视一区二区三区| 精品久久人人做人人爰| 国产精品一区二区三区99| 中文字幕欧美激情| 色先锋资源久久综合| 亚洲一区视频在线| 3d动漫精品啪啪1区2区免费 | 亚洲婷婷在线视频| 色94色欧美sute亚洲线路一久 | 奇米影视7777精品一区二区| 日韩欧美中文字幕一区| 国产传媒久久文化传媒| 亚洲色图欧美偷拍| 欧美肥胖老妇做爰| 国产永久精品大片wwwapp| 国产精品国产三级国产aⅴ原创| 一道本成人在线| 免费成人小视频| 国产精品国产三级国产普通话99| 欧美图区在线视频| 国产一区中文字幕| 亚洲精品国产无套在线观| 欧美一区二区三区在线视频| 国产一区二区三区在线观看精品 | 99视频精品全部免费在线| 久久99久久久欧美国产| 一区二区激情视频| 天天色综合天天| 久久只精品国产| 色综合久久九月婷婷色综合| 日韩激情在线观看| 国产午夜亚洲精品午夜鲁丝片| 色婷婷综合激情| 激情综合亚洲精品| 亚洲男女一区二区三区| 精品国免费一区二区三区| 91亚洲精品乱码久久久久久蜜桃 | 91在线国产观看| 日韩av电影免费观看高清完整版| 中文字幕精品一区二区三区精品| 欧美在线播放高清精品| 成人一区二区三区视频在线观看| 亚洲国产日韩一区二区| 久久精品亚洲麻豆av一区二区| 欧美影视一区二区三区| 粉嫩av一区二区三区在线播放| 丝袜美腿高跟呻吟高潮一区| 亚洲色图在线视频| 欧美国产精品一区二区三区| 69精品人人人人| 在线观看国产91| 懂色av噜噜一区二区三区av| 免费久久99精品国产| 一区二区三区精品在线| 欧美国产日产图区| 久久品道一品道久久精品| 日韩视频免费观看高清完整版 | 91成人免费电影| 国产激情精品久久久第一区二区 | eeuss鲁片一区二区三区在线观看| 美女尤物国产一区| 日韩二区三区四区| 亚洲成人免费在线观看| 国产精品私人影院| 欧美精品久久久久久久多人混战| 91色婷婷久久久久合中文| 国产老肥熟一区二区三区| 麻豆精品国产传媒mv男同| 日韩高清中文字幕一区| 香港成人在线视频| 欧美午夜理伦三级在线观看| 亚洲一区二区三区影院| 亚洲免费在线观看| 中文字幕中文字幕一区| 国产精品久久久久影院色老大| 久久久久久免费网| 精品国产一区a| 精品国产自在久精品国产| 日韩精品中午字幕| 精品国产乱码久久久久久久| 欧美成人高清电影在线| 久久综合久久99| 久久久青草青青国产亚洲免观| 久久麻豆一区二区| 中文字幕欧美三区| 亚洲视频综合在线| 亚洲一区二区三区四区五区黄 | 91网站黄www| 在线视频欧美精品| 欧美蜜桃一区二区三区 | 色婷婷国产精品| 色999日韩国产欧美一区二区| 欧洲亚洲精品在线| 欧美一区二区三区成人| 久久综合九色综合久久久精品综合| 欧美精品一区二区在线观看| 国产亚洲污的网站| 亚洲女女做受ⅹxx高潮| 亚洲成人自拍偷拍| 国产在线视视频有精品| eeuss鲁片一区二区三区| 欧美日韩成人在线| 久久久精品免费免费| 中文字幕佐山爱一区二区免费| 亚洲国产婷婷综合在线精品| 麻豆91在线观看| 不卡一区在线观看| 欧美一区永久视频免费观看| 国产三级精品在线| 亚洲大型综合色站| 国产精品自拍毛片| 欧美特级限制片免费在线观看| 日韩一二三区不卡| 亚洲欧洲三级电影| 蜜臀a∨国产成人精品| 99精品久久只有精品| 欧美久久一二三四区| 欧美韩国一区二区| 蜜桃精品视频在线观看| 色国产精品一区在线观看| 日韩一区二区三区免费观看| 中文字幕人成不卡一区| 日韩成人dvd| 91一区在线观看| 国产日产欧美精品一区二区三区| 午夜精品福利一区二区三区av | 精品在线视频一区| 91香蕉国产在线观看软件| 日韩欧美国产一区二区三区| 一区二区三区在线视频观看58| 黄色精品一二区| 欧美人与禽zozo性伦| 亚洲色图在线视频| 福利一区二区在线| 精品sm在线观看| 蜜桃视频免费观看一区| 欧美日韩三级一区二区| 亚洲免费观看高清完整版在线观看 |