Justin Ethier
4be7d73e12
Issue #214 - Prevent segfault with large vectors
...
Large vectors are allocated directly on the heap but may contain elements that are still on the stack. To ensure all of these elements are transported to the heap during the next minor GC, a special Opaque object is placed into the mutation table to ensure the whole vector is scanned for stack objects during the next minor GC.
Previously this was not done so objects from the "old" stack were still in memory and any changes to them were trashing random portions of the stack!
2017-08-24 21:48:59 +00:00
Justin Ethier
f67b5fc1ea
Faster remainder
2017-08-23 19:01:17 -04:00
Justin Ethier
49df11049a
Speed up Cyc_remainder
...
Do not type check at the start of the function since there is already type checking in the function body.
2017-08-23 17:51:41 -04:00
Justin Ethier
d03258c83a
Make read a little faster by streamlining main path
...
Move 2 comparisons underneath the (vector?) case, so in the normal case they can be skipped.
2017-08-23 17:26:20 +00:00
Justin Ethier
4b082da588
WIP
2017-08-23 16:57:29 +00:00
Justin Ethier
821e04eb34
Cache symbols instead of computing them each time
2017-08-23 16:56:39 +00:00
Justin Ethier
516c13c6df
Note recent changes
2017-08-23 16:42:53 +00:00
Justin Ethier
6d0d81f9ef
Call opt:add-inlinable-functions to load inlines
2017-08-23 16:30:40 +00:00
Justin Ethier
c5ddd79aff
Added opt:add-inlinable-functions
2017-08-23 16:30:18 +00:00
Justin Ethier
64a562812b
Mark additional function as inline
2017-08-23 16:27:57 +00:00
Justin Ethier
a9b37c2bd4
Issue #213
2017-08-23 12:03:41 +00:00
Justin Ethier
922eb69658
Relocated string-join and added string-split
2017-08-23 12:02:53 +00:00
Justin Ethier
e2e2232146
Added string split/join
2017-08-23 11:54:29 +00:00
Justin Ethier
73b166c65f
Added inline functions
2017-08-22 18:58:36 -04:00
Justin Ethier
0ce2190292
Placeholders for 0.6.2
2017-08-22 17:56:16 +00:00
Justin Ethier
a5dfcc2f85
Removed unnecessary type checks
2017-08-22 17:55:22 +00:00
Justin Ethier
8e8e07c3b3
Staging 0.6.1
2017-08-22 09:58:12 +00:00
Justin Ethier
9f0482dafc
Prevent possibility of crash
2017-08-21 23:04:40 -04:00
Justin Ethier
dca2c86259
Added a 0.6.1 placeholder section
2017-08-21 18:56:33 -04:00
Justin Ethier
32a8a0c21d
Bump to 0.6.1
2017-08-21 18:56:15 -04:00
Justin Ethier
ce3dc491af
Bump to 0.6
2017-08-21 22:45:39 -04:00
Justin Ethier
be13cea445
Link to SRFI 143
2017-08-21 22:34:12 -04:00
Justin Ethier
7f93ef6278
Added a date for 0.6
2017-08-21 22:26:28 -04:00
Justin Ethier
f41ba1cce3
Synced doc links
2017-08-21 13:56:14 +00:00
Justin Ethier
12ad893f5d
Added missing docs
2017-08-21 13:37:02 +00:00
Justin Ethier
3b75d3ea16
Added type checking to Cyc_io_read_line()
2017-08-21 12:31:06 +00:00
Justin Ethier
66cd34c84c
Convert read/peek char to use fread code
2017-08-21 12:21:21 +00:00
Justin Ethier
d471813a37
Faster parsing of numbers
2017-08-21 10:39:03 +00: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
05fb1cdb7b
Use new make_input_port macro
2017-08-19 18:12:06 -04:00
Justin Ethier
8b3bf050e8
Added new members for in-memory I/O
2017-08-19 18:04:39 -04:00
Justin Ethier
a02a1206be
Use input ports
2017-08-18 18:30:40 -04:00
Justin Ethier
e01815ae21
Bug fixes
2017-08-18 17:52:06 -04:00
Justin Ethier
fb18bf46ce
Do not display unnecessary colon in error msgs
2017-08-18 17:33:12 -04:00
Justin Ethier
68bf9e3316
Remove old code
2017-08-18 17:06:21 -04:00
Justin Ethier
f61ba6ee4a
Cleanup
2017-08-17 16:36:01 +00:00
Justin Ethier
4b7f2cba63
Revert buffer length
2017-08-17 14:06:01 +00:00
Justin Ethier
b997d10f43
Cut-over to new reader
2017-08-17 13:54:53 +00:00
Justin Ethier
4c5191f2b8
Added new read_len field for fread
2017-08-17 13:54:44 +00:00
Justin Ethier
cc9a16b033
Bump to 0.6
2017-08-17 11:53:04 +00:00
Justin Ethier
ffba7ff683
Added #\escape
2017-08-17 11:04:26 +00:00
Justin Ethier
bf896f6b74
Start line/col numbering from 1 (heresy!!)
2017-08-17 11:03:55 +00:00
Justin Ethier
caecc28994
Added docs
2017-08-16 22:57:17 -04:00
Justin Ethier
d41b9e8d95
Recover from EINTR
2017-08-16 22:43:00 -04:00
Justin Ethier
af30ac8066
Cut over to faster reader for files
2017-08-16 14:36:37 +00:00
Justin Ethier
5ecf409f54
Return buffer if not empty upon EOF
2017-08-16 12:05:55 +00:00
Justin Ethier
2d5aa2c3b1
Handle dotted lists
2017-08-16 11:50:55 +00:00
Justin Ethier
9226403da9
Encode comma syntax
2017-08-16 11:42:18 +00:00
Justin Ethier
d72feb5d34
Slight speedup
2017-08-16 11:24:04 +00:00
Justin Ethier
4b7386dedf
Higher-level handler for parse2
2017-08-16 11:04:52 +00:00