Convert the allocator's global state (FreeLists, ArenaHead, LargeFreeHead, LargeFreeCount) from var to threadvar, giving each thread its own independent arenas and freelists with zero contention and no locks required. Also fix the native backend .tbss emission for aggregate types (tyRecord, tyStaticArray) — the threadvar section was using IntByteSize which returns 4 for unknown types, instead of RawSize which returns the actual byte size of the type. |
||
|---|---|---|
| .. | ||
| src | ||
| Makefile | ||
| project.xml | ||