Make garbage collection thread safe

- You can now use _gc(malloc()) in multithreaded programs
- This change fixes a bug where fork() on NT disabled TLS
- Fixed TLS code morphing on XNU/NT, for R8-R15 registers
This commit is contained in:
Justine Tunney 2022-09-08 02:33:01 -07:00
parent 571c2c3c69
commit 0e2b1bfeed
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
37 changed files with 310 additions and 189 deletions

View file

@ -12,13 +12,10 @@ struct Garbage {
};
struct Garbages {
size_t i, n;
int i, n;
struct Garbage *p;
struct Garbage initmem[1];
};
extern struct Garbages __garbage;
int64_t __gc(void);
COSMOPOLITAN_C_END_