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

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

?? ljitlib.c

?? lua的即時(shí)編譯器。支持lua 5.1.2版本
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
  lua_pushvalue(L, -2);  /* Pipeline table as upvalue. */  lua_pushcclosure(L, j_frontend, 1);  lua_rawset(L, LUA_REGISTRYINDEX);  /* Register the frontend wrapper. */  G(L)->jit_state->frontwrap = frontwrap;  /* Add jit.attach with the pipeline table as upvalue. */  lua_pushcclosure(L, j_attach, 1);  lua_setfield(L, -2, "attach");  /* "jit" table must be below. */}/* ------------------------------------------------------------------------ *//* Calculate total mcode size without mfm and only for active mcode blocks. */static size_t mcodesize(Proto *pt){  jit_MCTrailer tr;  size_t sz = 0;  tr.mcode = (char *)pt->jit_mcode;  tr.sz = pt->jit_szmcode;  do {    jit_Mfm *mfm = JIT_MCMFM(tr.mcode, tr.sz);    if (sz != 0 && jit_mfm_ismain(mfm)) break;  /* Stop at old main mfm. */    while (*mfm != JIT_MFM_STOP) mfm--;  /* Search for end of mcode. */    sz += (char *)mfm-(char *)tr.mcode;  /* Add size of mcode without mfm. */    memcpy((void *)&tr, JIT_MCTRAILER(tr.mcode, tr.sz), sizeof(jit_MCTrailer));  } while (tr.mcode != NULL);  return sz;}#define setintfield(name, i) \  do { lua_pushinteger(L, i); lua_setfield(L, -2, name); } while (0)/* local stats = jit.util.stats(func) */static int ju_stats(lua_State *L){  if (!(L->top > L->base))    luaL_argerror(L, 1, "Lua function expected");  if (isLfunction(L->base)) {    Proto *pt = clvalue(L->base)->l.p;    lua_createtable(L, 0, 11);    setintfield("status", pt->jit_status);    setintfield("stackslots", pt->maxstacksize);    setintfield("params", pt->numparams);    setintfield("bytecodes", pt->sizecode);    setintfield("consts", pt->sizek);    setintfield("upvalues", pt->nups);    setintfield("subs", pt->sizep);    lua_pushboolean(L, pt->is_vararg);    lua_setfield(L, -2, "isvararg");    lua_getfenv(L, 1);    lua_setfield(L, -2, "env");    if (pt->jit_szmcode != 0) {      setintfield("mcodesize", (int)mcodesize(pt));      lua_pushnumber(L, (lua_Number)(size_t)pt->jit_mcode);      lua_setfield(L, -2, "mcodeaddr");    }    return 1;  } else {    return 0;  /* Don't throw an error like the other util functions. */  }}/* local op, a, b, c, test = jit.util.bytecode(func, pc) */static int ju_bytecode(lua_State *L){  Proto *pt = check_LCL(L)->l.p;  int pc = luaL_checkint(L, 2);  if (pc >= 1 && pc <= pt->sizecode) {    Instruction ins = pt->code[pc-1];    OpCode op = GET_OPCODE(ins);    if (pc > 1 && (((int)OP_SETLIST) << POS_OP) ==	(pt->code[pc-2] & (MASK1(SIZE_OP,POS_OP) | MASK1(SIZE_C,POS_C)))) {      lua_pushstring(L, luaP_opnames[OP_SETLIST]);      lua_pushnumber(L, (lua_Number)ins);  /* Fake extended op. */      return 1;    }    if (op >= NUM_OPCODES) return 0;  /* Just in case. */    lua_pushstring(L, luaP_opnames[op]);    lua_pushinteger(L, GETARG_A(ins));    switch (getOpMode(op)) {    case iABC: {      int b = GETARG_B(ins), c = GETARG_C(ins);      switch (getBMode(op)) {      case OpArgN: lua_pushnil(L); break;      case OpArgK: if (ISK(b)) b = -1-INDEXK(b);      case OpArgR: case OpArgU: lua_pushinteger(L, b); break;      }      switch (getCMode(op)) {      case OpArgN: lua_pushnil(L); break;      case OpArgK: if (ISK(c)) c = -1-INDEXK(c);      case OpArgR: case OpArgU: lua_pushinteger(L, c); break;      }      lua_pushboolean(L, testTMode(op));      return 5;    }    case iABx: {      int bx = GETARG_Bx(ins);      lua_pushinteger(L, getBMode(op) == OpArgK ? -1-bx : bx);      return 3;    }    case iAsBx:      lua_pushinteger(L, GETARG_sBx(ins));      return 3;    }  }  return 0;}/* local const, ok = jit.util.const(func, idx) */static int ju_const(lua_State *L){  Proto *pt = check_LCL(L)->l.p;  int idx = luaL_checkint(L, 2);  if (idx < 0) idx = -idx;  /* Handle both positive and negative indices. */  if (idx >= 1 && idx <= pt->sizek) {    setobj2s(L, L->top-1, &pt->k[idx-1]);    lua_pushboolean(L, 1);    return 2;  }  lua_pushnil(L);  lua_pushboolean(L, 0);  return 2;}/* local upvalue, ok = jit.util.upvalue(func, idx) */static int ju_upvalue(lua_State *L){  Closure *cl = check_LCL(L);  Proto *pt = cl->l.p;  int idx = luaL_checkint(L, 2);  if (idx >= 0 && idx < pt->nups) {    setobj2s(L, L->top-1, cl->l.upvals[idx]->v);    lua_pushboolean(L, 1);    return 2;  }  lua_pushnil(L);  lua_pushboolean(L, 0);  return 2;}/* local nup = jit.util.closurenup(func, idx) */static int ju_closurenup(lua_State *L){  Closure *cl = check_LCL(L);  Proto *pt = cl->l.p;  int idx = luaL_checkint(L, 2);  if (idx >= 0 && idx < pt->sizep) {    lua_pushinteger(L, pt->p[idx]->nups);    return 1;  }  return 0;}/* for tag, mark in mfmiter do ... end. */static int ju_mfmiter(lua_State *L){  jit_Mfm *mfm = (jit_Mfm *)lua_touserdata(L, lua_upvalueindex(1));  int m = *mfm--;  switch (m) {  case JIT_MFM_STOP: return 0;  case JIT_MFM_COMBINE: lua_pushliteral(L, "COMBINE"); lua_pushnil(L); break;  case JIT_MFM_DEAD: lua_pushliteral(L, "DEAD"); lua_pushnil(L); break;  default:    lua_pushinteger(L, m & JIT_MFM_MASK);    lua_pushboolean(L, m & JIT_MFM_MARK);    break;  }  lua_pushlightuserdata(L, (void *)mfm);  lua_replace(L, lua_upvalueindex(1));  return 2;}/* local addr, mcode, mfmiter = jit.util.mcode(func, block) */static int ju_mcode(lua_State *L){  Proto *pt = check_LCL(L)->l.p;  if (pt->jit_szmcode == 0) {  /* Not compiled (yet): return nil, status. */    lua_pushnil(L);    lua_pushinteger(L, pt->jit_status);    return 2;  } else {    jit_Mfm *mfm;    jit_MCTrailer tr;    int block = luaL_checkint(L, 2);    tr.mcode = (char *)pt->jit_mcode;    tr.sz = pt->jit_szmcode;    while (--block > 0) {      memcpy((void *)&tr, JIT_MCTRAILER(tr.mcode, tr.sz),	     sizeof(jit_MCTrailer));      if (tr.sz == 0) return 0;    }    mfm = JIT_MCMFM(tr.mcode, tr.sz);    while (*mfm != JIT_MFM_STOP) mfm--;  /* Search for end of mcode. */    lua_pushnumber(L, (lua_Number)(size_t)tr.mcode);    lua_pushlstring(L, (const char *)tr.mcode, (char *)mfm-(char *)tr.mcode);    lua_pushlightuserdata(L, (void *)JIT_MCMFM(tr.mcode, tr.sz));    lua_pushvalue(L, 1);  /* Must hold onto function to avoid GC. */    lua_pushcclosure(L, ju_mfmiter, 2);    return 3;  }}/* local addr [, mcode] = jit.util.jsubmcode([idx]) */static int ju_jsubmcode(lua_State *L){  jit_State *J = G(L)->jit_state;  if (lua_isnoneornil(L, 1)) {    lua_pushnumber(L, (lua_Number)(size_t)J->jsubmcode);    lua_pushlstring(L, (const char *)J->jsubmcode, J->szjsubmcode);    return 2;  } else {    int idx = luaL_checkint(L, 1);    if (idx >= 0 && idx < J->numjsub) {      lua_pushnumber(L, (lua_Number)(size_t)J->jsub[idx]);      return 1;    }    return 0;  }}/* FOR INTERNAL DEBUGGING USE ONLY: local addr = jit.util.stackptr() */static int ju_stackptr(lua_State *L){  jit_State *J = G(L)->jit_state;  size_t addr = cast(size_t (*)(void), J->jsub[0])();  /* JSUB_STACKPTR == 0! */  lua_pushnumber(L, (lua_Number)addr);  return 1;}/* jit.util.* functions. */static const luaL_Reg jitutillib[] = {  {"stats",		ju_stats },  {"bytecode",		ju_bytecode },  {"const",		ju_const },  {"upvalue",		ju_upvalue },  {"closurenup",	ju_closurenup },  {"mcode",		ju_mcode },  {"jsubmcode",		ju_jsubmcode },  {"stackptr",		ju_stackptr },  { NULL, NULL }};/* Make hint name to hint number map. */static void makehints(lua_State *L, const char *const *t, int tmax,		      const char *name){  int i;  lua_createtable(L, 0, tmax);  for (i = 1; i < tmax; i++) {    lua_pushinteger(L, JIT_H2NUM(i));    lua_setfield(L, -2, t[i-1]);  }  lua_setfield(L, -2, name);}/* CHECK: must match with ljit.h (grep "ORDER JIT_S"). */static const char *const status_list[] = {  "OK",  "NONE",  "OFF",  "ENGINE_OFF",  "DELAYED",  "TOOLARGE",  "COMPILER_ERROR",  "DASM_ERROR"};/* Make bidirectional status name to status number map. */static void makestatus(lua_State *L, const char *name){  int i;  lua_createtable(L, JIT_S_MAX-1, JIT_S_MAX+1);  /* Codes are not 1-based. */  for (i = 0; i < JIT_S_MAX; i++) {    lua_pushstring(L, status_list[i]);    lua_pushinteger(L, i);    lua_pushvalue(L, -2);    lua_rawseti(L, -4, i);    lua_rawset(L, -3);  }  lua_setfield(L, -2, name);}/* ------------------------------------------------------------------------ *//*** Open JIT library*/LUALIB_API int luaopen_jit(lua_State *L){  /* Add the core JIT library. */  luaL_register(L, LUA_JITLIBNAME, jitlib);  lua_pushliteral(L, LUAJIT_VERSION);  lua_setfield(L, -2, "version");  setintfield("version_num", LUAJIT_VERSION_NUM);  lua_pushstring(L, luaJIT_arch);  lua_setfield(L, -2, "arch");  makepipeline(L);  /* Add the utility JIT library. */  luaL_register(L, LUA_JITLIBNAME ".util", jitutillib);  makestatus(L, "status");  makehints(L, hints_H, JIT_H_MAX, "hints");  makehints(L, hints_FH, JIT_FH_MAX, "fhints");  lua_pop(L, 1);  /* Everything ok, so turn the JIT engine on. Vroooom! */  if (luaJIT_setmode(L, 0, LUAJIT_MODE_ENGINE|LUAJIT_MODE_ON) <= 0) {    /* Ouch. Someone screwed up DynASM or the JSUBs. Probably me. */    /* But if you get 999999999, look at jit_consistency_check(). */    return luaL_error(L, "JIT engine init failed (%d)",	G(L)->jit_state->dasmstatus);  }  return 1;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区在线视频| 日韩三级中文字幕| 日本中文字幕一区二区有限公司| 中文字幕中文字幕在线一区| 在线观看欧美黄色| 国产尤物一区二区在线| 一区二区三区四区国产精品| 久久久久久97三级| 欧美三区在线观看| 91免费视频网址| 高清国产一区二区| 亚洲欧洲制服丝袜| 99国产精品久| 国产成人精品一区二区三区四区| 亚洲午夜精品在线| 亚洲啪啪综合av一区二区三区| 久久久天堂av| 日韩精品一区二区三区中文精品| 欧美中文字幕一区二区三区| a4yy欧美一区二区三区| 国产成人综合亚洲91猫咪| 日韩精品久久理论片| 亚洲一二三四区| 国产精品国产三级国产普通话蜜臀 | 午夜视频久久久久久| 中文字幕一区二区三区色视频| 欧美成人一区二区三区在线观看| 欧美视频在线播放| 色哦色哦哦色天天综合| aaa国产一区| 成人毛片视频在线观看| 东方aⅴ免费观看久久av| 国产麻豆成人传媒免费观看| 久久国产日韩欧美精品| 日本不卡视频在线观看| 日韩精品免费专区| 日本中文在线一区| 视频在线观看一区二区三区| 亚洲国产精品久久久久秋霞影院| 亚洲伦理在线免费看| 成人欧美一区二区三区黑人麻豆 | 成人av资源站| fc2成人免费人成在线观看播放| 国产精品一区2区| 国产激情视频一区二区三区欧美| 国产一区二区三区久久悠悠色av| 国内精品视频一区二区三区八戒 | 成人午夜激情在线| 国产一区二区三区观看| 高清在线不卡av| 东方欧美亚洲色图在线| 9i在线看片成人免费| 92国产精品观看| 色88888久久久久久影院野外| 欧美综合天天夜夜久久| 欧美色区777第一页| 7777精品伊人久久久大香线蕉的| 欧美一级在线视频| 久久色在线视频| 国产精品另类一区| 亚洲欧美日韩国产手机在线| 亚洲成在线观看| 六月婷婷色综合| 成人福利视频网站| 欧美色网站导航| 日韩欧美亚洲另类制服综合在线| 精品日韩在线观看| 欧美精彩视频一区二区三区| 亚洲欧美激情视频在线观看一区二区三区| 亚洲男人的天堂网| 日韩av在线免费观看不卡| 狠狠色丁香婷婷综合| 成人少妇影院yyyy| 欧美亚洲国产怡红院影院| 日韩亚洲欧美中文三级| 久久久久久电影| 亚洲综合丝袜美腿| 国产一区二区在线电影| 9久草视频在线视频精品| 欧美日韩另类国产亚洲欧美一级| 欧美成人一级视频| 亚洲女子a中天字幕| 久久9热精品视频| 99这里只有久久精品视频| 欧美日韩国产在线观看| 日本一区二区三区国色天香| 综合激情网...| 日本成人在线电影网| 不卡一区二区在线| 91精品免费观看| 国产精品天天摸av网| 天堂一区二区在线免费观看| 豆国产96在线|亚洲| 欧美一区二区三区在线观看| 国产精品国产精品国产专区不蜜| 日本中文字幕一区二区视频 | 国产乱码精品一品二品| 欧美群妇大交群的观看方式| 国产日韩v精品一区二区| 日日噜噜夜夜狠狠视频欧美人| 国产风韵犹存在线视精品| 欧美精品色一区二区三区| 亚洲欧洲另类国产综合| 精品亚洲成av人在线观看| 欧美制服丝袜第一页| 国产精品污www在线观看| 精品中文av资源站在线观看| 欧美日韩一本到| 亚洲码国产岛国毛片在线| 国产麻豆精品theporn| 日韩一区二区电影| 亚洲一区二区欧美激情| 95精品视频在线| 日本一区二区免费在线| 国产一区在线不卡| 91麻豆精品国产91久久久久| 亚洲精品福利视频网站| 成人99免费视频| 久久久国产一区二区三区四区小说| 日韩精品午夜视频| 欧美日韩高清一区二区三区| 亚洲美女视频一区| 91香蕉国产在线观看软件| 2020国产成人综合网| 老司机精品视频导航| 欧美一级视频精品观看| 午夜精品视频一区| 欧美日韩视频在线观看一区二区三区| 亚洲男帅同性gay1069| 91在线一区二区三区| 自拍av一区二区三区| a级精品国产片在线观看| 中文字幕精品—区二区四季| 国产高清在线观看免费不卡| 久久精品亚洲精品国产欧美 | 欧美激情在线观看视频免费| 国产精品一区二区果冻传媒| 久久久久久99久久久精品网站| 国产中文字幕一区| 精品国产乱码久久久久久闺蜜 | 亚洲激情欧美激情| 99re视频这里只有精品| 亚洲精品国产第一综合99久久 | 欧美成人三级在线| 久久精品国产亚洲aⅴ| 欧美xxxx老人做受| 国产成人精品1024| 国产精品久久久一区麻豆最新章节| 成人av高清在线| 亚洲欧美在线视频| 欧美做爰猛烈大尺度电影无法无天| 亚洲成人资源网| 欧美一卡二卡在线观看| 国产在线精品免费| 国产精品五月天| 欧美在线观看视频在线| 日韩av不卡一区二区| 亚洲精品在线观看视频| 懂色av一区二区三区蜜臀| 亚洲天堂中文字幕| 欧美日本在线播放| 狠狠久久亚洲欧美| 中文字幕亚洲一区二区av在线 | 精品一区精品二区高清| 欧美国产1区2区| 欧美在线高清视频| 日韩avvvv在线播放| 精品av综合导航| 国产一区二区伦理| 亚洲欧美一区二区三区久本道91| av在线播放成人| 久久伊99综合婷婷久久伊| a亚洲天堂av| 亚洲一二三四在线| 欧美xxxx在线观看| 日本伦理一区二区| 亚洲18色成人| 欧美电影免费观看高清完整版在 | 国产成人亚洲精品青草天美| 国产精品久久精品日日| 色婷婷精品久久二区二区蜜臂av| 中文字幕一区二区三区四区不卡| av福利精品导航| 亚洲成人资源在线| 国产精品视频一二三区| 欧美视频一区在线| 精品一区二区综合| 亚洲黄色录像片| 欧美成人三级在线| 色狠狠桃花综合| 亚洲地区一二三色| 国产精品美日韩| 欧美三级日韩三级国产三级| 激情图片小说一区| 亚洲成av人片www| 国产婷婷色一区二区三区在线| 一本色道久久综合精品竹菊| 日韩电影一区二区三区四区| 久久精品亚洲麻豆av一区二区 | 精品日韩一区二区三区 |