Abdulaziz Ghuloum
814c797633
- removed bset/h instruction from the compiler (it was rarely used
...
and not implemented 100% correctly)
- fixed parameterize to allow (parameterize () def ... exp exp ...)
2008-09-06 04:17:20 -07:00
Abdulaziz Ghuloum
9b9464229a
- fixed how stack overflow check is performed (now using unsigned
...
arithmetic to compare the stack pointer with the redline).
- disabled stack overflow check elimination due to a bug in the
logic that assumes primitive calls are not recursive.
2008-08-13 22:28:22 -07:00
Abdulaziz Ghuloum
53cc48d23c
fxsll was missing an interrupt call.
2008-08-07 15:02:53 -07:00
Abdulaziz Ghuloum
3b80d4f321
fixed a bug in quotient and div when given (least-fixnum) and -1.
2008-07-26 12:28:51 -07:00
Abdulaziz Ghuloum
acc9940379
fixed gc bug in 64-bit mode along with another 64-bit bug in the
...
assembler when addressing using special %eax/%rax instructions.
2008-07-21 22:07:31 -07:00
Abdulaziz Ghuloum
4f48c55bfc
all existing tests pass under 64-bit
2008-07-19 14:41:06 -07:00
Abdulaziz Ghuloum
81a1a640df
more progress on the AMD64 front, fixing more numeric and more cogen
...
64-bit bugs.
2008-07-18 22:21:57 -07:00
Abdulaziz Ghuloum
01c4afa320
Major work towards the AMD64 port. Most important of which is that
...
continuations work, more assembly instructions are testing in 64-bit
mode, and some arithmetic operations (shift-right, etc.) have been
fixed by removing some 32-bit dependencies.
2008-07-18 01:35:13 -07:00
Abdulaziz Ghuloum
eccca7f4ea
- Added trace-let-syntax, trace-letrec-syntax, as well as fixed
...
trace-define-syntax to handle variable transformers.
- added primops for fx comparison functions.
2008-07-11 22:31:40 -07:00
Abdulaziz Ghuloum
579b823f44
WIP on tag analysis, annotations, and utilization.
2008-07-06 23:48:16 -07:00
Abdulaziz Ghuloum
45346ef865
- Added cp0! including:
...
- (optimize-level [0,1,2]) and ikarus -O[0,1,2]
where -O0 = no optimizations
-O1 = using old optimizer
-O2 = using the new cp0 optimizer
defaults to -O1 for now.
- (cp0-size-limit n) which is the limit of the residual size for
each inlining attempt
- (cp0-effort-limit n) which is the limit on the effort expended
for each inlining attempt
- Rewrote the syntax-match macro to make use of the same technology
used in syntax-case itself resulting in reduced code size.
- Added (system-value <symbol>) which returns the system value.
E.g., (system-value 'car) => #<procedure car>
This is pretty much the same as
(eval <symbol> (environment '(ikarus)))
except that it does not involve compiling the expression or
consulting the library/expander systems.
- Fixed the fasl loader to make it understand complex numbers.
2008-06-28 02:25:44 -07:00
Abdulaziz Ghuloum
7d9ed176ac
More work on cp0 which can now swallow the compiler but cannot yet
...
fold any primitives.
2008-06-22 22:10:05 -07:00
Abdulaziz Ghuloum
1bd699349a
Fixed a problem with port position accounting which was using fixnum
...
arithmetic instead of generic arithmetic.
2008-06-17 21:05:01 -07:00
Abdulaziz Ghuloum
ab2e05e8b0
Added inexact complex numbers.
2008-05-24 10:13:01 -07:00
Abdulaziz Ghuloum
82140f87ba
- Added complex numbers representation (exact complex only).
...
- Added make-rectangular.
- Added the ability to display complex numbers.
2008-05-18 20:39:41 -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
139ff2f33c
First complete (but broken) build of ikarus in 64-bit.
2008-04-14 22:02:03 -04:00
Abdulaziz Ghuloum
d02e9fe035
Passing 709 tests in 64-bit mode
2008-04-12 15:06:55 -04:00
Abdulaziz Ghuloum
df0aa2de1f
Added input-socket-buffer-size and output-socket-buffer-size
...
parameters.
2008-04-11 14:02:43 -04:00
Abdulaziz Ghuloum
f63f85e1cc
570 tests in 64-bit mode
2008-04-09 03:05:19 -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
f6b35c4506
Fixes bug 191659: add1 and sub1 are slow
2008-02-13 18:12:00 -05:00
Abdulaziz Ghuloum
08fda34ebe
Added a single argument (fx- n) case that was missing.
2008-02-12 16:43:15 -05:00
Abdulaziz Ghuloum
bde9000c06
fx- now checks for overflow.
2008-02-12 15:03:43 -05:00
Abdulaziz Ghuloum
1683997a12
fx* now detects overflow.
2008-02-12 14:46:18 -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
6df608ccd9
SCC-letrec kinda works now.
2008-02-10 05:24:16 -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
48100f3737
Added bitwise-and primop.
2008-01-19 15:44:38 -05:00
Abdulaziz Ghuloum
5bf2afce78
Added inline expansion for all cxr and cxxxr primitives.
2008-01-18 22:44:40 -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
50e2478d06
removed some hard-coded constants of pcb-offsets.
2008-01-01 23:07:41 -05:00
Abdulaziz Ghuloum
945e8473fc
input-port-byte-position works for input files.
2007-12-18 17:25: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
fa27b7e9cd
Fixes 1/2 of bug 176207: identifier-syntax second case broken
2007-12-14 01:58:55 -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
1469932f3d
Exported the transcoder? primitive.
2007-12-06 05:05:26 -05:00
Abdulaziz Ghuloum
bc2e88e4e7
Added special case for (div x [positive-fixnum-power-of-2])
2007-12-02 04:30:59 -05:00
Abdulaziz Ghuloum
113add26ac
Improved error reports in records.procedural as per Derick
...
Eddington's suggestions and removed the record-name check for
non-generative records.
2007-12-01 22:32:19 -05:00
Abdulaziz Ghuloum
3056d26a9d
Moved implementation of safe make-vector to foreign-call.
2007-12-01 05:38:09 -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
87d1cd5ad1
* reverted to previous broken version of ratnum->flonum.
2007-11-17 02:13:44 -05:00
Abdulaziz Ghuloum
55254257fb
* generalized the fl+, fl-, fl*, and fl/ primops to multiple arguments.
2007-11-15 08:05:17 -05:00
Abdulaziz Ghuloum
79c31416cf
* Added $flonum-sbe primop for extracting the signed-biased-exponent
...
of a flonum.
2007-11-14 12:39:23 -05:00
Abdulaziz Ghuloum
820d1716be
* open-coded $flround.
2007-11-13 03:41:54 -05:00
Abdulaziz Ghuloum
5d0f86377e
* Fixes bug 161923: Segfault on float ops
...
(I was trying to be too clever with optimizing the checks.)
2007-11-11 00:09:00 -05:00
Abdulaziz Ghuloum
2a8cc2a7b4
* Added bytevector-ieee-single-ref and bytevector-ieee-single-set!
2007-11-08 22:56:14 -05:00