Commit graph

4572 commits

Author SHA1 Message Date
Justin Ethier
38847f11cf Add extra condition to (alloca?)
Make this match what is actually done in cgen for when a while statement is introduced, there was an older case not being handled.
2019-03-27 13:18:31 -04:00
Justin Ethier
27469be2ef Fix typo 2019-03-27 13:18:17 -04:00
Justin Ethier
5c28ba7730 Avoid using alloca where possible for clo's 2019-03-22 13:09:42 -04:00
Justin Ethier
e68fa56f94 Bugfix - account for the use-alloca flag 2019-03-22 12:26:10 -04:00
Justin Ethier
f13186ee17 Use static alloc for clo/vec, instead of alloca
This improves performance as the C compiler can better optimize the generated code.
2019-03-22 10:34:48 -04:00
Justin Ethier
b73f68cc8a Qualify static function 2019-03-21 22:59:58 -04:00
Justin Ethier
3706647583 Refactoring 2019-03-21 17:16:21 -04:00
Justin Ethier
17cecfe834 WIP 2019-03-21 17:08:16 -04:00
Justin Ethier
a8a1fd211d Temp test file 2019-03-21 13:11:48 -04:00
Justin Ethier
c357663f0a Issue #310 - Fix type checking for member/assoc 2019-03-20 22:56:33 -04:00
Justin Ethier
12d6cbce5a Use explicit if's instead of memv for case
Theory is the generated code can make better use of the processor cached when using explicit if statements than aggregating over a list via memv, since pairs in the list can be located anywhere across memory.
2019-03-20 17:39:55 -04:00
Justin Ethier
483cdd2758 Issue #309 - Link to local copy of the MTA paper 2019-03-19 12:49:15 -04:00
Justin Ethier
2704ac1ed2
Update README.md 2019-03-19 12:47:28 -04:00
Justin Ethier
f7acb6260d
Add files via upload 2019-03-19 12:42:32 -04:00
Justin Ethier
5dd5a5eef2 Stub for new version 2019-03-17 18:48:27 -04:00
Justin Ethier
1967ce7a93 Added a section for 0.10 2019-03-17 18:47:54 -04:00
Justin Ethier
41eaf8008b Add "bin" support to Cyc-installation-dir 2019-03-17 18:45:55 -04:00
Justin Ethier
1f7212a964 Faster version of _list-index 2019-03-14 15:43:36 -04:00
Justin Ethier
a72e91b85c New releas 2019-03-04 17:48:39 -05:00
Justin Ethier
10342c1d2e Allow 'bench' directive to return success value 2019-03-04 13:32:34 -05:00
Justin Ethier
d964b037a7 Revised previous comments 2019-02-28 15:59:40 -05:00
Justin Ethier
99d5614339 Faster version of vector 2019-02-28 14:25:03 -05:00
Justin Ethier
3bf2a6125c Fast list/vector functions also allocate mutable objs 2019-02-28 13:47:32 -05:00
Justin Ethier
f64d429ab8 WIP 2019-02-28 09:43:58 -05:00
Justin Ethier
d9f63a85b4 Revert previous change 2019-02-27 16:03:19 -05:00
Justin Ethier
1f8a824bda More efficient record type construction 2019-02-27 15:44:50 -05:00
Justin Ethier
8772c5355b Faster initialization of objects create via define-record-type 2019-02-27 14:31:14 -05:00
Justin Ethier
0f0beb024c Do not use vector-set when creating record types
This improves performance as mutations force the GC to do more work.
2019-02-27 10:29:18 -05:00
Justin Ethier
f5b68ee8d2 Handle hashing of complex nums with a 0i component 2019-02-19 13:20:29 -05:00
Justin Ethier
6bfff4b6ed Perform fixnum type check 2019-02-19 13:17:33 -05:00
Justin Ethier
db7fd2bf81 Tentative version bump 2019-02-19 13:14:05 -05:00
Justin Ethier
ed2ab18be1 Cleanup 0.9.9 fixes 2019-02-18 22:38:52 -05:00
Justin Ethier
8efbf60528 Must explicitly call (complex?) now 2019-02-18 22:12:55 -05:00
Justin Ethier
ec7c3c3308 Revert change to (integer?) for now
Causes unit test failures, need to sort this out separately.
2019-02-18 17:18:02 -05:00
Justin Ethier
b626c4c6b7 Removed extraneous char 2019-02-18 16:51:43 -05:00
Justin Ethier
990cc96e4b Adjust formatting 2019-02-18 16:50:58 -05:00
Justin Ethier
c1af2cfdcc Issue #303 2019-02-18 16:49:45 -05:00
Justin Ethier
204e31e362 Issue #303 - Handle numeric predicate edge cases
Add edge cases to (real?) for complex numbers, and (integer?) for reals.
2019-02-18 16:48:11 -05:00
Justin Ethier
5f0fa5eeea Revised 0.9.9 section 2019-02-18 13:09:41 -05:00
Justin Ethier
b4c19b1c7d Use 0.9.9 instead 2019-02-18 12:32:57 -05:00
Justin Ethier
b2997de54a Prep 0.9.8.1 bugfix release 2019-02-18 12:13:03 -05: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
b2b10ca729 WIP - new version of libtommath 2019-02-17 19:00:47 -05:00
Justin Ethier
2e9a5bd9c2 Releasing 0.9.8 2019-02-15 18:04:06 -05:00
Justin Ethier
0a0f51ada5 Relocated test files 2019-02-15 17:56:26 -05:00
Justin Ethier
fa01202df8 Do not attempt to memoize functions that take 0 args 2019-02-15 12:36:54 -05:00
Justin Ethier
7021855eca Inject additional imports, added a TODO 2019-02-14 23:03:33 -05:00
Justin Ethier
d0d7fae89c Only memoize pure functions for programs
The problem with doing this for libraries is that it adds a new dependency on (srfi 69). It would be problematic to use a library with these changes as there is no easy way to know this SRFI is also a library dependency.
2019-02-14 22:53:12 -05:00
Justin Ethier
ae768b0e83 Added feature section 2019-02-14 21:11:54 -05:00
Justin Ethier
e5be007539 Added memoization optimization flags 2019-02-14 21:10:06 -05:00