Commit Graph

37 Commits

Author SHA1 Message Date
gingerBill
a45e05bb18 Remove need for BlockingMutex in Arena 2024-07-15 01:36:54 +01:00
gingerBill
cae8c1e94f Minimize use of mutex in Arena 2024-07-15 01:15:00 +01:00
gingerBill
a8f84c87ae Add the permanent and temporary arenas directly on the Thread 2024-07-15 01:05:29 +01:00
gingerBill
018026d844 Use gb_zero_* calls 2024-07-15 00:36:00 +01:00
gingerBill
3426af2d6c Fix #3415 2024-04-12 12:33:25 +01:00
gingerBill
f2ec438166 Add ifdef block 2023-04-21 12:50:36 +01:00
gingerBill
a95b064d6d Fix memory leak caused by awful realloc usage on Linux 2023-04-21 13:29:38 +01:00
gingerBill
c1c7128634 Minimize severe memory usage by enforcing the heap_allocator() in places 2023-03-16 15:04:57 +00:00
gingerBill
c45ca1bfcc Correct arena_temp_end usage when no allocation ever happens for that arena 2023-01-28 12:09:24 +00:00
gingerBill
94edf89b20 Use a separate arena for heap_allocator 2023-01-28 11:53:05 +00:00
gingerBill
c482432966 Disable arena guards 2023-01-23 12:29:59 +00:00
gingerBill
55176e52fc Use heap_allocator() with -debug; Reinstate the arena guards 2023-01-23 11:38:18 +00:00
gingerBill
868aa4c14a Minor changes to StringMap allocation 2023-01-14 12:58:45 +00:00
gingerBill
1ab90de493 Minimize StringMap structure usage 2023-01-14 12:33:42 +00:00
gingerBill
9428f792ed Comment out allocator guards for the time being 2023-01-12 01:09:36 +00:00
gingerBill
520ff731de Add ArenaTemp to the compiler 2023-01-12 00:47:20 +00:00
gingerBill
e9cfe698ba Make the heap_allocator just be the permanent_allocator
This improves the speed of the compiler with very little memory increase (which surprised me, Ginger Bill)
2023-01-12 00:20:25 +00:00
gingerBill
be23d83fc8 Remove unnecessary check is align_formula* et al 2023-01-05 00:47:09 +00:00
gingerBill
c293f5b7eb Remove unneeded mutex 2023-01-02 16:56:05 +00:00
gingerBill
5c519f0e8d Remove the synchronization primitive init/destroy calls 2023-01-01 16:19:21 +00:00
gingerBill
2a8fa8612d Use fetch_add rather than += 2022-12-18 23:24:34 +00:00
gingerBill
ac5f5a33e9 gb_internal a lot 2022-12-18 21:17:07 +00:00
gingerBill
cd89d8a3c4 Add better error message for compiler when OOM happens 2022-02-18 16:24:08 +00:00
gingerBill
7cc265e14c Add mutex guards for signature scopes 2022-01-10 14:50:28 +00:00
gingerBill
15c309b0b8 Make permanent_allocator() thread local 2021-09-13 01:39:41 +01:00
gingerBill
123db3a23d Fix typo 2021-09-08 14:55:07 +01:00
gingerBill
d29a0c6680 Add a minimum alignment on *nix for the compiler in heap_allocator_proc 2021-09-08 14:53:42 +01:00
gingerBill
76419383a8 Add some minor sanity checks to the compiler's heap_allocator_proc on Darwin 2021-09-08 14:45:53 +01:00
gingerBill
97a1147537 Correct fix to heap_allocator_proc in compiler 2021-09-06 19:34:44 +01:00
gingerBill
f5615b204c Minor fix to heap_allocator_proc in common_memory.cpp 2021-09-06 16:50:13 +01:00
gingerBill
582559f7ac Correct did you mean logic and make thread-safe-er 2021-08-27 11:18:38 +01:00
gingerBill
da79124e5d Use local mutex for each AstFile.arena 2021-08-26 23:10:15 +01:00
gingerBill
d3d805ffb3 Fix typo 2021-08-26 15:58:34 +01:00
gingerBill
05b9724c85 Correct platform_virtual_memory_init on Unix 2021-08-26 15:55:09 +01:00
gingerBill
5053f0179c Implement virtual memory code for *nix and make generic 2021-08-26 15:53:08 +01:00
gingerBill
3e4d615983 Minor fixes 2021-08-26 15:41:32 +01:00
gingerBill
aa8777ee47 Change the implementation of Arena to use virtual memory, and remove the old gbArena code 2021-08-26 15:38:34 +01:00