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

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

?? lgc.c

?? 腳本語言lua-5.1的源代碼, 非常的經典!
?? 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 */  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);        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一区二区三区免费野_久草精品视频
三级欧美韩日大片在线看| www.久久久久久久久| 一区免费观看视频| 久久精品男人的天堂| 91精品国产综合久久香蕉的特点| 91色综合久久久久婷婷| 成人精品免费网站| 9久草视频在线视频精品| 99国产精品国产精品毛片| 99精品国产91久久久久久| 99精品视频在线观看| 色综合一个色综合亚洲| 日韩亚洲国产中文字幕欧美| 欧美日本韩国一区二区三区视频 | 欧美高清在线一区二区| 久久噜噜亚洲综合| 国产亚洲欧美日韩日本| 国产欧美日韩不卡免费| 中文欧美字幕免费| 亚洲丝袜自拍清纯另类| 一区二区三区精品视频| 亚洲成av人片一区二区梦乃| 日本人妖一区二区| 国产成人精品影视| 99riav久久精品riav| 色屁屁一区二区| 欧美男同性恋视频网站| 欧美www视频| 国产日产欧美一区二区视频| 中文字幕一区不卡| 午夜精彩视频在线观看不卡| 蜜桃精品视频在线观看| 国产成人免费在线| 色综合天天综合狠狠| 欧美午夜不卡在线观看免费| 欧美一区二区在线免费播放| 精品成人在线观看| 自拍偷拍国产亚洲| 日本系列欧美系列| 成人午夜伦理影院| 欧美三级三级三级| 久久伊人蜜桃av一区二区| 国产精品久久午夜夜伦鲁鲁| 亚洲在线视频免费观看| 久草这里只有精品视频| 99久久久国产精品| 91精品一区二区三区久久久久久| 国产日韩欧美a| 亚洲无人区一区| 国产一区二区三区最好精华液| 91在线高清观看| 日韩欧美在线网站| 亚洲日本va在线观看| 美女脱光内衣内裤视频久久网站| 成人免费视频视频在线观看免费| 欧美三级中文字幕在线观看| 国产欧美一区二区精品性色超碰| 亚洲主播在线播放| 国产高清成人在线| 51久久夜色精品国产麻豆| 欧美国产日韩亚洲一区| 男女男精品视频网| 91蝌蚪porny九色| 精品成人一区二区三区| 亚洲一区自拍偷拍| 从欧美一区二区三区| 欧美一级欧美一级在线播放| av在线不卡免费看| 欧美一二区视频| 亚洲欧美另类小说视频| 国产麻豆视频精品| 5858s免费视频成人| 最近中文字幕一区二区三区| 国内成+人亚洲+欧美+综合在线| 在线观看日韩av先锋影音电影院| 国产欧美视频在线观看| 秋霞电影网一区二区| 欧洲国内综合视频| 亚洲视频一区在线| 国产成人精品免费| 精品美女在线观看| 日本不卡一区二区| 欧美日韩一区二区欧美激情| 国产精品久久久久久久久搜平片 | 亚洲自拍与偷拍| 99视频精品在线| 国产日本欧美一区二区| 韩国成人在线视频| 日韩欧美精品在线| 久久精品国产成人一区二区三区| 欧美日韩综合在线免费观看| 亚洲精品国产品国语在线app| 东方aⅴ免费观看久久av| 久久免费视频一区| 国精品**一区二区三区在线蜜桃 | 午夜国产精品一区| 在线看国产一区| 亚洲精品视频免费看| 91色乱码一区二区三区| 日韩伦理电影网| aaa欧美日韩| 亚洲欧洲另类国产综合| av电影在线观看一区| 中文av一区二区| 成人午夜激情影院| 国产精品毛片大码女人| 99精品国产视频| 亚洲免费观看在线观看| 91九色02白丝porn| 亚洲成人一区在线| 欧美一区二区视频免费观看| 日韩二区三区在线观看| 日韩无一区二区| 国内外成人在线| 欧美激情艳妇裸体舞| 93久久精品日日躁夜夜躁欧美| 亚洲欧美一区二区三区极速播放| 91蝌蚪porny九色| 亚洲1区2区3区4区| 日韩免费看网站| 国产精品亚洲一区二区三区妖精| 久久精品日韩一区二区三区| 成人精品一区二区三区四区| 亚洲人xxxx| 欧美一区日韩一区| 国产麻豆成人传媒免费观看| 国产精品免费丝袜| 在线观看91视频| 免费成人在线视频观看| 国产亚洲欧美色| 91福利视频在线| 免费观看一级特黄欧美大片| 久久色在线观看| 色婷婷精品大视频在线蜜桃视频| 亚洲成人高清在线| 精品日产卡一卡二卡麻豆| 丁香婷婷综合色啪| 亚洲一区二区三区视频在线播放| 欧美一区二区私人影院日本| 国产.欧美.日韩| 亚洲五月六月丁香激情| 久久一区二区三区国产精品| av高清久久久| 免费欧美高清视频| 国产精品久久久久久久久久久免费看| 色天天综合色天天久久| 久久精品国产久精国产| 中文字幕一区二区三区不卡在线| 欧美日韩免费高清一区色橹橹| 精品一区二区在线观看| 亚洲人成人一区二区在线观看 | 久久久精品日韩欧美| 91麻豆自制传媒国产之光| 免费成人在线观看| 亚洲区小说区图片区qvod| 欧美不卡视频一区| 色久优优欧美色久优优| 狠狠色狠狠色合久久伊人| 亚洲精品日韩一| 久久综合久久鬼色中文字| 色网综合在线观看| 国产精品系列在线播放| 天堂av在线一区| 国产精品理伦片| 日韩欧美在线网站| 在线观看亚洲专区| 国产精品一区久久久久| 亚洲h精品动漫在线观看| 国产精品久久久久永久免费观看| 69堂精品视频| 91伊人久久大香线蕉| 国产在线精品免费| 天涯成人国产亚洲精品一区av| 国产精品成人在线观看| 精品国产乱码久久久久久老虎 | 在线观看中文字幕不卡| 成人激情免费电影网址| 久久国产欧美日韩精品| 亚洲国产cao| 中文字幕日韩一区| 久久青草国产手机看片福利盒子| 欧美日韩一本到| 色综合久久中文字幕| 成人高清免费在线播放| 国产在线精品不卡| 久久99最新地址| 日韩va亚洲va欧美va久久| 亚洲国产成人porn| 亚洲影视在线播放| 亚洲美女免费在线| 亚洲区小说区图片区qvod| 国产精品美女久久久久久久久久久 | 日韩欧美一区二区久久婷婷| 欧美综合在线视频| 一本大道久久a久久综合| 成人动漫中文字幕| 成人的网站免费观看| 成人一级黄色片| 高潮精品一区videoshd| 国内精品写真在线观看 |