Abdulaziz Ghuloum
30aae80c5d
removed all symbolicly linked files.
2008-02-14 17:45:15 -05:00
Abdulaziz Ghuloum
66b9f6968e
Work in progress on reimplementing the optimizer based on
...
Oscar Waddell's dissertation (chapter 4). The existing
optimizer in Ikarus is just a joke.
2008-02-13 03:29:34 -05:00
Abdulaziz Ghuloum
3811d0a4c2
Loops with a single free variable no longer allocate a closure.
2008-02-11 22:18:32 -05:00
Abdulaziz Ghuloum
e1d9e72983
some compiler cleanup
2008-02-11 09:29:59 -05:00
Abdulaziz Ghuloum
4a731c4f28
Fixed a bug introduced earlier today that prevented bindings to
...
simple constants from being initialized properly.
2008-02-10 07:35:09 -05:00
Abdulaziz Ghuloum
5b904b93c4
SCC-letrec optimization is now online.
2008-02-10 05:46:58 -05:00
Abdulaziz Ghuloum
6df608ccd9
SCC-letrec kinda works now.
2008-02-10 05:24:16 -05:00
Abdulaziz Ghuloum
4e5121af4e
Implemented an experimental SCC letrec transformation which does not
...
work yet.
2008-02-10 03:27:31 -05:00
Abdulaziz Ghuloum
f6e5e4d5b4
Added -m32 to CFLAGS/LDFLAGS, updated copyright dates and version no.
2008-01-29 00:34:34 -05:00
Abdulaziz Ghuloum
7a2ac14f5a
Eliminated frame-pointer adjustment around calls if the adjustment
...
is 0. Previously, you'd get
addl 0, fpr
<stuff>
subl 0, fpr
which are useless.
2008-01-10 03:26:18 -05:00
Abdulaziz Ghuloum
3cd68e7ea3
Fixed bug 179978: (eq? (vector) (vector)) should evaluate to #t
2008-01-04 21:19:30 -05:00
Abdulaziz Ghuloum
3b8eb4bbd4
Ikarus can compile immediates in 64-bit mode.
...
It feels like I'm going through my compilers tutorial all over again!
2008-01-03 04:42:10 -05:00
Abdulaziz Ghuloum
341e53a36d
64-bit fasl files can now be produced and read.
2008-01-03 02:07:17 -05:00
Abdulaziz Ghuloum
3c99e7d393
fasl-write now writes different fasl objects depending on the
...
architecture bitness.
2008-01-02 23:22:55 -05:00
Abdulaziz Ghuloum
c15876aebe
Abstracted the construction of call frames and automated the padding
...
process. The compiler no longer has hardcoded null bytes inserted
into the code streams.
2008-01-02 07:01:45 -05:00
Abdulaziz Ghuloum
0db7d1d6d0
Identified places where a hard-coded number of null bytes are
...
manually inserted into the code stream to ensure proper offsets.
These need to be removed ASAP. Also, abstracted the values of three
constants that were hardcoded.
2008-01-02 05:55:30 -05:00
Abdulaziz Ghuloum
50e2478d06
removed some hard-coded constants of pcb-offsets.
2008-01-01 23:07:41 -05:00
Abdulaziz Ghuloum
2a96ebf5b1
Fixes bug 178858: convert-closures "free vars encountered in
...
program" error mistakenly happening
2007-12-27 13:03:48 -05:00
Abdulaziz Ghuloum
64e54de392
Added two extra fields to the port data structure.
2007-12-18 15:36:56 -05:00
Abdulaziz Ghuloum
23b71cee3c
substantial speedup for new io layer
2007-12-12 21:22:05 -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
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
171604d7fc
values and call-with-values now have proper names when printed.
...
e.g. #<procedure values> and #<procedure call-with-values>
2007-12-05 01:33:47 -05:00
Abdulaziz Ghuloum
6294ea7052
* removed stuff from lib directory.
2007-12-01 01:19:45 -05:00
Abdulaziz Ghuloum
fb804a24f4
Changed version to 0.0.2-rc1 and added benchmarks to distribution.
2007-11-23 20:50:28 -05:00
Abdulaziz Ghuloum
eb30e7ab58
* Eliminates a jump-to-jump case in "flatten-code".
2007-11-21 05:31:01 -05:00
Abdulaziz Ghuloum
37aab027da
Added an optimization that removes self-references from fix-bound
...
closures.
2007-11-21 04:00:10 -05:00
Abdulaziz Ghuloum
543d59313b
* Added port-mode and set-port-mode! primitives. A port mode is
...
either the symbol ikarus-mode or the symbol r6rs-mode.
2007-11-18 19:28:59 -05:00
Abdulaziz Ghuloum
499115a226
* Minor performance fix to previous deoptimization
...
* Appended current timelog.
2007-11-17 12:53:37 -05:00
Abdulaziz Ghuloum
245203eaa0
* Global variables which are assigned (or complex) no longer have lexical
...
copy. All references and assignments to them goes through the
symbol value slot.
2007-11-17 11:06:17 -05:00
Abdulaziz Ghuloum
759474fd85
* libraries are now expanded to a special library-letrec* form.
2007-11-17 09:53:22 -05:00
Abdulaziz Ghuloum
327e6e9371
* Fixed bug 160483: described as "incorrect number of arguments" reported as "not a function"
...
- The real reason was in the register allocator, where one live
variable (the memmory size of the bytevector) was not marked live
across the call to do-overflow. When the overflow returned, the
value of that variable (which was in the %ebx register) was
trashed, leading to an incorrect bump in the allocation pointer.
- Note to self, never blame anything on cache coherency again!
2007-11-06 17:04:27 -05:00
Abdulaziz Ghuloum
a12781ef2f
* better error message for unimplemented primitives
2007-11-04 12:25:01 -05:00
Abdulaziz Ghuloum
6348eb9918
* unsupported primitives now show the url for submitting bug reports:
...
unhandled exception:
Condition components:
1. &error
2. &who: ikarus
3. &message: "not supported yet, please submit an implementation request"
4. &url: "https://bugs.launchpad.net/ikarus/ "
5. &irritants: (bitwise-and)
2007-11-04 12:01:43 -05:00
Abdulaziz Ghuloum
6f576dc224
* Added license stubs to all *.ss and *.[ch] files.
2007-10-25 16:27:34 -04:00
Abdulaziz Ghuloum
b640d98cbc
* removed formatted errors from all source codes.
2007-10-25 14:32:26 -04:00
Abdulaziz Ghuloum
683fb50242
* autoconf now properly exports .ss files.
2007-10-17 22:50:15 -04:00
Abdulaziz Ghuloum
fdb664b61c
renamed:
...
src/scheme => scheme
2007-10-17 20:07:10 -04:00