Justin Ethier
f091d0267e
Unsafe (length)
2019-11-26 23:06:01 -05:00
Justin Ethier
0651716196
Unsafe vector-set
2019-11-26 22:58:24 -05:00
Justin Ethier
c30bf50b5d
Fix unsafe car/cdr
2019-11-26 16:11:57 -05:00
Justin Ethier
0e407ea9da
Unsafe prims compiler option
2019-11-26 15:45:49 -05:00
Justin Ethier
537e8bc975
Experimenting with unsafe prims
2019-11-26 15:37:52 -05:00
Justin Ethier
caf1dc23ef
Keep track of heap page when growing the heap
2019-11-06 17:18:47 -05:00
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