Abdulaziz Ghuloum
cee16e7463
Fixes bug 176816: Incorrect &who for open-output-file
2007-12-18 03:32:07 -05:00
Abdulaziz Ghuloum
bbe388656c
fixes bug 176756: define-condition-type does not work in repl
2007-12-17 11:37:10 -05:00
Abdulaziz Ghuloum
64c20409ce
made read-char just as efficient as get-char by copy&paste.
2007-12-15 11:43:04 -05:00
Abdulaziz Ghuloum
372c3e369b
Change of strategy in the garbage collector.
...
Previously: when a generation (say 2) is collected,
everything in gen 0 moves to gen 1
everything in gen 1 moves to gen 2
everything in gen 2 moves to gen 3
Now: when a generation (say 2 again) is collected
everything in gen 0 moves to gen 3
everything in gen 1 moves to gen 3
everything in gen 2 moves to gen 3
So, some objects get a leap from young to old if they're lucky to be
in the right time.
Consequences: when an object is moved by the collector, we don't
need to track old->new pointers and masks because all moved objects
are clean now. This both simplifies the collector and makes it more
efficient and might open the door for further optimization
opportunities. For bootstrap time, we get about 5% overall
saving and about 20% GC-time saving. Not bad.
BEFORE:
running stats for macro expansion:
45 collections
2558 ms elapsed cpu time, including 212 ms collecting
2576 ms elapsed real time, including 216 ms collecting
186972152 bytes allocated
running stats for code generation and serialization:
86 collections
4365 ms elapsed cpu time, including 1444 ms collecting
4374 ms elapsed real time, including 1449 ms collecting
362819096 bytes allocated
running stats for the entire bootstrap process:
131 collections
6928 ms elapsed cpu time, including 1657 ms collecting
6953 ms elapsed real time, including 1666 ms collecting
549818232 bytes allocated
AFTER:
running stats for macro expansion:
45 collections
2506 ms elapsed cpu time, including 169 ms collecting
2511 ms elapsed real time, including 171 ms collecting
186968056 bytes allocated
running stats for code generation and serialization:
86 collections
4083 ms elapsed cpu time, including 1189 ms collecting
4085 ms elapsed real time, including 1191 ms collecting
362810904 bytes allocated
running stats for the entire bootstrap process:
131 collections
6591 ms elapsed cpu time, including 1359 ms collecting
6599 ms elapsed real time, including 1362 ms collecting
549805944 bytes allocated
Happy Happy Joy Joy
2007-12-15 10:43:29 -05:00
Abdulaziz Ghuloum
5a98c9e460
changed error message as suggested in bug 173369.
2007-12-15 09:00:31 -05:00
Abdulaziz Ghuloum
c1a677ca4b
Changed implementation of append so that it uses half the cons cells
...
that it previously used. Interestingly, this reduced bootstrap time
by 60ms and 2 garbage collections! And I thought I did not use
append :-).
2007-12-15 08:55:53 -05:00
Abdulaziz Ghuloum
d6efe68274
fixes bug 176519: format does not detect too-many-arguments
2007-12-15 07:32:02 -05:00
Abdulaziz Ghuloum
b2112ee9c8
changed implementation of string-foldcase to eliminate use of string
...
ports. (reduce overhead)
2007-12-14 21:04:54 -05:00
Abdulaziz Ghuloum
5deeb28bbe
Fixes bug 175517: Custom textual output port not recognized as a
...
textual port
2007-12-14 19:42:00 -05:00
Abdulaziz Ghuloum
4e66fe76e8
Fixes bug 176207: macros cannot be redefined.
2007-12-14 03:23:47 -05:00
Abdulaziz Ghuloum
fa27b7e9cd
Fixes 1/2 of bug 176207: identifier-syntax second case broken
2007-12-14 01:58:55 -05:00
Abdulaziz Ghuloum
75f2d78678
more cleanup in expander.
2007-12-13 06:41:44 -05:00
Abdulaziz Ghuloum
112e00a6e6
get-import-spec* now uses an eq-hash-table to detect most dups.
2007-12-13 06:15:21 -05:00
Abdulaziz Ghuloum
c181838f48
changed "parse-import-spec*" in psyntax.expander to return two
...
vectors (names and labels) instead of an a-list subst.
2007-12-13 05:57:15 -05:00
Abdulaziz Ghuloum
b5ae1e2361
fixes bug 176057: partition not working right
2007-12-13 01:07:32 -05:00
Abdulaziz Ghuloum
8cd744d4bd
exported verbose-timer parameter that allows printing more detailed
...
information when "time" or "time-it" are used.
2007-12-12 23:58:10 -05:00
Abdulaziz Ghuloum
1d4db4b9c9
more unsafe prims in ikarus.io.ss
2007-12-12 23:50:05 -05:00
Abdulaziz Ghuloum
23b71cee3c
substantial speedup for new io layer
2007-12-12 21:22:05 -05:00
Abdulaziz Ghuloum
9dfa179ded
enlarged size of initial ports' buffers to be 4096+ bytes.
2007-12-12 19:52:26 -05:00
Abdulaziz Ghuloum
a6e1ce0658
given myself a few extra bits in the port attrs for future extensions
2007-12-12 19:47:03 -05:00
Abdulaziz Ghuloum
cef06e3121
removed "closed?" field from port struct.
2007-12-12 19:34:28 -05:00
Abdulaziz Ghuloum
c659cd3ed6
split io into two libraries by splitting the prims outside.
2007-12-12 19:18:57 -05:00
Abdulaziz Ghuloum
eac9829a03
cleanup of tags in ikarus.io.ss
2007-12-12 18:59:19 -05:00
Abdulaziz Ghuloum
3512b4d112
file-based ports are now guarded and their file handles are closed
...
if the port is dropped and collected.
2007-12-12 01:32:55 -05:00
Abdulaziz Ghuloum
54f683f0e0
Ported match.ss to ikarus.
2007-12-11 17:41:48 -05:00
Abdulaziz Ghuloum
09a02059c6
custom textual ports now return #t for textual-port? (fixes bug 175517)
2007-12-11 06:04:08 -05:00
Abdulaziz Ghuloum
29eb0d1ce0
The size of output ports is now set to be the buffer size (bug 175485)
2007-12-11 03:25:51 -05:00
Abdulaziz Ghuloum
7d7ceb6480
Weeded out gcc warnings and added -Wall as a configure flag.
2007-12-10 15:02:25 -05:00
Abdulaziz Ghuloum
0d79bcd42c
removed some unused procedures from ikarus-runtime.c
2007-12-10 12:03:25 -05:00
Abdulaziz Ghuloum
b6299fbec2
Added make-custom-textual-input-port and make-custom-textual-output-port
2007-12-10 11:11:59 -05:00
Abdulaziz Ghuloum
85a54dbbbf
custom-binary-input-files now have their attrs set properly.
2007-12-10 10:56:10 -05:00
Abdulaziz Ghuloum
4a3f9a334a
Added tests for custom-binary-output-ports (and fixed it too)
2007-12-10 10:53:17 -05:00
Abdulaziz Ghuloum
8a375a3cf7
Added make-custom-binary-output-port
2007-12-10 10:36:10 -05:00
Abdulaziz Ghuloum
91b8f90715
removed obsolete (ikarus system $io) library.
2007-12-10 10:24:10 -05:00
Abdulaziz Ghuloum
2ac39cfad0
reimplemented open-output-file.
2007-12-10 10:18:52 -05:00
Abdulaziz Ghuloum
921999a3a2
minor fix to string-input-ports
2007-12-10 09:28:48 -05:00
Abdulaziz Ghuloum
dfd66a6cbf
Added some of the new IO primitives to the (ikarus) library.
2007-12-10 08:05:31 -05:00
Abdulaziz Ghuloum
7fdeade412
Added console-error-port procedure and redirected all error output
...
to it.
2007-12-10 07:40:34 -05:00
Abdulaziz Ghuloum
0e38534d2e
New IO layer is installed. Still buggy in some area but can be used
...
for bootstrapping at least.
2007-12-10 07:28:03 -05:00
Abdulaziz Ghuloum
ea96ab85db
stage 1 of new input IO is almost complete.
2007-12-09 17:13:09 -05:00
Abdulaziz Ghuloum
3562a736c5
Fixes bug 175117: Named let violates scoping rules
2007-12-09 12:20:13 -05:00
Abdulaziz Ghuloum
1d5c069273
Fixes bug 175057: Added time-gmt-offset procedure that takes a time
...
object and returns the offset from gmt in seconds.
2007-12-09 07:20:49 -05:00
Abdulaziz Ghuloum
efd233ad0e
Fixes bugs 175025 and 175026: let-values and let*-values are fixed/added
2007-12-09 02:53:12 -05:00
Abdulaziz Ghuloum
0e93ac2db9
Code of fasl-write is changed to use only binary output prims.
2007-12-08 14:52:35 -05:00
Abdulaziz Ghuloum
39e5c98476
time-second was off my 30 years. fixed.
2007-12-07 06:34:56 -05:00
Abdulaziz Ghuloum
cf82981383
Fixes bug 174497: syntax-error should not be in (rnrs) and
...
syntax-violation not completed
2007-12-07 03:00:25 -05:00
Abdulaziz Ghuloum
c0191a8283
Fixes bug 174594: Record read/write now terminate on cycles.
2007-12-07 01:41:21 -05:00
Abdulaziz Ghuloum
1f352825f5
Transcoding to latin-1 now works in the new IO layer.
2007-12-06 08:14:05 -05:00
Abdulaziz Ghuloum
1469932f3d
Exported the transcoder? primitive.
2007-12-06 05:05:26 -05:00
Abdulaziz Ghuloum
0b693a7103
The unread-char primitive is deleted, all code that referenced
...
unread-char was rewritten as peek-char and read-char.
2007-12-05 05:01:56 -05:00