Justin Ethier
9dddfb882f
Issue #55 - Adding more complex number support
2018-05-07 20:48:53 -04:00
Justin Ethier
0ca396f8fa
Add new string_type field
2017-10-20 16:29:47 +00:00
Justin Ethier
889ec5885e
Removing "magic numbers" for GC heap size
2017-09-20 13:32:20 +00:00
Justin Ethier
8b3bf050e8
Added new members for in-memory I/O
2017-08-19 18:04:39 -04:00
Justin Ethier
4c5191f2b8
Added new read_len field for fread
2017-08-17 13:54:44 +00:00
Justin Ethier
24bfd89774
WIP
2017-08-12 18:15:02 -04:00
Justin Ethier
e9dc22a296
WIP
2017-08-11 13:40:40 +00:00
Justin Ethier
a9e0d86fea
Add line/column numbers to port type
2017-08-11 10:13:39 +00:00
Justin Ethier
74eff82805
Added flags
2017-08-09 16:12:53 +00:00
Justin Ethier
0aa3437143
WIP
2017-07-29 20:27:43 -04:00
Justin Ethier
be9d68c3f1
Only preemtively grow small obj heaps
2017-07-28 21:33:28 -04:00
Justin Ethier
ed71f4f0de
Experimenting with GC strategies for the "rest" heap
2017-07-27 14:07:44 +00:00
Justin Ethier
6e6a4239a4
Bug fixes
2017-07-21 13:39:55 +00:00
Justin Ethier
b8d2fda060
WIP
2017-07-21 13:03:54 +00:00
Justin Ethier
f0acc9c810
WIP
2017-07-20 18:57:27 -04:00
Justin Ethier
acb797e323
WIP - Experimenting with REST heap allocation
2017-07-20 17:46:08 +00:00
Justin Ethier
07df5b03c5
Debug output for sizes of allocated objs
2017-07-20 13:15:20 +00:00
Justin Ethier
eb4a4b9aff
Consistent style
2017-07-19 17:54:08 -04:00
Justin Ethier
4011cdb601
Spelling fix
2017-07-19 16:36:05 +00:00
Justin Ethier
3fcd455189
Fixes to mark_stack_or_heap_obj
...
- Detect value types and return early
- Attempt to lock less often
2017-07-19 16:16:40 +00:00
Justin Ethier
4e5266a78d
Do not gc_heap_align result of gc_allocated_bytes
...
This function already heap aligns it's return value so there is no need to use the alignment macro again.
2017-06-24 17:42:37 -04:00
Justin Ethier
e6d79fb63f
Do a proper trace
2017-06-16 16:39:32 +00:00
Justin Ethier
c550b15f3a
Issue #150 - Inefficient (but working) thread-join!
2017-06-17 01:36:47 -04:00
Justin Ethier
64be028166
Added gc_is_mutator_active()
2017-06-17 01:01:59 -04:00
Justin Ethier
5c1048bfe0
Avoid unnecessary call to gc_allocated_bytes
2017-06-12 17:57:47 -04:00
Justin Ethier
d02437a0c5
Reorder types in gc_move/gc_copy
...
Attempt to speed things up by moving more commonly-used objects up, and lesser-used ones down.
2017-06-11 16:57:38 -04:00
Justin Ethier
27970524c5
Generalization of globals_changed thread param
2017-06-09 17:17:01 +00:00
Justin Ethier
ea2550a882
Issue #199 - More efficient memory usage
...
Only use a single int on the heap to store the number of huge heap allocations. There is no need to track allocations on the other heaps, at least at this time.
2017-05-10 10:12:25 +00:00
Justin Ethier
95e15dd3c2
Issue #199 - Initiate GC using huge GC alloc count
...
Free space does not work for huge heaps since often they are allocated on demand as a full page at a time. But if more than X huge pages have been allocated, it is probably a good time to initiate a major GC.
2017-05-09 23:01:44 +00:00
Justin Ethier
0d3ae68f87
Reorganize allocated_bytes to try to speed it up
2017-04-29 07:01:06 +00:00
Justin Ethier
3f75e8d231
Mark objects when collector cooperates
...
When the collector cooperates for a mutator it needs to mark any heap-collected objects that are stored within the mutator's data object. This prevents problems where these objects (which are essentially per-thread global roots) are incorrectly collected.
2017-03-16 14:07:36 +00:00
Justin Ethier
3b932ebfc5
WIP
2017-02-28 18:27:48 -05:00
Justin Ethier
b9253bb1d8
Added the rest of the docstrings
2017-02-28 00:07:31 -05:00
Justin Ethier
0dcbd5ecbb
Added function docstrings
2017-02-27 22:23:57 -05:00
Justin Ethier
46ab172708
Added docs
2017-02-25 22:14:42 -05:00
Justin Ethier
4cfd1f06d8
Specify (void)
2017-02-24 12:59:20 -05:00
Justin Ethier
80290db8d5
Get rid of remaining sources of bignum leaks
2017-02-17 14:46:10 +00:00
Justin Ethier
876c1f0420
Cleanup, added gc_alloc_bignum()
2017-02-17 13:22:46 +00:00
Justin Ethier
b9c8d2abf4
WIP for libtommath
2017-02-08 18:33:20 -05:00
Justin Ethier
f58a44ebd0
At least for now, revert previous change
...
Only issue at the moment is compiler warnings on x86, which is not the primary target platform
2017-01-31 15:14:15 +00:00
Justin Ethier
2733a08f55
Fix compiler warnings on 32-bit x86
2017-02-01 00:45:14 -05:00
Justin Ethier
2b04c3b253
Set gc_cont and num args prior to blocking
...
This change shouldn't hurt anything and guarantees the collector thread is not trying to use gc_cont before it is set properly.
2017-01-30 14:24:57 +00:00
Justin Ethier
1e823c0d3f
Issue #162 - Use platform-independent uintptr_t
2017-01-28 18:17:56 -05:00
Justin Ethier
981700af38
Remove errant semicolon
2017-01-28 17:54:35 -05:00
Justin Ethier
38ad580d33
Check return value of gc_heap_free()
2017-01-28 01:29:29 -05:00
Justin Ethier
5a25611934
Added to trace
2017-01-28 00:07:09 -05:00
Justin Ethier
8fa1bccd78
Finish heap merging, use separate heap locks
2017-01-28 00:01:01 -05:00
Justin Ethier
e30ff16b3d
Added heap merge functions
2017-01-27 22:37:55 -05:00
Justin Ethier
8b530989ee
Expose TODO for cleaning up old threads
2017-01-26 18:55:10 -05:00
Justin Ethier
54051ead86
Fixed up code so it builds now
2017-01-26 18:03:15 -05:00