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

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

?? lstate.c

?? 這個是一個嵌入式腳本支持引擎, 體積十分小巧
?? C
字號:
/*** $Id: lstate.c,v 2.36.1.2 2008/01/03 15:20:39 roberto Exp $** Global State** See Copyright Notice in lua.h*/#include <stddef.h>#define lstate_c#define LUA_CORE#include "lua.h"#include "ldebug.h"#include "ldo.h"#include "lfunc.h"#include "lgc.h"#include "llex.h"#include "lmem.h"#include "lstate.h"#include "lstring.h"#include "ltable.h"#include "ltm.h"#define state_size(x)	(sizeof(x) + LUAI_EXTRASPACE)#define fromstate(l)	(cast(lu_byte *, (l)) - LUAI_EXTRASPACE)#define tostate(l)   (cast(lua_State *, cast(lu_byte *, l) + LUAI_EXTRASPACE))/*** Main thread combines a thread state and the global state*/typedef struct LG {  lua_State l;  global_State g;} LG;  static void stack_init (lua_State *L1, lua_State *L) {  /* initialize CallInfo array */  L1->base_ci = luaM_newvector(L, BASIC_CI_SIZE, CallInfo);  L1->ci = L1->base_ci;  L1->size_ci = BASIC_CI_SIZE;  L1->end_ci = L1->base_ci + L1->size_ci - 1;  /* initialize stack array */  L1->stack = luaM_newvector(L, BASIC_STACK_SIZE + EXTRA_STACK, TValue);  L1->stacksize = BASIC_STACK_SIZE + EXTRA_STACK;  L1->top = L1->stack;  L1->stack_last = L1->stack+(L1->stacksize - EXTRA_STACK)-1;  /* initialize first ci */  L1->ci->func = L1->top;  setnilvalue(L1->top++);  /* `function' entry for this `ci' */  L1->base = L1->ci->base = L1->top;  L1->ci->top = L1->top + LUA_MINSTACK;}static void freestack (lua_State *L, lua_State *L1) {  luaM_freearray(L, L1->base_ci, L1->size_ci, CallInfo);  luaM_freearray(L, L1->stack, L1->stacksize, TValue);}/*** open parts that may cause memory-allocation errors*/static void f_luaopen (lua_State *L, void *ud) {  global_State *g = G(L);  UNUSED(ud);  stack_init(L, L);  /* init stack */  sethvalue(L, gt(L), luaH_new(L, 0, 2));  /* table of globals */  sethvalue(L, registry(L), luaH_new(L, 0, 2));  /* registry */  luaS_resize(L, MINSTRTABSIZE);  /* initial size of string table */  luaT_init(L);  luaX_init(L);  luaS_fix(luaS_newliteral(L, MEMERRMSG));  g->GCthreshold = 4*g->totalbytes;}static void preinit_state (lua_State *L, global_State *g) {  G(L) = g;  L->stack = NULL;  L->stacksize = 0;  L->errorJmp = NULL;  L->hook = NULL;  L->hookmask = 0;  L->basehookcount = 0;  L->allowhook = 1;  resethookcount(L);  L->openupval = NULL;  L->size_ci = 0;  L->nCcalls = L->baseCcalls = 0;  L->status = 0;  L->base_ci = L->ci = NULL;  L->savedpc = NULL;  L->errfunc = 0;  setnilvalue(gt(L));}static void close_state (lua_State *L) {  global_State *g = G(L);  luaF_close(L, L->stack);  /* close all upvalues for this thread */  luaC_freeall(L);  /* collect all objects */  lua_assert(g->rootgc == obj2gco(L));  lua_assert(g->strt.nuse == 0);  luaM_freearray(L, G(L)->strt.hash, G(L)->strt.size, TString *);  luaZ_freebuffer(L, &g->buff);  freestack(L, L);  lua_assert(g->totalbytes == sizeof(LG));  (*g->frealloc)(g->ud, fromstate(L), state_size(LG), 0);}lua_State *luaE_newthread (lua_State *L) {  lua_State *L1 = tostate(luaM_malloc(L, state_size(lua_State)));  luaC_link(L, obj2gco(L1), LUA_TTHREAD);  preinit_state(L1, G(L));  stack_init(L1, L);  /* init stack */  setobj2n(L, gt(L1), gt(L));  /* share table of globals */  L1->hookmask = L->hookmask;  L1->basehookcount = L->basehookcount;  L1->hook = L->hook;  resethookcount(L1);  lua_assert(iswhite(obj2gco(L1)));  return L1;}void luaE_freethread (lua_State *L, lua_State *L1) {  luaF_close(L1, L1->stack);  /* close all upvalues for this thread */  lua_assert(L1->openupval == NULL);  luai_userstatefree(L1);  freestack(L, L1);  luaM_freemem(L, fromstate(L1), state_size(lua_State));}LUA_API lua_State *lua_newstate (lua_Alloc f, void *ud) {  int i;  lua_State *L;  global_State *g;  void *l = (*f)(ud, NULL, 0, state_size(LG));  if (l == NULL) return NULL;  L = tostate(l);  g = &((LG *)L)->g;  L->next = NULL;  L->tt = LUA_TTHREAD;  g->currentwhite = bit2mask(WHITE0BIT, FIXEDBIT);  L->marked = luaC_white(g);  set2bits(L->marked, FIXEDBIT, SFIXEDBIT);  preinit_state(L, g);  g->frealloc = f;  g->ud = ud;  g->mainthread = L;  g->uvhead.u.l.prev = &g->uvhead;  g->uvhead.u.l.next = &g->uvhead;  g->GCthreshold = 0;  /* mark it as unfinished state */  g->strt.size = 0;  g->strt.nuse = 0;  g->strt.hash = NULL;  setnilvalue(registry(L));  luaZ_initbuffer(L, &g->buff);  g->panic = NULL;  g->gcstate = GCSpause;  g->rootgc = obj2gco(L);  g->sweepstrgc = 0;  g->sweepgc = &g->rootgc;  g->gray = NULL;  g->grayagain = NULL;  g->weak = NULL;  g->tmudata = NULL;  g->totalbytes = sizeof(LG);  g->gcpause = LUAI_GCPAUSE;  g->gcstepmul = LUAI_GCMUL;  g->gcdept = 0;  for (i=0; i<NUM_TAGS; i++) g->mt[i] = NULL;  if (luaD_rawrunprotected(L, f_luaopen, NULL) != 0) {    /* memory allocation error: free partial state */    close_state(L);    L = NULL;  }  else    luai_userstateopen(L);  return L;}static void callallgcTM (lua_State *L, void *ud) {  UNUSED(ud);  luaC_callGCTM(L);  /* call GC metamethods for all udata */}LUA_API void lua_close (lua_State *L) {  L = G(L)->mainthread;  /* only the main thread can be closed */  lua_lock(L);  luaF_close(L, L->stack);  /* close all upvalues for this thread */  luaC_separateudata(L, 1);  /* separate udata that have GC metamethods */  L->errfunc = 0;  /* no error function during GC metamethods */  do {  /* repeat until no more errors */    L->ci = L->base_ci;    L->base = L->top = L->ci->base;    L->nCcalls = L->baseCcalls = 0;  } while (luaD_rawrunprotected(L, callallgcTM, NULL) != 0);  lua_assert(G(L)->tmudata == NULL);  luai_userstateclose(L);  close_state(L);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品国产精品国产专区不蜜| 精一区二区三区| 亚洲综合色丁香婷婷六月图片| 日韩一区在线播放| 亚洲激情男女视频| 天天色天天操综合| 久草中文综合在线| 成人黄动漫网站免费app| av在线播放一区二区三区| 色拍拍在线精品视频8848| 3d动漫精品啪啪1区2区免费| 精品国产1区二区| 亚洲欧美日韩成人高清在线一区| 一区二区三区在线播放| 日韩高清不卡一区二区| av不卡一区二区三区| 日韩一区和二区| 成人欧美一区二区三区黑人麻豆| 亚洲成人综合网站| 风间由美性色一区二区三区| 欧美亚洲国产一区二区三区va| 欧美xxxxx牲另类人与| 亚洲欧美色图小说| 国内一区二区在线| 色8久久人人97超碰香蕉987| 久久婷婷色综合| 美女视频黄 久久| 狠狠色综合播放一区二区| 国产寡妇亲子伦一区二区| 欧美久久免费观看| 亚洲美女视频在线| 成人性生交大片免费看中文| 欧美一级黄色大片| 午夜伦欧美伦电影理论片| 成人免费看视频| 国产亚洲女人久久久久毛片| 美女久久久精品| 91精品国产91久久久久久最新毛片| 国产精品天天摸av网| 精品无码三级在线观看视频| 欧美日韩免费在线视频| 亚洲欧洲综合另类| 一本大道综合伊人精品热热| 国产精品久久久久久久久晋中| 国产麻豆视频一区二区| 精品福利在线导航| 国产一区二区三区在线观看免费| 欧美成人猛片aaaaaaa| 日韩电影在线免费观看| 欧美精品一区二区三区高清aⅴ| 男女男精品视频| 精品国产成人在线影院| 国产在线精品一区二区夜色 | 麻豆精品视频在线观看免费| 欧美一区二区三区白人| 久久se这里有精品| www国产精品av| 成人aaaa免费全部观看| 亚洲激情中文1区| 欧美日韩的一区二区| 日韩—二三区免费观看av| 欧美精品一区二区三区高清aⅴ| 国产一区二区三区美女| 亚洲视频免费观看| 在线亚洲欧美专区二区| 久久精品国产99| 亚洲欧美综合网| 欧美一区二区国产| 91在线高清观看| 日本欧美加勒比视频| 国产精品欧美经典| 在线不卡欧美精品一区二区三区| 国产精品综合网| 亚洲va欧美va人人爽| 欧美国产精品v| 91精品国产欧美一区二区| 9i在线看片成人免费| 精品亚洲国内自在自线福利| 亚洲日本青草视频在线怡红院| 欧美成人免费网站| 欧美片网站yy| 色综合久久久久久久久久久| 韩国成人精品a∨在线观看| 国产精品乱码一区二区三区软件| 欧美性生活大片视频| 成人三级伦理片| 毛片av中文字幕一区二区| 亚洲一二三四在线| 国产精品麻豆网站| 久久久久久久久久久99999| 欧美丰满嫩嫩电影| 欧美午夜精品久久久久久超碰| 久久99日本精品| 久久精品一二三| 欧美久久久久久蜜桃| 91久久精品一区二区二区| 成人美女视频在线观看18| 国产乱妇无码大片在线观看| 免费在线观看精品| 视频在线在亚洲| 免费一级欧美片在线观看| 日韩精品久久久久久| 日韩主播视频在线| 精品综合久久久久久8888| 日本不卡中文字幕| 久久成人免费电影| 国产乱码精品1区2区3区| 成人av影院在线| 日本久久电影网| 欧美精品日韩一本| 日韩一区二区不卡| 久久精品网站免费观看| 亚洲人成影院在线观看| 亚洲高清免费一级二级三级| 麻豆成人91精品二区三区| 国产成人在线观看| 色一情一乱一乱一91av| 欧美日本一区二区在线观看| 精品精品国产高清一毛片一天堂| 中文字幕的久久| 亚洲国产成人高清精品| 麻豆专区一区二区三区四区五区| 紧缚捆绑精品一区二区| 99久久精品国产导航| 欧美一区二区三区婷婷月色| 欧美激情一区二区三区不卡| 亚洲一区在线看| 国产精品1区2区3区在线观看| 欧洲激情一区二区| 久久综合资源网| 亚洲18女电影在线观看| 狠狠色综合日日| 欧美人妇做爰xxxⅹ性高电影| 中文字幕精品—区二区四季| 日韩和欧美一区二区三区| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美一级久久久| 亚洲国产一区二区三区青草影视| 从欧美一区二区三区| 3751色影院一区二区三区| 一个色妞综合视频在线观看| 国产精品99久久久久久似苏梦涵| 欧美喷水一区二区| 亚洲综合成人网| 99免费精品视频| 中文字幕一区二区三区在线播放| 精品一区二区三区在线观看| 欧美日韩电影一区| 亚洲国产精品综合小说图片区| 91麻豆国产福利精品| 一色桃子久久精品亚洲| 成年人网站91| 中文字幕日韩一区| 不卡免费追剧大全电视剧网站| 国产精品午夜在线观看| av亚洲精华国产精华精华| 中文字幕国产一区| 99久久伊人网影院| 亚洲欧美二区三区| 在线视频亚洲一区| 免费在线观看一区| 精品国产乱码久久| 成人一区二区三区中文字幕| 中文字幕免费在线观看视频一区| av成人动漫在线观看| 亚洲综合色区另类av| 欧美一级高清片在线观看| 蜜桃传媒麻豆第一区在线观看| 精品国产乱码久久久久久牛牛| 国产福利精品一区| 亚洲欧美另类小说| 欧美老女人在线| 国产乱码精品一区二区三| 欧美老人xxxx18| 五月婷婷久久丁香| 日韩免费看网站| 97se亚洲国产综合自在线| 首页国产欧美日韩丝袜| 久久精品人人做人人综合| 91亚洲精品久久久蜜桃| 免费高清在线一区| 国产精品美女久久久久久久久久久| 日本福利一区二区| 国产精品自产自拍| 亚洲成人av一区| 亚洲视频一区二区在线| 精品日韩在线观看| 在线精品视频一区二区三四| 久久福利资源站| 亚洲一区二区三区激情| 亚洲国产成人一区二区三区| 日韩一级免费一区| 欧美午夜宅男影院| 懂色av噜噜一区二区三区av| 视频在线观看一区二区三区| 夜夜爽夜夜爽精品视频| 日本一区二区三区四区在线视频| 欧美一二三区精品| 欧美一区二区三区公司| 欧美性受极品xxxx喷水|