Commit graph

414 commits

Author SHA1 Message Date
Justin Ethier
2cd96058eb Add fast assoc by cdr 2018-02-14 13:00:43 -05:00
Justin Ethier
91a7df51dc Added alloc_bytevector macro 2018-01-03 14:37:28 -05:00
Justin Ethier
e95f29aaf8 Added the alloc_string macro
This allows allocation of a string using either the stack for small strings or our GC'd heap if the string exceeds the maximum stack size.
2018-01-01 18:48:04 -05:00
Justin Ethier
4b8c53c088 Issue #236 - Added C functions for single-byte I/O 2017-12-18 17:27:53 -05:00
justin
5491180e8c Prevent warning on 32-bit platforms 2017-11-14 13:13:12 -05:00
Justin Ethier
42507606a5 Added Cyc_string_byte_length() 2017-11-06 17:54:00 +00:00
Justin Ethier
d431b2af1c Updated Cyc_io_read_line to prevent truncation
Ensure last codepoint is fully-read before returning
2017-11-06 13:19:31 +00:00
Justin Ethier
a38295b22b WIP 2017-10-30 17:52:16 +00:00
Justin Ethier
3783da2674 WIP - obj_obj2char fixes 2017-10-30 13:17:37 +00:00
Justin Ethier
0bcce5038e WIP 2017-10-27 17:18:29 +00:00
Justin Ethier
8289eca02a Remove obsolete function 2017-10-27 13:02:51 +00:00
Justin Ethier
703f863e48 Fixes for make-string 2017-10-26 21:56:35 +00:00
Justin Ethier
aa0b0a7567 Added UTF8 encoder, final version of string->utf8 2017-10-25 18:35:11 -04:00
Justin Ethier
13e260300f Added utility function and stubs 2017-10-24 17:53:43 -04:00
Justin Ethier
3e64420101 Added UTF8 support to Cyc_substring 2017-10-23 17:43:37 -04:00
Justin Ethier
8b817966e8 WIP 2017-10-23 13:26:29 +00:00
Justin Ethier
ac8b280578 Refactoring, added make_utf8_string 2017-10-20 16:29:56 +00:00
Justin Ethier
ccad990626 Beginning to change string type 2017-10-20 13:28:16 +00:00
Justin Ethier
71c7ed3e7f Cleanup and added UTF 8 definitions to header file 2017-10-20 12:54:13 +00:00
Justin Ethier
ad4309416a Added Cyc_check_opaque 2017-10-04 17:19:24 -04:00
Justin Ethier
9f0482dafc Prevent possibility of crash 2017-08-21 23:04:40 -04:00
Justin Ethier
c7b395506b Use new buffers for in-memory I/O
New buffers are used so there is no conflict between the in-memory string/byte-vector buffer and the buffers used by `read`.
2017-08-19 18:13:05 -04:00
Justin Ethier
8b3bf050e8 Added new members for in-memory I/O 2017-08-19 18:04:39 -04:00
Justin Ethier
4b7f2cba63 Revert buffer length 2017-08-17 14:06:01 +00:00
Justin Ethier
4c5191f2b8 Added new read_len field for fread 2017-08-17 13:54:44 +00:00
Justin Ethier
bf896f6b74 Start line/col numbering from 1 (heresy!!) 2017-08-17 11:03:55 +00:00
Justin Ethier
0e2c9b6244 WIP 2017-08-12 19:22:29 -04:00
Justin Ethier
24bfd89774 WIP 2017-08-12 18:15:02 -04:00
Justin Ethier
2d7839c264 WIP 2017-08-11 17:25:14 +00:00
Justin Ethier
e9dc22a296 WIP 2017-08-11 13:40:40 +00:00
Justin Ethier
208b74b914 Rename constant 2017-08-11 11:09:09 +00:00
Justin Ethier
a9e0d86fea Add line/column numbers to port type 2017-08-11 10:13:39 +00:00
Justin Ethier
28952d1056 WIP 2017-08-10 19:03:38 -04: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
06d7eb1e7e Reverting temporarily 2017-07-29 19:21:43 -04:00
Justin Ethier
b8ed7225c0 Issue #142 - Statically allocate closure0
Statically allocate closure0 objects since they are immutable and contain no free variables, so all copies of them would be identical.
2017-07-27 18:59:46 -04: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
acb797e323 WIP - Experimenting with REST heap allocation 2017-07-20 17:46:08 +00:00
Justin Ethier
b913edcc9f Experimenting with inline of Cyc_is_pair 2017-07-10 13:48:44 +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
27970524c5 Generalization of globals_changed thread param 2017-06-09 17:17:01 +00:00
Justin Ethier
aea673c764 Added parens 2017-05-26 15:13:22 +00:00
Justin Ethier
7cdabc02b6 WIP 2017-05-25 17:46:41 -04:00
Justin Ethier
9242c424c3 WIP 2017-05-24 17:23:23 +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
0656756ab4 Simplify logic 2017-04-24 17:58:05 +00:00