mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-06-30 00:08:30 +00:00
Bring back gc() function
Renaming gc() to _gc() was a mistake since the better thing to do is put it behind the _COSMO_SOURCE macro. We need this change because I haven't wanted to use my amazing garbage collector ever since we renamed it. You now need to define _COSMO_SOURCE yourself when using amalgamation header and cosmocc users need to pass the -mcosmo flag to get the gc() function Some other issues relating to cancelation have been fixed along the way. We're also now putting cosmocc in a folder named `.cosmocc` so it can be more safely excluded by grep --exclude-dir=.cosmocc --exclude-dir=o etc.
This commit is contained in:
parent
6cb0354e19
commit
a4b455185b
280 changed files with 1362 additions and 1407 deletions
4
third_party/lua/ldo.c
vendored
4
third_party/lua/ldo.c
vendored
|
@ -86,14 +86,14 @@ asm(".include \"libc/disclaimer.inc\"");
|
|||
#elif defined(LUA_USE_POSIX) /* }{ */
|
||||
|
||||
/* in POSIX, try _longjmp/_setjmp (more efficient) */
|
||||
#define LUAI_THROW(L,c) _gclongjmp((c)->b, 1)
|
||||
#define LUAI_THROW(L,c) gclongjmp((c)->b, 1)
|
||||
#define LUAI_TRY(L,c,a) if (_setjmp((c)->b) == 0) { a }
|
||||
#define luai_jmpbuf jmp_buf
|
||||
|
||||
#else /* }{ */
|
||||
|
||||
/* ISO C handling with long jumps */
|
||||
#define LUAI_THROW(L,c) _gclongjmp((c)->b, 1)
|
||||
#define LUAI_THROW(L,c) gclongjmp((c)->b, 1)
|
||||
#define LUAI_TRY(L,c,a) if (setjmp((c)->b) == 0) { a }
|
||||
#define luai_jmpbuf jmp_buf
|
||||
|
||||
|
|
2
third_party/lua/ltests.c
vendored
2
third_party/lua/ltests.c
vendored
|
@ -1262,7 +1262,7 @@ static int panicback (lua_State *L) {
|
|||
b = (struct Aux *)lua_touserdata(L, -1);
|
||||
lua_pop(L, 1); /* remove 'Aux' struct */
|
||||
runC(b->L, L, b->paniccode); /* run optional panic code */
|
||||
_gclongjmp(b->jb, 1);
|
||||
gclongjmp(b->jb, 1);
|
||||
return 1; /* to avoid warnings */
|
||||
}
|
||||
|
||||
|
|
2
third_party/lua/luaencodejsondata.c
vendored
2
third_party/lua/luaencodejsondata.c
vendored
|
@ -22,7 +22,7 @@
|
|||
#include "libc/intrin/likely.h"
|
||||
#include "libc/log/log.h"
|
||||
#include "libc/log/rop.internal.h"
|
||||
#include "libc/mem/gc.internal.h"
|
||||
#include "libc/mem/gc.h"
|
||||
#include "libc/mem/mem.h"
|
||||
#include "libc/runtime/runtime.h"
|
||||
#include "libc/runtime/stack.h"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue