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