1f2b250ed9fixed a bug in (not) handling variable-size frames in ikarus-exec.
master
Abdulaziz Ghuloum
2010-01-26 07:35:09 +0300
943a72f01ffixed a bug in the register allocator that was rewriting mov8 mem1 -> mem2 to mov mem1 -> reg mov8 reg -> mem2 instead of mov8 mem1 reg mov reg mem2 which causes unaligned and invalid memory access when the address mem1 is at a page boundary and the next page is unmapped.
Abdulaziz Ghuloum
2010-01-24 00:13:01 +0300
64aca7c80bone more fix for 64-bit jumps and calls. Some conditional jumps required cross-code offsets which are now eliminated.
Abdulaziz Ghuloum
2009-12-31 16:41:13 +0300
820eb7dcb9Fixed the ``relocation error'' that happens in 64-bit mode. What used to be a relative jump from one code object to another is now turned into a pc-relative jump, where the jump targets are stored somewhere at the bottom of the code that performs the jump:
Abdulaziz Ghuloum
2009-12-31 03:41:22 +0300
69207de752fixed a bug in $flonum-sbe that caused a read of 4 bytes past the end of the flonum object in 64-bit mode (manifesting in a segfault when running make check on fedora 64-bit).
Abdulaziz Ghuloum
2009-12-29 05:03:47 +0300
84e0f4ab6dfixed bug in quasiquote when the symbols quasiquote, unquote, unquote-splicing are introduced.
Abdulaziz Ghuloum
2009-10-21 08:55:42 +0300
d03fbfe4effixed bug in expanding macros in internal definitions which were incorrectly implemented as little modules (with their own little scope) that export everything. They now use the same scope as the main definitions.
Abdulaziz Ghuloum
2009-10-19 23:28:36 +0300
444aa9bbf0annotation-expressions are now tracked independently of marks and shifts.
Abdulaziz Ghuloum
2009-10-19 21:28:00 +0300
5a2de815cbfixed bug in writing strings containing #\x85; and #\x2028;.
Abdulaziz Ghuloum
2009-10-16 19:15:17 +0300
e10ea87a31fixed a bug in "random" not terminating for large numbers
Abdulaziz Ghuloum
2009-10-16 10:03:13 +0300
858198b886fixed a bug in using a precompiled variable transformers.
Abdulaziz Ghuloum
2009-10-16 09:54:14 +0300
ad0612905afixed bug in code generation for (fxarithmetic-shift-right x <n>) where <n> is unknown.
Abdulaziz Ghuloum
2009-09-30 04:36:09 +0300
574942c1b0fixed a bug when reading past eof in bytevector and string input ports where the index and size of the buffer get messed up.
Abdulaziz Ghuloum
2009-09-21 09:29:31 +0300
4c2b13ebe0fixed invalid code generation of (movl k0 (disp k1 k2)) which is invalid in X86_64.
Abdulaziz Ghuloum
2009-09-12 22:20:07 +0300
12f41f4a8ainstalled a workaround for a bug in libffi where it does not mark executable code with the PROT_EXEC protection flag.
Abdulaziz Ghuloum
2009-09-07 00:04:24 +0300
7fee24e09elibpthread is linked to ikarus automatically if the system has pthreads.
Abdulaziz Ghuloum
2009-09-03 00:07:09 +0300
4ce666c8d6applied patch from andreas rottmann for providing "process*" which is the kitchen sink of subprocess creation.
Abdulaziz Ghuloum
2009-09-02 22:47:57 +0300
f33e304606updated to newer auto tools and fixed c32 and c64 to be more generic.
Abdulaziz Ghuloum
2009-09-02 20:52:56 +0300
d231301e2fadded workaround for missing CPP definitions on FreeBSD.
Abdulaziz Ghuloum
2009-08-26 19:13:40 +0300
399a428382Added #include <limits.h> to src/ikarus-runtime.c.
Abdulaziz Ghuloum
2009-08-26 18:50:55 +0300
8adc203dedstring-hash and string-ci-hash now return nonnegative fixnums only.
Abdulaziz Ghuloum
2009-08-26 18:46:55 +0300
57de27827acustom hashtables' hash functions can now return any exact integer, instead of returning nonnegative exact integers.
Abdulaziz Ghuloum
2009-08-26 18:23:07 +0300
c0233db219fixed the bahavior of fxaithmetic-shift{-left,-right,} when the shift amount is not in range and when the result overflows.
Abdulaziz Ghuloum
2009-08-26 18:04:18 +0300
b1c9fda05cbytevector-{u,s}int-set! now err when the size argument is not positive.
Abdulaziz Ghuloum
2009-08-26 16:40:59 +0300
8bd012bfebfx{+,-,*}/carry now chech that all their arguments are fixnums (causes segfaults when unchecked).
Abdulaziz Ghuloum
2009-08-24 15:22:51 +0300
402c4aa468fixed bug in shift-left by multiples of 32/64 bits where the shifted data was misplaced in the resulting number.
Abdulaziz Ghuloum
2009-08-03 20:55:14 +0300
22dc82567dadded a "warning" procedure, that's like assertion-violation and error except that it throws a warning via raise-continuable.
Abdulaziz Ghuloum
2009-08-03 10:36:18 +0300
a884cc9ff7fixed bytevector-ieee-double-{ref,set!} that use wrong endianness when the index is unaligned.
Abdulaziz Ghuloum
2009-08-02 21:44:02 +0300
c67865ff09alignment requirement for bytevector-u64-ref and bytevector-s64-ref is removed.
Abdulaziz Ghuloum
2009-08-02 15:12:58 +0300
97dfb20a53fixed incorrect error message for non-real arguments to negative?, positive?, and abs.
Abdulaziz Ghuloum
2009-08-02 15:00:54 +0300
e3ce873118mantissa-width syntax of inexact numbers is now parsed and ignored.
Abdulaziz Ghuloum
2009-08-02 14:01:35 +0300
3e71a5aa5efixed reading of polar notation
Abdulaziz Ghuloum
2009-08-02 12:23:07 +0300
b2bca8a00asome refactoring of string-to-number parsers
Abdulaziz Ghuloum
2009-08-02 10:47:39 +0300
4df1dcb25aattempting to reference/modify unexportable bindings was crashing the expander instead of raising a proper error. fixed.
Abdulaziz Ghuloum
2009-08-01 22:18:26 +0300
b586d2e21asome asserion violations in the reader are converted to &lexicals so that the repl displays them properly. E.g., (read (open-string-input-port "#!r6rs |foo|")) shows an &assertion, but typing #!r6rs |foo| at the repl causes the repl to reset without a message.
Abdulaziz Ghuloum
2009-07-30 21:46:11 +0300
af233a2ac2added post-gc-hooks, a list of thunks that are invoked after garbage collection.
Abdulaziz Ghuloum
2009-07-30 14:19:46 +0300
7d2c1b0b9eadded missing punctuations that are allowd in scribble parens.
Abdulaziz Ghuloum
2009-07-29 19:43:49 +0300
ac3581286fIkarus now supports PLT's Scribble syntax! - The only thing unsupported is the transposition of punctuations, e.g., @`foo{bar} => `@foo{bar}.
Abdulaziz Ghuloum
2009-07-29 19:07:03 +0300
cdea4e0942added define-fluid-syntax and fixed fluid-let-syntax.
Abdulaziz Ghuloum
2009-07-28 22:12:48 +0300
7961405db7input ports now support "input-port-column-number" and "input-port-row-number". These currently work for string ports, latin-1 ports, and utf-8 ports as long as only ascii chars are read.
Abdulaziz Ghuloum
2009-07-23 16:35:05 +0300
9e764c76b4- eqv? and equal? now guarantee #t when given two NaNs (unspecified by R6RS).
Abdulaziz Ghuloum
2009-07-20 10:01:05 +0300
fe88c7bd0dfixed incorrect setting of IKARUS_LIBRARY_PATH.
Abdulaziz Ghuloum
2009-07-06 13:20:09 +0300
acbd00c356fixed a bug in expanding macros in definition context where the scope would get messed up when the macro call appears inside let/letrec-syntax. Basically, in the following example,
Abdulaziz Ghuloum
2009-07-06 12:14:08 +0300
cda06eba58added a parameter to switch between different letrec handling routines
Abdulaziz Ghuloum
2009-07-06 12:07:18 +0300
7a6ae6322cadded basic letrec/letrec* handling (as in the one defined in R5RS)
Abdulaziz Ghuloum
2009-07-04 20:33:38 +0300
cc569cce64letrec optimization moved into its own file.
Abdulaziz Ghuloum
2009-07-04 19:47:15 +0300
0cc2aae7dcadded two aux libraries for parsing and formatting floating point numbers.
Abdulaziz Ghuloum
2009-06-30 19:01:20 +0300
b324709e86- ratnum->flonum now handles more numbers, though it's now slower and may still be incorrect in some cases. - (- <compnum> <flonum>) was raising an incorrect error.
Abdulaziz Ghuloum
2009-06-30 07:27:26 +0300
7de0f39736fixed floating point exception in (modulo <fx> 0).
Abdulaziz Ghuloum
2009-06-30 04:10:51 +0300
6e7f0ccf84fixed a bug in get-bytevector-n! when n == 1.
Abdulaziz Ghuloum
2009-06-30 03:51:01 +0300
b8cfdbbf66bzr-snapshot more verbose
Abdulaziz Ghuloum
2009-06-27 11:45:11 +0300
5e26cf5313added a script to extract latest development snapshot from bzr
Abdulaziz Ghuloum
2009-06-27 10:22:04 +0300
f766b91fe8make-string now signals an error if given a very large fixnum I.e., greater than (fxsra (greatest-fixnum) 1).
Abdulaziz Ghuloum
2009-06-26 13:01:48 +0300
9692eb097fMade libffi autodetectable as per bug 288748. Thanks to Andreas Rottmann for supplying the patch.
Abdulaziz Ghuloum
2009-06-26 12:12:25 +0300
f5f61f60d3Fixed tcp examples in lab directory. Thanks to Dudley Flanders for reporting this.
Abdulaziz Ghuloum
2009-06-26 12:04:39 +0300
30ac7870dethe debugger now propagates nonserious conditions upwards instead of trapping on them.
Abdulaziz Ghuloum
2009-06-26 11:33:32 +0300
1803f9f23cfixed (modulo <bignum> 0) and (modulo <bignum> <largish-fixnum>) errors that caused either a segfault or returning an incorrect value.
Abdulaziz Ghuloum
2009-06-26 11:15:02 +0300
f495665f7dchanged "condition" to "exception" in debugger output.
Abdulaziz Ghuloum
2009-06-26 11:05:40 +0300
d2cc4c65a3put-string now takes the required optional arguments (same as put-bytevector)
Abdulaziz Ghuloum
2009-06-26 10:52:56 +0300
3d17aa7cf8small cleanup to the reader.
Abdulaziz Ghuloum
2009-06-26 10:07:26 +0300
5e02972e7fenabled debug-scc flag for debugging the scc pass of the compiler (not useful for casual users)
Abdulaziz Ghuloum
2009-06-14 12:06:48 +0300
2a0e53dcb0minor work on command-line: - no dependence on ikarus - split tests from main library
Abdulaziz Ghuloum
2009-06-02 01:12:07 +0300
471921fcc7NEW: ikarus --r6rs-repl <script-name> runs the script according to the R6RS semantics, then starts a repl in an interaction environment made of everything visible (imported and defined) in the script.
Abdulaziz Ghuloum
2009-05-31 13:32:33 +0300
5f4151a2e9moved port position into cookie instead of being its own vector.
Abdulaziz Ghuloum
2009-05-30 13:34:18 +0300
3099d1d629moved output strings, file descriptors, and port mode into a port "cookie"
Abdulaziz Ghuloum
2009-05-30 13:18:43 +0300
eec9453fc7- if IKARUS_LIBRARY_PATH is set, "." is no longer added to library-path, so, whereever you set it, you should decide whether to include "." or exclude it. ["$prefix/lib/ikarus" is still added to the path so that multiple versions of ikarus can exist and each uses its own sources dir without interference]
Abdulaziz Ghuloum
2009-05-30 10:46:45 +0300
ac0e583310- include now resolves relative includes (where file name does not start with "/") according to library-path. Absolute paths are not resolved.
Abdulaziz Ghuloum
2009-05-30 09:47:56 +0300
f13876d385- removed include and include-into from (ikarus) library - moved include and include/lexical-context to their own (ikarus include) library (source only, not in boot image).
Abdulaziz Ghuloum
2009-05-30 08:14:09 +0300
2653cedee1expand changed: - it now takes an optional environment (it was required) - it no longer returns a second value (list of libraries) - it's output is "pretty".
Abdulaziz Ghuloum
2009-05-30 05:16:04 +0300
83d8f051fefixed minor bug in cogen of vector?
Abdulaziz Ghuloum
2009-05-28 14:04:19 +0300
24ece86772- Added stale-when: syntax: (stale-when guard-expr e* ...) ;; in definition context (stale-when guard-expr e e* ...) ;; in expression context
Abdulaziz Ghuloum
2009-05-28 09:02:47 +0300
f759815a8c- Ikarus now recognizes IKARUS_FASL_DIRECTORY (and the corresponding fasl-directory parameter) that works as follows: - if IKARUS_FASL_DIRECTORY is set to "", no fasl files are produced. - if IKARUS_FASL_DIRECTORY is set to something other than "", the string is used as a directory in which fasl files are placed. - if IKARUS_FASL_DIRECTORY is unset, the directory $HOME/.ikarus/precompiled is used for fasl output. - library file names are cannonicalized using file-real-path. - the fasl file (if produced) is the result of (string-append (fasl-directory) (file-real-path filename) ext) where ext is either ".ikarus-32bit-fasl" or ".ikarus-64bit-fasl".
Abdulaziz Ghuloum
2009-05-26 13:39:32 +0300
1d9a26cefd- changed fasl extension to be ".ikarus-32bit-fasl"/".ikarus-64bit-fasl" (depending on the target processor) instead of just ".ikarus-fasl".
Abdulaziz Ghuloum
2009-05-26 12:04:55 +0300
5e5cbfe18b- Added make-directory* (like make-directory, but builds the whole directory structure recursively) - Added split-file-name (takes a string, returns two values: the substring before the final "/" and the string after it). - Fixed a minor bug in file-directory?, file-exists?, etc. that were failing on OS X if part of the path given was not a directory. E.g., if /tmp/foo is a regular file, (file-directory? "/tmp/foo/bar") was raising an exception instead of returning #f.
Abdulaziz Ghuloum
2009-05-26 01:14:11 +0300
9cb0945f1f- Added file-real-path which is identical to realpath(3).
Abdulaziz Ghuloum
2009-05-25 22:19:43 +0300
27112fec4efixed bug that produced an incorrect assertion violation for (put-bytevector! port bv i j) where i = (bytevector-length bv). Thanks to Andreas Rottmann.
Abdulaziz Ghuloum
2009-05-24 12:49:53 +0300
ec76547da0- procedures made with defun-style definitions now have proper source annotation (pointing to the identifier that's the name of the procedure, instead of the define keyword itself).
Abdulaziz Ghuloum
2009-05-24 12:34:39 +0300
f3b071548d- improved debugger speed when debug-calling a primitive operation. Ack now runs only 80 times slower in debug mode (down from 360 times), and bootstrapping is now done in 170 seconds instead of 500 (nondebug time is still less than 8 seconds).
Abdulaziz Ghuloum
2009-05-24 11:59:18 +0300
ae136274ed- the source-level optimizer now optimizes (inlining, constant-folding, etc.) across debug-calls.
Abdulaziz Ghuloum
2009-05-21 18:43:28 +0300
b35f5a9e1d- trace-lambda and debug-call now interact properly and do not lose tail calls.
Abdulaziz Ghuloum
2009-05-21 11:47:24 +0300
8ef5eaeca2- better error message for using make-c-callout and make-c-callback when ffi support is not enabled.
Abdulaziz Ghuloum
2009-05-20 09:58:03 +0300
beb3845e9d- modified the ikarus debugger to use the same continuation frame structure as the one the tracer uses.
Abdulaziz Ghuloum
2009-05-19 19:46:23 +0300
1781866f1c- small change to how the tracer works internally and how it keeps track of continuation frames and trace depths.
Abdulaziz Ghuloum
2009-05-19 13:16:59 +0300
ff25a484fb- Added -d (--debug) flag that enables debugging at the repl, r6rs scripts, and compiling dependencies. This is the first stab at the debugger. It's SLOW!
Abdulaziz Ghuloum
2009-05-18 02:08:02 +0300
dbf0b07f13- added lab/ikarus.debugger.ss which is more usable (faster) than the interpreter and is closer to how the compiler would handle debugging calls.
Abdulaziz Ghuloum
2009-05-17 12:50:16 +0300
2929379460- debugging in interpreter is changed to use continuation frames dynamically instead of performing context-sensitive transformation to determine tail/nontail calls. - interpreter now has options to reraise, continue, or quit.
Abdulaziz Ghuloum
2009-05-17 06:51:09 +0300
391e2fa87b- ikarus interpreter improvements: - shows prettier traces (frame and reduction numbers, chopped strings, etc) - can be resumed after being suspended with ^C
Abdulaziz Ghuloum
2009-05-16 09:57:37 +0300
fda2817a73- ikarus interpreter (in lab directory) is now capable of bootstrapping ikarus
Abdulaziz Ghuloum
2009-05-14 10:18:45 +0300
3207e14fca- psyntax now produces `(annotated-call ,annotation ,rator ,rands ...) form for cases when there is an annotation attached to the procedure call. The compiler just stripps it out and makes no use of it.
Abdulaziz Ghuloum
2009-05-14 09:52:05 +0300
39c8e8e23fremoved source annotation from primitive procedures (which were not supposed to be there in the first place)
Abdulaziz Ghuloum
2009-05-14 09:09:58 +0300
370454e4fc- fixed a small bug in the compile. [use of struct-ref with an index out of range, generated by improper use of struct-match]
Abdulaziz Ghuloum
2009-05-14 08:59:41 +0300
1a738c2a8d- Added skeleton of an interpreter that accepts the same language as the compiler (i.e., the one produced by psyntax).
Abdulaziz Ghuloum
2009-05-11 02:21:19 +0300
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)
Abdulaziz Ghuloum
2009-05-11 01:35:38 +0300
7e965758cfAdded memcpy (courtesy of Andreas Rottmann).
Abdulaziz Ghuloum
2009-04-30 12:35:49 +0300