Abdulaziz Ghuloum
b74e3976df
allocation check was still incorrect when the ap+size overflows and
...
shows up to be less than the end of allocation pointer.
2008-05-25 15:32:22 -07:00
Abdulaziz Ghuloum
7f0f127081
Allocation overflow check was incorrectly using signed comparison
...
instead of an unsigned one.
2008-05-25 14:39:03 -07:00
Abdulaziz Ghuloum
0cd61369b2
added some preliminary work for known-types.
2008-05-16 23:27:08 -07:00
Abdulaziz Ghuloum
d8cd4f0acf
Added engine-handler parameter and a ($swap-engine-counter! <neg-fx>)
...
to (ikarus system $interrupts).
2008-04-29 00:10:49 -04:00
Abdulaziz Ghuloum
d02e9fe035
Passing 709 tests in 64-bit mode
2008-04-12 15:06:55 -04:00
Abdulaziz Ghuloum
866b2b1c17
Now passing 682 tests in 64-bit mode.
2008-04-09 05:34:36 -04:00
Abdulaziz Ghuloum
f63f85e1cc
570 tests in 64-bit mode
2008-04-09 03:05:19 -04:00
Abdulaziz Ghuloum
aa44ce2733
Passing 548 tests in 64-bit mode.
2008-04-08 03:57:13 -04:00
Abdulaziz Ghuloum
6bdb38ca16
fixed bug in ($make-vector 0)
2008-04-07 12:32:55 -04:00
Abdulaziz Ghuloum
85d09cbc1c
fxarithmetic-shift-left now detects overflows properly.
2008-03-18 00:49:24 -04: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
f6e5e4d5b4
Added -m32 to CFLAGS/LDFLAGS, updated copyright dates and version no.
2008-01-29 00:34:34 -05:00
Abdulaziz Ghuloum
df1cef98be
- Added primop for *.
2008-01-19 16:11:00 -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
976694a3ab
passing tests-1.5
2008-01-04 04:41:20 -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
f44b9285c7
small bug fix in assembler for code like (movl reg (disp reg reg))
2007-12-31 03:02:12 -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
3a3bc7dcc1
* keyboard interrupts are now continuable.
2007-11-15 13:40:36 -05:00
Abdulaziz Ghuloum
efa2f0ef43
* '#!eof no longer signals an assembler error
...
- bug reported by micheal adams in person.
2007-11-11 01:04:07 -05:00
Abdulaziz Ghuloum
5ce6ca4efb
* Added bytevector-ieee-single-native-ref and bytevector-ieee-single-native-set!
2007-11-08 22:22:24 -05:00
Abdulaziz Ghuloum
1b103a4ab8
* bytevector-ieee-double-ref/set! now work
2007-11-07 04:54:54 -05:00
Abdulaziz Ghuloum
7dbce6e888
* Added bytevector-ieee-double-ref and bytevector-ieee-double-set!
...
(which does not yet support big endianness)
2007-11-07 01:26:38 -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
037351e27e
* Two minor non-optimizations for $event-check and $stack-overflow-check
...
* If a procedure does not make non-tail calls, stack-overflow is eliminated.
* If a procedure does not make any calls (leaf routine), then event-check
is eliminated as well.
(total savings: about 10% reduction in boot-file size)
2007-11-05 16:23:13 -05:00
Abdulaziz Ghuloum
8e85c3303b
* Switched order of two compiler passes: specify-representation and
...
insert-stack-overflow-check. This will make it easier to remove
unnecessary stack checks and to add some that we *may* be
missing.
* Added a $stack-overflow-check primitive that takes care of checking
and calling ikrt_stack_overflow if we did detect an overflow.
2007-11-05 15:30:42 -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
fdb664b61c
renamed:
...
src/scheme => scheme
2007-10-17 20:07:10 -04:00