Commit graph

510 commits

Author SHA1 Message Date
Justin Ethier
92bc0b6bdc Cleanup of thread data structure
Added comments, moved frequently used members to the top (call history) and infrequently used ones to the end (minor GC longjmp).
2019-11-05 13:37:05 -05:00
Justin Ethier
d209f7fd9c Tweak struct layouts 2019-11-04 15:28:40 -05:00
Justin Ethier
e0388e892a Cleanup: Removed dead code, added comments 2019-11-04 14:10:46 -05:00
Justin Ethier
1b7b3198f3 Cleanup 2019-11-04 13:00:13 -05:00
Justin Ethier
f4b81ccb73 Remove unused headers 2019-10-23 09:45:50 -04:00
Justin Ethier
e9815b4028 Handle return values of bignum calls
Created a macro BIGNUM_CALL to make it easier to handle BN retun values. This also eliminates warnings from libtommath 1.2.0 :)
2019-10-22 19:01:17 -04:00
Justin Ethier
ecb8c0388f Use new tommath 2019-10-22 12:26:55 -04:00
Justin Ethier
864dc9f9c5 No need for duplicate definition of mp_get_double 2019-10-18 12:55:18 -04:00
Justin Ethier
676187078f Fix header paths 2019-10-18 10:40:20 -04:00
Justin Ethier
d54e20fc34 Fix header path 2019-10-18 10:38:55 -04:00
Justin Ethier
d3aa33f593 Fix header names 2019-10-18 10:38:00 -04:00
Justin Ethier
c0b0bfe228 Rename files 2019-10-18 10:37:21 -04:00
Justin Ethier
e4d5ef6976 New include 2019-10-17 18:37:00 -04:00
Justin Ethier
034402df20 Initial file, port of tommath files 2019-10-17 18:36:40 -04:00
Justin Ethier
4cb5b1db40 Added vpbuffer utility functions 2019-10-09 19:01:53 -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
e6c23e25c1 Issue #337
Added `open-binary-input-file` and `open-binary-output-file` from R7RS.
2019-09-15 10:40:06 -04:00
Justin Ethier
60e9007d57 Speed up (complex?) 2019-09-13 12:31:18 -04:00
Justin Ethier
fccc9630cf Remove old macro 2019-08-23 10:21:58 -04:00
Justin Ethier
e099fe7860 Refactoring
Use a macro name that makes more sense, as we are trying to determine if obj is a closure.
2019-08-22 21:28:57 -04:00
Justin Ethier
9ee7c49334 Issue #297 - Complete validation for closures
Renumbered the type tags such that we can quickly check if an object is a closure or not. This will prevent crashes where an object of the wrong type (such as NULL or boolean) is passed in place of a closure. Previously we did not distinguish these objects, leading to segfaults and undefined behavior.
2019-08-22 13:41:20 -04:00
Justin Ethier
1edb877c5f Speed up vector for five args or less 2019-08-02 12:13:30 -04:00
Justin Ethier
4b6b672892 Added Cyc_is_immutable 2019-06-11 17:46:16 -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
567e9dd2df WIP 2019-06-04 18:46:21 -04:00
Justin Ethier
015b9b2a41 Add check for obj type 2019-06-03 13:24:42 -04:00
Justin Ethier
7bd77e1ac3 Added checks for immutable objs 2019-06-03 13:18:08 -04:00
Justin Ethier
5f517f6029 Add typecheck 2019-05-30 18:42:02 -04:00
Justin Ethier
ddd057f97b WIP 2019-05-30 13:18:50 -04:00
Justin Ethier
d3e679fd03 Added atomic_type 2019-05-29 18:53:53 -04:00
Justin Ethier
a29e731d94 Insure optional arg pairs are mutable 2019-05-16 17:46:42 -04:00
Justin Ethier
d96231c7dd Fix syntax error 2019-05-01 13:12:26 -04:00
Justin Ethier
3cb234402d Added checks for immutable flag 2019-05-01 13:11:05 -04:00
Justin Ethier
465167445f Initialize the 'immutable' field 2019-04-30 17:51:53 -04:00
Justin Ethier
8d98dc1a15 Add immutable field to the object header 2019-04-30 12:59:17 -04:00
Justin Ethier
5c717dce3a Update comment 2019-04-22 19:01:58 -04:00
Justin Ethier
549bb59937 Micro-optimization - turn Cyc_st_add into a macro 2019-03-28 12:21:15 -04:00
Justin Ethier
3706647583 Refactoring 2019-03-21 17:16:21 -04:00
Justin Ethier
f64d429ab8 WIP 2019-02-28 09:43:58 -05:00
Justin Ethier
b2b10ca729 WIP - new version of libtommath 2019-02-17 19:00:47 -05:00
Justin Ethier
f617f8b102 Remove unnecessary #include 2018-12-19 16:39:15 -05:00
Justin Ethier
be929189b6 Initial file 2018-12-19 13:27:19 -05:00
Justin Ethier
7c8076e433 Added Cyc_is_list() 2018-12-12 13:10:10 -05:00
Justin Ethier
d5690a001e Do not assume return_copy receives an object.
It may be passed a call instead, in which case we want to refer to the call as a local variable instead of making that call more than once!
2018-12-07 17:00:32 -05:00
Justin Ethier
87267600d2 Remove data param 2018-12-05 17:39:02 -05:00
Justin Ethier
07dd9c7ef5 New fast list functions 2018-12-04 22:54:53 -05:00
Justin Ethier
aaab2de154 Fix list macro 2018-12-04 13:38:50 -05:00
Justin Ethier
069305ebdf Cast to pointer type 2018-12-04 12:54:06 -05:00
Justin Ethier
4ce81afdc4 WIP - new listX types 2018-12-04 09:55:17 -05:00
Justin Ethier
df73875960 Add set_cell_as_expr 2018-12-03 17:57:02 -05:00