Justin Ethier
71dc9341a7
Remove dead code
2021-08-17 11:12:36 -04:00
Justin Ethier
fbc92258df
Bring back gc_word_align for 8-byte alignment
2021-08-17 09:39:16 -04:00
Justin Ethier
62b05528a2
Issue #471 - Ensure atomics are properly traced
2021-07-28 22:39:18 -04:00
Justin Ethier
543ce4f4be
Initiate major GC after a huge heap allocation
...
This allows us to reclaim the memory faster and keep memory usage lower.
2021-07-28 21:57:48 -04:00
Justin Ethier
da718dcac3
Fix off-by-one error with non-closure GC arg
2021-07-23 15:46:42 -04:00
Justin Ethier
e9ebfb8dcb
Use new calling convention
2021-02-21 21:40:39 -05:00
Justin Ethier
c3075a6396
Added record_tag
2020-12-20 22:39:28 -05:00
Justin Ethier
9eb67e28e8
Issue #82 - Clean up
2020-06-17 22:54:08 -04:00
Justin Ethier
cf6ccc25d9
Issue #377
2020-05-18 18:18:33 -04:00
Justin Ethier
479e880b30
Allow optional collection of opaque pointers
2020-03-05 13:26:17 -05:00
Justin Ethier
648b14571c
Log block size
2020-02-06 13:15:51 -05:00
Justin Ethier
2878138fd7
Add more logging
2020-02-05 18:08:44 -05:00
Justin Ethier
d051b81d80
Added more GC trace logging
2020-02-05 17:55:24 -05:00
Justin Ethier
81a3cf9c2f
Additional HRT logging
2020-02-05 12:59:33 -05:00
Justin Ethier
3eaa2331d2
Avoid compiler warning
2019-11-14 15:10:56 -05:00
Justin Ethier
caf1dc23ef
Keep track of heap page when growing the heap
2019-11-06 17:18:47 -05:00
Justin Ethier
26b426c307
Mark internal functions as static
2019-11-06 12:16:21 -05:00
Justin Ethier
e0388e892a
Cleanup: Removed dead code, added comments
2019-11-04 14:10:46 -05:00
Justin Ethier
1551c9a8b7
Fix spelling
2019-10-09 17:47:55 -04:00
Justin Ethier
f7e6c11108
Port gc_is_stack_obj to a macro
...
This avoids function calls and can improve performance in extreme cases.
2019-09-26 17:24:27 -04:00
Justin Ethier
cdbf81c56a
Forgot to lock for new_mutators
2019-06-11 15:54:12 -04:00
Justin Ethier
d1dbd7fae9
Issue #320 - Track threads that have not yet run
...
This allows (thread-join!) to be able to wait on these new threads
2019-06-10 13:16:39 -04:00
Justin Ethier
2202b3844f
Mark child of atomic_type during tracing
2019-05-30 18:10:40 -04:00
Justin Ethier
d3e679fd03
Added atomic_type
2019-05-29 18:53:53 -04:00
Justin Ethier
4bc8bf1899
Copy immutable fields
2019-04-30 18:43:04 -04:00
Justin Ethier
3706647583
Refactoring
2019-03-21 17:16:21 -04:00
Justin Ethier
102244be21
Issue #304 - gc_copy_obj must to populate bignums
...
Even without bignums in the nursery we still need this code in place since gc_alloc calls it, and otherwise all of the callers would need to ensure bignums are properly initialized. There may be an opportunity here for optimization, but let's make sure everything works first!
2019-02-18 12:09:31 -05:00
Justin Ethier
e4085b2f1e
Cleanup garbage chars
2018-11-29 17:59:01 -05:00
Justin Ethier
2ff11b1ace
Experimental: remove unnecessary bignum code
2018-11-09 10:57:11 -05:00
Justin Ethier
b69f4f7233
Prevent segfault on ARM
2018-10-02 18:59:33 -04:00
Justin Ethier
388759853d
Add docs
2018-08-24 12:52:23 -04:00
Justin Ethier
92a0160383
Simplify logic to match gc_sweep
2018-08-06 22:35:07 -04:00
Justin Ethier
2045df4932
Cleanup
2018-08-06 21:28:34 -04:00
Justin Ethier
79e21b64e0
Revise header comments
2018-08-08 17:25:06 -04:00
Justin Ethier
f0f071d3e2
Staging debug line
2018-08-08 12:19:16 -04:00
Justin Ethier
40c73203ce
Issue #270 - Working through a solution
2018-08-06 20:15:06 -04:00
Justin Ethier
386e208eb8
Revert previous changed
...
noticed an intermittent crash running read1
2018-08-06 14:48:37 -04:00
Justin Ethier
219cdf2d66
Unify remaining/p math in gc_sweep_fixed_size
2018-08-06 13:58:16 -04:00
Justin Ethier
e383b45381
Do a better job of flagging free fixed-size pages
2018-08-03 13:24:57 -04:00
Justin Ethier
f8b409a8b9
Convert empty fixed-size page to bump&pop
2018-08-03 10:17:56 -04:00
Justin Ethier
e78a3e29bf
Remove printf
2018-08-02 17:33:17 -04:00
Justin Ethier
c82223d0f4
Account for unswept heaps from last cycle
2018-08-02 17:45:01 -04:00
Justin Ethier
68a26e507b
WIP, trying to cache unswept counts accurately
2018-08-02 13:46:25 -04:00
Justin Ethier
bb52f8db40
Issue #267 - Update free_size when sweeping bump&pop
2018-08-01 18:23:53 -04:00
Justin Ethier
6274eb2652
WIP
2018-08-01 16:58:14 -04:00
Justin Ethier
3ff33cbcb8
WIP - debugging cache of unswept count
2018-08-01 13:38:55 -04:00
Justin Ethier
ebc3247aa7
Remove unused code
2018-07-31 22:54:39 -04:00
Justin Ethier
7631607d87
Experimental tweaks
2018-07-31 13:42:50 -04:00
Justin Ethier
3369214c30
Cache number of unswept pages
2018-07-31 13:17:32 -04:00
Justin Ethier
dc89fbbc56
Added GC_COLLECT_UNDER_UNSWEPT_HEAP_COUNT
...
Also increased threshold from 2 to 3, to be a bit more aggresive with starting major GC's
2018-07-27 12:19:46 -04:00