Justin Ethier
2810e736db
Doxygen markup
2017-02-24 15:54:02 -05:00
Justin Ethier
331950d309
Primitive docs
2017-02-24 15:09:05 -05:00
Justin Ethier
8b906ddc8f
WIP
2017-02-24 13:48:59 -05:00
Justin Ethier
1002b53284
Reorganized for doxygen
2017-02-24 12:59:46 -05:00
Justin Ethier
240d5b165e
WIP
2017-02-23 23:05:32 -05:00
Justin Ethier
b8cd4f0035
Doxygen comments
2017-02-23 22:55:43 -05:00
Justin Ethier
27b77daa87
Value type docs
2017-02-23 21:12:33 -05:00
Justin Ethier
0acd61e9be
Cleanup for doxygen
2017-02-23 17:48:43 -05:00
Justin Ethier
af055ea80c
Added Cyc_remainder()
2017-02-21 00:42:11 -05:00
Justin Ethier
ea24b00361
Export int2bignum
2017-02-17 17:02:04 +00:00
Justin Ethier
80290db8d5
Get rid of remaining sources of bignum leaks
2017-02-17 14:46:10 +00:00
Justin Ethier
6d02427d1b
Get rid of make_empty_bignum
2017-02-17 13:58:48 +00:00
Justin Ethier
97d3acb3af
Remove assign_empty_bignum
2017-02-17 13:49:36 +00:00
Justin Ethier
876c1f0420
Cleanup, added gc_alloc_bignum()
2017-02-17 13:22:46 +00:00
Justin Ethier
53a9e2613f
Allow equal?
to recognize equal ints/bignums
2017-02-16 18:03:14 -05:00
Justin Ethier
284dc05128
Use Cyc_expt()
2017-02-17 00:03:07 -05:00
Justin Ethier
670d5a0e98
Improve range checks
2017-02-16 04:01:00 -05:00
Justin Ethier
ad51bc7e80
Preliminary bignum integration
2017-02-16 02:38:57 -05:00
Justin Ethier
5c77948a00
WIP
2017-02-16 00:14:10 -05:00
Justin Ethier
58d5c47486
WIP
2017-02-13 16:47:38 +00:00
Justin Ethier
a9f45d8fb5
Starting to check for over/under flow
2017-02-10 22:41:10 -05:00
Justin Ethier
b9d6d5d873
WIP - reading bignums
2017-02-10 00:37:41 -05:00
Justin Ethier
b9c8d2abf4
WIP for libtommath
2017-02-08 18:33:20 -05:00
Justin Ethier
7f43c7d1a1
Clarify usage of integer_type
2017-01-30 17:47:08 -05:00
Justin Ethier
e5e4d24959
Remove errant period
2017-01-30 17:43:35 -05:00
Justin Ethier
57562071c9
Issue #158 - Removed make_int macro
...
Also removed some related code that became redundant.
2017-01-30 16:54:23 +00:00
Justin Ethier
1e823c0d3f
Issue #162 - Use platform-independent uintptr_t
2017-01-28 18:17:56 -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
54051ead86
Fixed up code so it builds now
2017-01-26 18:03:15 -05:00
Justin Ethier
ce0bffb31a
WIP
2017-01-26 23:45:46 -05:00
Justin Ethier
0d651d4ff7
Starting the heap changes
...
This leaves everything as a mess at the moment, there are still a lot of changes that need to be made.
2017-01-25 18:57:38 -05:00
Justin Ethier
befbced21c
More merges from gc-opt3-dev
2017-01-24 22:19:08 -05:00
Justin Ethier
b637d13783
Merge or the worthwhile changes from gc-opt3-dev
2017-01-24 21:52:12 -05:00
Justin Ethier
07500ce6d6
Properly store thread ID in thread objects
...
Also sketched out thread-join support but there are larger issues to consider to get that working.
2017-01-22 18:58:37 -05:00
Justin Ethier
33e55c3cce
GC tweaks to avoid free/grow thrashing
...
Attempt to prevent thrashing the GC during earley benchmark by:
- Allowing a larger max page size
- Only freeing huge pages. This prevents thrashing where pages are freed only to be immediately reallocated when the heap is grown after sweep.
Longer term it may be necessary to allow freeing of pages by being more intelligent about things.
2017-01-12 14:37:48 +00:00
Justin Ethier
649e0eb5c8
Inline gc_mark_globals
...
Force inlining to attempt to improve performance
2017-01-11 17:54:49 -05:00
Justin Ethier
5823b37b5d
WIP
2017-01-11 18:45:28 +00:00
Justin Ethier
5356b3e4a9
Remove unnecesary include
2017-01-11 22:17:26 -05:00
Justin Ethier
e78b336b78
Issue #102 - Pass data parameter to Cyc_display()
2016-12-22 00:14:53 -05:00
Justin Ethier
f60fed7344
Issue #102 - Added a data parameter to Cyc_write()
2016-12-21 23:47:39 -05:00
Justin Ethier
71aaf162c9
Allow Cyc-list to handle 0 args
2016-11-28 18:32:27 -05:00
Justin Ethier
5790716927
Added Cyc_list()
2016-11-28 18:11:36 -05:00
Justin Ethier
97fa0c2dbd
WIP
2016-11-19 05:35:25 +00:00
Justin Ethier
391051ba7b
GC performance improvements
...
- Increase page size
- Cache last page that had an allocation, and start from that page next time, if possible. This speeds up allocation on large heaps because we can avoid searching through the whole heap each time.
2016-11-13 16:54:57 -05:00
Justin Ethier
e636f40f99
Revert memq, memv, assq, assv back to primitives
2016-10-17 23:42:53 -04:00
Justin Ethier
54a47242bf
Adding assoc/member C functions back
2016-10-15 17:57:46 -04:00
Justin Ethier
1326d0d5c2
Added fast mul/div
2016-10-14 18:07:00 -04:00
Justin Ethier
fa53f1225e
Add fast numeric comparisons
2016-10-15 02:37:13 -04:00
Justin Ethier
bdd3edfe4f
Added fast-sub
2016-10-14 23:19:09 -04:00