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

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

?? lgc.c

?? lua的即時編譯器。支持lua 5.1.2版本
?? C
?? 第 1 頁 / 共 2 頁
字號:
    if (testbit(h->marked, VALUEWEAKBIT)) {      while (i--) {        TValue *o = &h->array[i];        if (iscleared(o, 0))  /* value was collected? */          setnilvalue(o);  /* remove value */      }    }    i = sizenode(h);    while (i--) {      Node *n = gnode(h, i);      if (!ttisnil(gval(n)) &&  /* non-empty entry? */          (iscleared(key2tval(n), 1) || iscleared(gval(n), 0))) {        setnilvalue(gval(n));  /* remove value ... */        removeentry(n);  /* remove entry from table */      }    }    l = h->gclist;  }}static void freeobj (lua_State *L, GCObject *o) {  switch (o->gch.tt) {    case LUA_TPROTO: luaF_freeproto(L, gco2p(o)); break;    case LUA_TFUNCTION: luaF_freeclosure(L, gco2cl(o)); break;    case LUA_TUPVAL: luaF_freeupval(L, gco2uv(o)); break;    case LUA_TTABLE: luaH_free(L, gco2h(o)); break;    case LUA_TTHREAD: {      lua_assert(gco2th(o) != L && gco2th(o) != G(L)->mainthread);      luaE_freethread(L, gco2th(o));      break;    }    case LUA_TSTRING: {      G(L)->strt.nuse--;      luaM_freemem(L, o, sizestring(gco2ts(o)));      break;    }    case LUA_TUSERDATA: {      luaM_freemem(L, o, sizeudata(gco2u(o)));      break;    }    default: lua_assert(0);  }}#define sweepwholelist(L,p)	sweeplist(L,p,MAX_LUMEM)static GCObject **sweeplist (lua_State *L, GCObject **p, lu_mem count) {  GCObject *curr;  global_State *g = G(L);  int deadmask = otherwhite(g);  while ((curr = *p) != NULL && count-- > 0) {    if (curr->gch.tt == LUA_TTHREAD)  /* sweep open upvalues of each thread */      sweepwholelist(L, &gco2th(curr)->openupval);    if ((curr->gch.marked ^ WHITEBITS) & deadmask) {  /* not dead? */      lua_assert(!isdead(g, curr) || testbit(curr->gch.marked, FIXEDBIT));      makewhite(g, curr);  /* make it white (for next cycle) */      p = &curr->gch.next;    }    else {  /* must erase `curr' */      lua_assert(isdead(g, curr) || deadmask == bitmask(SFIXEDBIT));      *p = curr->gch.next;      if (curr == g->rootgc)  /* is the first element of the list? */        g->rootgc = curr->gch.next;  /* adjust first */      freeobj(L, curr);    }  }  return p;}static void checkSizes (lua_State *L) {  global_State *g = G(L);  /* check size of string hash */  if (g->strt.nuse < cast(lu_int32, g->strt.size/4) &&      g->strt.size > MINSTRTABSIZE*2)    luaS_resize(L, g->strt.size/2);  /* table is too big */  /* check size of buffer */  if (luaZ_sizebuffer(&g->buff) > LUA_MINBUFFER*2) {  /* buffer too big? */    size_t newsize = luaZ_sizebuffer(&g->buff) / 2;    luaZ_resizebuffer(L, &g->buff, newsize);  }}static void GCTM (lua_State *L) {  global_State *g = G(L);  GCObject *o = g->tmudata->gch.next;  /* get first element */  Udata *udata = rawgco2u(o);  const TValue *tm;  /* remove udata from `tmudata' */  if (o == g->tmudata)  /* last element? */    g->tmudata = NULL;  else    g->tmudata->gch.next = udata->uv.next;  udata->uv.next = g->mainthread->next;  /* return it to `root' list */  g->mainthread->next = o;  makewhite(g, o);  tm = fasttm(L, udata->uv.metatable, TM_GC);  if (tm != NULL) {    lu_byte oldah = L->allowhook;    lu_mem oldt = g->GCthreshold;    L->allowhook = 0;  /* stop debug hooks during GC tag method */    g->GCthreshold = 2*g->totalbytes;  /* avoid GC steps */    setobj2s(L, L->top, tm);    setuvalue(L, L->top+1, udata);    L->top += 2;    luaD_call(L, L->top - 2, 0);    L->allowhook = oldah;  /* restore hooks */    g->GCthreshold = oldt;  /* restore threshold */  }}/*** Call all GC tag methods*/void luaC_callGCTM (lua_State *L) {  while (G(L)->tmudata)    GCTM(L);}void luaC_freeall (lua_State *L) {  global_State *g = G(L);  int i;  g->currentwhite = WHITEBITS | bitmask(SFIXEDBIT);  /* mask to collect all elements */  sweepwholelist(L, &g->rootgc);  for (i = 0; i < g->strt.size; i++)  /* free all string lists */    sweepwholelist(L, &g->strt.hash[i]);}static void markmt (global_State *g) {  int i;  for (i=0; i<NUM_TAGS; i++)    if (g->mt[i]) markobject(g, g->mt[i]);}/* mark root set */static void markroot (lua_State *L) {  global_State *g = G(L);  g->gray = NULL;  g->grayagain = NULL;  g->weak = NULL;  markobject(g, g->mainthread);  /* make global table be traversed before main stack */  markvalue(g, gt(g->mainthread));  markvalue(g, registry(L));  markmt(g);  g->gcstate = GCSpropagate;}static void remarkupvals (global_State *g) {  UpVal *uv;  for (uv = g->uvhead.u.l.next; uv != &g->uvhead; uv = uv->u.l.next) {    lua_assert(uv->u.l.next->u.l.prev == uv && uv->u.l.prev->u.l.next == uv);    if (isgray(obj2gco(uv)))      markvalue(g, uv->v);  }}static void atomic (lua_State *L) {  global_State *g = G(L);  size_t udsize;  /* total size of userdata to be finalized */  /* remark occasional upvalues of (maybe) dead threads */  remarkupvals(g);  /* traverse objects cautch by write barrier and by 'remarkupvals' */  propagateall(g);  /* remark weak tables */  g->gray = g->weak;  g->weak = NULL;  lua_assert(!iswhite(obj2gco(g->mainthread)));  markobject(g, L);  /* mark running thread */  markmt(g);  /* mark basic metatables (again) */  propagateall(g);  /* remark gray again */  g->gray = g->grayagain;  g->grayagain = NULL;  propagateall(g);  udsize = luaC_separateudata(L, 0);  /* separate userdata to be finalized */  marktmu(g);  /* mark `preserved' userdata */  udsize += propagateall(g);  /* remark, to propagate `preserveness' */  cleartable(g->weak);  /* remove collected objects from weak tables */  /* flip current white */  g->currentwhite = cast_byte(otherwhite(g));  g->sweepstrgc = 0;  g->sweepgc = &g->rootgc;  g->gcstate = GCSsweepstring;  g->estimate = g->totalbytes - udsize;  /* first estimate */}static l_mem singlestep (lua_State *L) {  global_State *g = G(L);  /*lua_checkmemory(L);*/  switch (g->gcstate) {    case GCSpause: {      markroot(L);  /* start a new collection */      return 0;    }    case GCSpropagate: {      if (g->gray)        return propagatemark(g);      else {  /* no more `gray' objects */        atomic(L);  /* finish mark phase */        return 0;      }    }    case GCSsweepstring: {      lu_mem old = g->totalbytes;      sweepwholelist(L, &g->strt.hash[g->sweepstrgc++]);      if (g->sweepstrgc >= g->strt.size)  /* nothing more to sweep? */        g->gcstate = GCSsweep;  /* end sweep-string phase */      lua_assert(old >= g->totalbytes);      g->estimate -= old - g->totalbytes;      return GCSWEEPCOST;    }    case GCSsweep: {      lu_mem old = g->totalbytes;      g->sweepgc = sweeplist(L, g->sweepgc, GCSWEEPMAX);      if (*g->sweepgc == NULL) {  /* nothing more to sweep? */        checkSizes(L);        g->gcstate = GCSfinalize;  /* end sweep phase */      }      lua_assert(old >= g->totalbytes);      g->estimate -= old - g->totalbytes;      return GCSWEEPMAX*GCSWEEPCOST;    }    case GCSfinalize: {      if (g->tmudata) {        GCTM(L);        if (g->estimate > GCFINALIZECOST)          g->estimate -= GCFINALIZECOST;        return GCFINALIZECOST;      }      else {        g->gcstate = GCSpause;  /* end collection */        g->gcdept = 0;        return 0;      }    }    default: lua_assert(0); return 0;  }}void luaC_step (lua_State *L) {  global_State *g = G(L);  l_mem lim = (GCSTEPSIZE/100) * g->gcstepmul;  if (lim == 0)    lim = (MAX_LUMEM-1)/2;  /* no limit */  g->gcdept += g->totalbytes - g->GCthreshold;  do {    lim -= singlestep(L);    if (g->gcstate == GCSpause)      break;  } while (lim > 0);  if (g->gcstate != GCSpause) {    if (g->gcdept < GCSTEPSIZE)      g->GCthreshold = g->totalbytes + GCSTEPSIZE;  /* - lim/g->gcstepmul;*/    else {      g->gcdept -= GCSTEPSIZE;      g->GCthreshold = g->totalbytes;    }  }  else {    lua_assert(g->totalbytes >= g->estimate);    setthreshold(g);  }}void luaC_fullgc (lua_State *L) {  global_State *g = G(L);  if (g->gcstate <= GCSpropagate) {    /* reset sweep marks to sweep all elements (returning them to white) */    g->sweepstrgc = 0;    g->sweepgc = &g->rootgc;    /* reset other collector lists */    g->gray = NULL;    g->grayagain = NULL;    g->weak = NULL;    g->gcstate = GCSsweepstring;  }  lua_assert(g->gcstate != GCSpause && g->gcstate != GCSpropagate);  /* finish any pending sweep phase */  while (g->gcstate != GCSfinalize) {    lua_assert(g->gcstate == GCSsweepstring || g->gcstate == GCSsweep);    singlestep(L);  }  markroot(L);  while (g->gcstate != GCSpause) {    singlestep(L);  }  setthreshold(g);}void luaC_barrierf (lua_State *L, GCObject *o, GCObject *v) {  global_State *g = G(L);  lua_assert(isblack(o) && iswhite(v) && !isdead(g, v) && !isdead(g, o));  lua_assert(g->gcstate != GCSfinalize && g->gcstate != GCSpause);  lua_assert(ttype(&o->gch) != LUA_TTABLE);  /* must keep invariant? */  if (g->gcstate == GCSpropagate)    reallymarkobject(g, v);  /* restore invariant */  else  /* don't mind */    makewhite(g, o);  /* mark as white just to avoid other barriers */}void luaC_barrierback (lua_State *L, Table *t) {  global_State *g = G(L);  GCObject *o = obj2gco(t);  lua_assert(isblack(o) && !isdead(g, o));  lua_assert(g->gcstate != GCSfinalize && g->gcstate != GCSpause);  black2gray(o);  /* make table gray (again) */  t->gclist = g->grayagain;  g->grayagain = o;}void luaC_link (lua_State *L, GCObject *o, lu_byte tt) {  global_State *g = G(L);  o->gch.next = g->rootgc;  g->rootgc = o;  o->gch.marked = luaC_white(g);  o->gch.tt = tt;}void luaC_linkupval (lua_State *L, UpVal *uv) {  global_State *g = G(L);  GCObject *o = obj2gco(uv);  o->gch.next = g->rootgc;  /* link upvalue into `rootgc' list */  g->rootgc = o;  if (isgray(o)) {     if (g->gcstate == GCSpropagate) {      gray2black(o);  /* closed upvalues need barrier */      luaC_barrier(L, uv, uv->v);    }    else {  /* sweep phase: sweep it (turning it into white) */      makewhite(g, o);      lua_assert(g->gcstate != GCSfinalize && g->gcstate != GCSpause);    }  }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩欧美在线一区| 天天爽夜夜爽夜夜爽精品视频| 亚洲影院久久精品| 国产一区二区美女| 欧美日韩一区 二区 三区 久久精品| 精品国产乱码久久久久久1区2区| 夜夜精品浪潮av一区二区三区| 久久99精品国产91久久来源| 欧美三级视频在线| 成人免费视频在线观看| 国产成人av电影在线观看| 91精品在线免费观看| 亚洲女子a中天字幕| 国产成人自拍网| 精品福利一区二区三区| 天天av天天翘天天综合网色鬼国产 | 亚洲综合一二区| 国产a精品视频| 精品福利一区二区三区 | 欧美精品一级二级三级| 亚洲精品乱码久久久久久日本蜜臀| 国产一区二区美女| 久久综合狠狠综合久久激情| 人人爽香蕉精品| 日韩一区二区不卡| 日一区二区三区| 欧美顶级少妇做爰| 视频在线在亚洲| 777午夜精品免费视频| 亚洲综合免费观看高清完整版在线| 91色婷婷久久久久合中文| 国产精品成人一区二区艾草| 波多野结衣一区二区三区| 中文字幕乱码一区二区免费| 成人一区二区三区视频| 国产三区在线成人av| 国产成人亚洲精品狼色在线| 国产精品免费视频观看| 色综合中文字幕国产| 国产精品福利在线播放| 日本精品一区二区三区高清 | 国产美女精品一区二区三区| 精品福利二区三区| 国产剧情一区在线| 国产视频视频一区| 色哟哟日韩精品| 天天色天天操综合| 精品国内二区三区| 国产69精品久久777的优势| 国产精品白丝在线| 欧美亚洲国产一卡| 激情综合亚洲精品| 国产精品麻豆视频| 色噜噜狠狠色综合欧洲selulu| 亚洲午夜精品网| 欧美mv和日韩mv的网站| 成人亚洲精品久久久久软件| 一区二区三区在线免费播放| 欧美一区二区美女| 成人a级免费电影| 天天综合色天天| 国产精品视频yy9299一区| 色婷婷久久99综合精品jk白丝| 亚洲成a人v欧美综合天堂下载 | 成人性色生活片| 亚洲一区二区三区四区的| 日韩亚洲欧美在线| 99在线热播精品免费| 三级不卡在线观看| 中文字幕日本乱码精品影院| 欧美久久久久久久久久| 国产91丝袜在线播放| 午夜精品一区二区三区免费视频 | 北条麻妃一区二区三区| 五月综合激情日本mⅴ| 国产天堂亚洲国产碰碰| 欧美精品v国产精品v日韩精品| 国产成人精品亚洲日本在线桃色| 夜夜嗨av一区二区三区四季av | 成人午夜视频免费看| 亚洲va国产天堂va久久en| 国产精品日韩精品欧美在线| 91精品福利在线一区二区三区| 波多野结衣亚洲| 国产自产v一区二区三区c| 亚洲国产成人高清精品| 亚洲特级片在线| 国产亚洲短视频| 欧美一区二区三区小说| 色香蕉久久蜜桃| 成人高清视频在线观看| 久久国产精品第一页| 天天影视网天天综合色在线播放| 国产精品全国免费观看高清| 精品国产凹凸成av人网站| 欧美日韩在线亚洲一区蜜芽| 99精品国产热久久91蜜凸| 国产精品伊人色| 久久久精品人体av艺术| 国产91高潮流白浆在线麻豆 | 欧美三级视频在线播放| 欧美精品久久久久久久多人混战| 国内精品国产三级国产a久久| 2021久久国产精品不只是精品| 精品写真视频在线观看| 日韩精品高清不卡| 欧美日韩国产首页| 91免费观看视频| 成人av资源站| 成人动漫中文字幕| 成人精品小蝌蚪| 成人性生交大片免费看视频在线| 久久99九九99精品| 久久精品国产一区二区| 蜜桃免费网站一区二区三区| 蜜桃久久精品一区二区| 麻豆久久久久久久| 精品一区二区在线免费观看| 国内精品久久久久影院薰衣草| 精品一区二区在线视频| 国产一区二区三区免费在线观看| 麻豆中文一区二区| 国产一区高清在线| 国产精品一区二区久久不卡| 国产一区二区0| 99久久精品一区二区| 亚洲福利视频一区二区| 亚洲四区在线观看| 一区二区三区精密机械公司| 一二三四社区欧美黄| 亚洲成人精品一区| 久久精品国产精品亚洲精品| 精品一区二区三区的国产在线播放| 激情亚洲综合在线| 国产91精品露脸国语对白| 91欧美激情一区二区三区成人| 91久久精品日日躁夜夜躁欧美| 欧美日韩不卡在线| 精品国产一区二区在线观看| 国产精品色婷婷| 亚洲欧美一区二区三区极速播放| 亚洲综合精品久久| 久久国产福利国产秒拍| 99re这里只有精品首页| 欧美精品一级二级三级| 久久久久久夜精品精品免费| 国产精品成人免费在线| 亚洲国产成人精品视频| 国产黄色成人av| 欧美性做爰猛烈叫床潮| 久久影视一区二区| 亚洲狠狠丁香婷婷综合久久久| 日日摸夜夜添夜夜添亚洲女人| 国产一区二区三区免费观看| 日本高清不卡视频| 精品国产一区二区三区久久影院| 日韩毛片视频在线看| 另类综合日韩欧美亚洲| 色老汉一区二区三区| 国产亚洲精品资源在线26u| 亚洲免费在线看| 国产伦精品一区二区三区免费迷| 色综合一区二区三区| 精品久久久久久久人人人人传媒| 亚洲精品日产精品乱码不卡| 国产在线精品一区二区不卡了| 欧美自拍丝袜亚洲| 国产精品无人区| 美女看a上一区| 欧美性做爰猛烈叫床潮| 国产日韩成人精品| 美日韩一区二区三区| 91久久线看在观草草青青| 日本一区二区三区电影| 久久电影网站中文字幕 | 久久午夜色播影院免费高清| 一区二区三区日本| 成人在线视频一区| 亚洲欧美日韩成人高清在线一区| 麻豆成人免费电影| 欧美日韩中文字幕一区| 亚洲品质自拍视频网站| 成人h动漫精品| 日本一区二区三区国色天香| 国精产品一区一区三区mba桃花 | 色先锋aa成人| 国产精品毛片久久久久久| 久久精品国产精品亚洲精品| 在线播放91灌醉迷j高跟美女| 亚洲激情欧美激情| 一本大道久久a久久综合婷婷| 国产精品久久久久精k8 | 国产在线观看免费一区| 欧美一区二区不卡视频| 五月天中文字幕一区二区| 精品视频123区在线观看| 亚洲香肠在线观看| 在线成人av网站| 日韩av一级电影| 日韩你懂的电影在线观看|