فهرست منبع

allocator function receives the tag of object being allocated in 'osize'
when 'ptr' is NULL.

Roberto Ierusalimschy 15 سال پیش
والد
کامیت
2af0d3b459
2فایلهای تغییر یافته به همراه5 افزوده شده و 5 حذف شده
  1. 2 3
      lstate.c
  2. 3 2
      ltests.h

+ 2 - 3
lstate.c

@@ -1,5 +1,5 @@
 /*
-** $Id: lstate.c,v 2.64 2009/11/18 13:13:47 roberto Exp roberto $
+** $Id: lstate.c,v 2.65 2009/12/14 15:27:30 roberto Exp roberto $
 ** Global State
 ** See Copyright Notice in lua.h
 */
@@ -192,8 +192,7 @@ LUA_API lua_State *lua_newthread (lua_State *L) {
   lua_State *L1;
   lua_lock(L);
   luaC_checkGC(L);
-  L1 = &luaM_new(L, LX)->l;
-  luaC_link(L, obj2gco(L1), LUA_TTHREAD);
+  L1 = &luaC_newobj(L, LUA_TTHREAD, sizeof(LX), NULL, offsetof(LX, l))->th;
   setthvalue(L, L->top, L1);
   api_incr_top(L);
   preinit_state(L1, G(L));

+ 3 - 2
ltests.h

@@ -1,5 +1,5 @@
 /*
-** $Id: ltests.h,v 2.26 2009/11/19 19:06:52 roberto Exp roberto $
+** $Id: ltests.h,v 2.27 2009/12/14 15:27:30 roberto Exp roberto $
 ** Internal Header for Debugging of the Lua Implementation
 ** See Copyright Notice in lua.h
 */
@@ -30,9 +30,10 @@ typedef struct Memcontrol {
   unsigned long total;
   unsigned long maxmem;
   unsigned long memlimit;
+  unsigned long objcount[5];
 } Memcontrol;
 
-Memcontrol l_memcontrol;
+extern Memcontrol l_memcontrol;
 
 
 /*