Abdulaziz Ghuloum
5f4151a2e9
moved port position into cookie instead of being its own vector.
2009-05-30 13:34:18 +03:00
Abdulaziz Ghuloum
83d8f051fe
fixed minor bug in cogen of vector?
2009-05-28 14:04:19 +03:00
Abdulaziz Ghuloum
7002046c8e
- added a way of making annotated procedures without invoking the
...
compiler. (useful for a future project)
- refershed all boot files (because of added primitives)
- regenerated some autoconf files (to use newer version)
2009-05-11 01:35:38 +03:00
Abdulaziz Ghuloum
f5f6af8bd7
fixed compile error for (vector-set! (vector 0) 0.0 'foo).
2009-01-03 19:48:23 -05:00
Abdulaziz Ghuloum
5c3168d502
- fixed a bug in bytevector-ieee-double-ref which only showed up
...
under the followingconditions:
- ikarus is compiled as 64-bit
- index is a multiple of 8
- endianness is big.
2008-11-14 02:35:56 -05:00
Abdulaziz Ghuloum
811c94361b
- fixed bugs in pass-specify-rep where some (known) types were
...
unhandled causing compile time errors.
- fixed some bootstrapping issues with pointer? (which was moved out
of the (ikarus) library)
- freshened up the bootfiles for both 32- and 64-bit version of
ikarus.
2008-10-12 01:15:20 -04:00
Abdulaziz Ghuloum
e07d8f9760
ffi callbacks sorta kinda work now.
2008-09-21 04:08:54 -04:00
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