Abdulaziz Ghuloum
1487c5ed54
* Open-coded fxadd1 and fxsub1.
2006-12-07 02:14:02 -05:00
Abdulaziz Ghuloum
d7565580bf
added intel docs
2006-12-07 01:38:04 -05:00
Abdulaziz Ghuloum
0fd967384b
removed reference to memv in recordize
2006-12-06 21:39:13 -05:00
Abdulaziz Ghuloum
69008ea318
Rewrote recordize to get rid of the environment: total saving ~ 50ms.
2006-12-06 21:33:33 -05:00
Abdulaziz Ghuloum
5abcbccb3a
changed compile-expr to expand first
2006-12-06 21:20:15 -05:00
Abdulaziz Ghuloum
cd4eef2382
Documented libtoplevel.ss a bit.
2006-12-06 21:05:19 -05:00
Abdulaziz Ghuloum
2a2a3ab7fb
* Added quotient.
...
* Added remainder.
* Added quotient+remainder :-)
2006-12-06 20:53:54 -05:00
Abdulaziz Ghuloum
4143501988
* Added ~% to the format metas.
...
* Exported string->list.
2006-12-06 18:26:37 -05:00
Abdulaziz Ghuloum
0f2bcdb2a0
added an mmap cache to avoid repeated mmaps/munmaps
2006-12-06 11:07:27 -05:00
Abdulaziz Ghuloum
6b0ec86de6
more stupid optimizations
2006-12-06 01:26:44 -05:00
Abdulaziz Ghuloum
06c64dab3a
more optimizations
2006-12-06 00:33:25 -05:00
Abdulaziz Ghuloum
15a36e7333
eqv? -> eq? optimization
2006-12-05 23:26:02 -05:00
Abdulaziz Ghuloum
ac38b15c6c
memq is open-coded if the second argument is a constant list
2006-12-05 22:29:00 -05:00
Abdulaziz Ghuloum
0d476b91e2
cleaup optimizr a bit
2006-12-05 21:30:42 -05:00
Abdulaziz Ghuloum
6e6291e158
Memv is optimized as memq if the second argument is a list
...
containing no bignums.
2006-12-05 21:05:04 -05:00
Abdulaziz Ghuloum
ca8707c5e6
starting primitive optimizer
2006-12-05 20:45:36 -05:00
Abdulaziz Ghuloum
b8e595b6e6
removed some install-underflow-handler procedure that was not used
2006-12-05 19:21:58 -05:00
Abdulaziz Ghuloum
09c0ec0732
added assv
2006-12-05 19:18:36 -05:00
Abdulaziz Ghuloum
ed26e7d080
removed vector-memq and vector-memv since they were not used anywhere
2006-12-05 19:12:28 -05:00
Abdulaziz Ghuloum
0048c829b3
added eqv? and memv
2006-12-05 19:09:53 -05:00
Abdulaziz Ghuloum
90afd21ac8
removed vimview files
2006-12-05 16:06:41 -05:00
Abdulaziz Ghuloum
276f317885
tracer for multiple values is added
2006-12-05 15:08:00 -05:00
Abdulaziz Ghuloum
c5e1221ace
removed message-case from a file and included it in libchezio.ss
2006-12-05 14:06:13 -05:00
Abdulaziz Ghuloum
1c35c6939d
removed all unsafe-record code
2006-12-05 14:00:31 -05:00
Abdulaziz Ghuloum
bbf0936963
added more examples about traces in libtrace.ss
2006-12-05 13:56:54 -05:00
Abdulaziz Ghuloum
d9915f371b
added trace-define
2006-12-05 13:28:23 -05:00
Abdulaziz Ghuloum
80c8ca7a5c
added vimviews to repository
2006-12-05 13:03:22 -05:00
Abdulaziz Ghuloum
6136e60716
eval-cp removed for calls to thunks
2006-12-04 23:15:03 -05:00
Abdulaziz Ghuloum
876a2d7824
Procedure codes no longer save their cp if the cp has no free vars.
2006-12-04 22:43:42 -05:00
Abdulaziz Ghuloum
62b42e8bb8
optimize direct calls online
2006-12-04 22:05:44 -05:00
Abdulaziz Ghuloum
36b3ec82d2
every case-lambda case now has a label
2006-12-04 20:13:21 -05:00
Abdulaziz Ghuloum
c54ade7cef
case-info record type for cases
2006-12-04 19:58:24 -05:00
Abdulaziz Ghuloum
b8b4172797
removed clambda-code record type
2006-12-04 19:05:02 -05:00
Abdulaziz Ghuloum
307b166f38
added a label field to clambda record type
2006-12-04 19:00:43 -05:00
Abdulaziz Ghuloum
95ffbd6551
removed a useless define-record
2006-12-04 17:46:44 -05:00
Abdulaziz Ghuloum
2bcdee8e3b
cleanup
2006-12-04 17:35:59 -05:00
Abdulaziz Ghuloum
6072e8980f
clean up
2006-12-04 16:46:13 -05:00
Abdulaziz Ghuloum
ea44b68b7c
* Optimize-closure-size is done. Code reduced to 1.686MB from
...
1.82MB. Bootstrap time down to 2.185s.
2006-12-04 15:42:42 -05:00
Abdulaziz Ghuloum
3906f165ff
new optimization compiles
2006-12-04 15:06:51 -05:00
Abdulaziz Ghuloum
3b39b890b9
code cleanup
2006-12-04 13:10:28 -05:00
Abdulaziz Ghuloum
d6a0ffa3ea
* Thunks, which did not allocate, now do not cause a heap-overflow
...
check. Reduces code size by around 30k.
2006-12-04 11:56:54 -05:00
Abdulaziz Ghuloum
ff9439d3c1
* Simple thunks do not allocate now.
2006-12-04 11:46:52 -05:00
Abdulaziz Ghuloum
3ba89a0638
* the fasl-reader in the binary handles 'Q' tags (thunks) now.
2006-12-04 10:34:50 -05:00
Abdulaziz Ghuloum
24aa0fffb3
* libfasl handles writing thunks by writing the character Q followed
...
by the code of the thunk.
2006-12-04 10:26:32 -05:00
Abdulaziz Ghuloum
925cecbe3b
* The procedure whack-reloc in intelasm is changed to check if a
...
reloc data is a thunk; and if so, it creates (and caches) a
procedure pointing to the code of the label of the thunk.
The label has to be at index 0 from the code.
2006-12-04 10:20:59 -05:00
Abdulaziz Ghuloum
15468bd741
list*->code* takes a thunk? predicate; it doesnt do anything with it yet
2006-12-04 10:01:56 -05:00
Abdulaziz Ghuloum
7ecb397ec7
Modified the writer so that it checks for hash tables before
...
records. Now hash tables print as #<hash-table> instead of
#["hash-table" junk].
2006-12-04 09:57:30 -05:00
Abdulaziz Ghuloum
ab6c87b71f
added $closure-code system primitive that returns the code of a closure
2006-12-04 09:54:28 -05:00
Abdulaziz Ghuloum
30a3ce94ef
* I don't know if the bug is fixed.
2006-12-04 09:11:56 -05:00
Abdulaziz Ghuloum
261a5d4ff8
* If I add one data, the program crashes. This commit is to revert
...
to the last code that builds before I screw it up.
2006-12-03 15:32:40 -05:00
Abdulaziz Ghuloum
6b2e48efb7
before adding make-once thunks
2006-12-03 14:36:45 -05:00
Abdulaziz Ghuloum
6c30b75e57
* Copy propagation for constants and primrefs works.
2006-12-03 13:45:51 -05:00
Abdulaziz Ghuloum
787264e8cf
* Vars now have a ``referenced'' field to be used by the optimizer.
...
* Uncover-assigned is renamed to uncover-assigned/referenced.
2006-12-03 11:23:03 -05:00
Abdulaziz Ghuloum
0e07a37f60
added documentation to new-cafe
2006-12-03 09:17:28 -05:00
Abdulaziz Ghuloum
99757011a6
added a couple of docs
2006-12-03 09:05:24 -05:00
Abdulaziz Ghuloum
df16339018
removed some junk from libchezio
2006-12-03 05:17:08 -05:00
Abdulaziz Ghuloum
c33c80285e
deleted some junk from compiler
2006-12-02 18:20:20 -05:00
Abdulaziz Ghuloum
9758e3702f
removed some junk code
2006-12-02 16:11:43 -05:00
Abdulaziz Ghuloum
d1cbb8ce2e
Write displays "\r" properly.
2006-12-02 16:07:51 -05:00
Abdulaziz Ghuloum
8642ac5305
* Write now displays "\n" properly.
2006-12-02 15:58:41 -05:00
Abdulaziz Ghuloum
bd4553ef3a
added documentation for substring
2006-12-02 11:34:47 -05:00
Abdulaziz Ghuloum
aac9071f2a
Load now takes an optional second argument, which must be a
...
procedure that would be applied to every expression in the file.
The default value for this procedure is eval.
2006-12-02 10:57:50 -05:00
Abdulaziz Ghuloum
e32a8cc972
--script now passes the script name as a first argument to command-line-arguments
2006-12-02 10:29:25 -05:00
Abdulaziz Ghuloum
2fdaf456f8
* Added a comment-handler parameter that binds a procedure to be invoked
...
everytime a multiline comment is found.
2006-12-02 10:11:57 -05:00
Abdulaziz Ghuloum
fa1141b57d
renamed current-error-handler to error-handler
2006-12-02 06:26:05 -05:00
Abdulaziz Ghuloum
cd8fea1a05
removed flush-output-port from makefile.ss
2006-12-02 05:59:09 -05:00
Abdulaziz Ghuloum
431ea890a3
* bug fix: Formatted output now flushes the output port.
...
* --script now takes a required script name as an argument.
2006-12-02 05:56:42 -05:00
Abdulaziz Ghuloum
4261e71b24
Fixed Makefile to use the newly acquired scripting capabilities.
2006-12-02 05:34:41 -05:00
Abdulaziz Ghuloum
cfc1fcdb37
* Added a --script option to ikarus. If --script is passed as an
...
argument, then the greeting is suppressed and no cafe is entered.
* Example 1 (non-script): script.ss contains
#!/usr/bin/ikarus
(display "Hello Script\n")
$ ./script.ss
Ikarus Scheme (Build 2006-12-02)
Copyright (c) 2006 Abdulaziz Ghuloum
Hello Script
>
* Example 2 (script): script.ss contains
#!/usr/bin/ikarus --script
(display "Hello Script\n")
$ ./script.ss
Hello Script
$
2006-12-02 05:28:11 -05:00
Abdulaziz Ghuloum
23ff529aa2
* Load now skips the first line of a file if that line starts with
...
a shebang "#!".
2006-12-02 05:02:05 -05:00
Abdulaziz Ghuloum
d04eb83cf3
Added PATH search.
...
* If argv[0] contains a '/', then we look for argv[0]++".boot"
* Otherwise, search the path[i] for where argv[0] came from and
append ".boot" to that.
2006-12-01 11:18:01 -05:00
Abdulaziz Ghuloum
d0355ead97
Changes makefile.ss to reflect the new directory structure.
2006-12-01 10:41:13 -05:00
Abdulaziz Ghuloum
5bb14cad6e
renamed:
...
runtime => bin
src => lib
2006-12-01 10:40:21 -05:00