1878 Commits (master)
 

Author SHA1 Message Date
Abdulaziz Ghuloum 1f2b250ed9 fixed a bug in (not) handling variable-size frames in ikarus-exec. 14 years ago
Abdulaziz Ghuloum 943a72f01f fixed 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.
14 years ago
Abdulaziz Ghuloum 64aca7c80b one more fix for 64-bit jumps and calls. Some conditional jumps
required cross-code offsets which are now eliminated.
14 years ago
Abdulaziz Ghuloum 820eb7dcb9 Fixed 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:

old code sequence:

        call-relative (Ltarget - L0)
    L0: ...

new code sequence:

        call-pc-relative (L1 - L0)
    L0: ...
        ...
    L1: <8-byte Ltarget>
14 years ago
Abdulaziz Ghuloum 69207de752 fixed 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).
14 years ago
Abdulaziz Ghuloum 84e0f4ab6d fixed bug in quasiquote when the symbols quasiquote, unquote,
unquote-splicing are introduced.
14 years ago
Abdulaziz Ghuloum d03fbfe4ef fixed 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.
14 years ago
Abdulaziz Ghuloum 444aa9bbf0 annotation-expressions are now tracked independently of marks and
shifts.
14 years ago
Abdulaziz Ghuloum 5a2de815cb fixed bug in writing strings containing #\x85; and #\x2028;. 14 years ago
Abdulaziz Ghuloum e10ea87a31 fixed a bug in "random" not terminating for large numbers 14 years ago
Abdulaziz Ghuloum 858198b886 fixed a bug in using a precompiled variable transformers. 14 years ago
Abdulaziz Ghuloum ad0612905a fixed bug in code generation for (fxarithmetic-shift-right x <n>)
where <n> is unknown.
14 years ago
Abdulaziz Ghuloum c375d537a3 added waiter-prompt-string parameter (chez compatible) 14 years ago
Abdulaziz Ghuloum 574942c1b0 fixed a bug when reading past eof in bytevector and string input
ports where the index and size of the buffer get messed up.
14 years ago
Abdulaziz Ghuloum 4c2b13ebe0 fixed invalid code generation of (movl k0 (disp k1 k2)) which is
invalid in X86_64.
14 years ago
Abdulaziz Ghuloum 12f41f4a8a installed a workaround for a bug in libffi where it does not mark
executable code with the PROT_EXEC protection flag.
14 years ago
Abdulaziz Ghuloum 7fee24e09e libpthread is linked to ikarus automatically if the system has
pthreads.
14 years ago
Abdulaziz Ghuloum 4ce666c8d6 applied patch from andreas rottmann for providing "process*" which
is the kitchen sink of subprocess creation.
14 years ago
Abdulaziz Ghuloum f33e304606 updated to newer auto tools and fixed c32 and c64 to be more generic. 14 years ago
Abdulaziz Ghuloum d231301e2f added workaround for missing CPP definitions on FreeBSD. 14 years ago
Abdulaziz Ghuloum 399a428382 Added #include <limits.h> to src/ikarus-runtime.c. 14 years ago
Abdulaziz Ghuloum 8adc203ded string-hash and string-ci-hash now return nonnegative fixnums only. 14 years ago
Abdulaziz Ghuloum 57de27827a custom hashtables' hash functions can now return any exact integer,
instead of returning nonnegative exact integers.
14 years ago
Abdulaziz Ghuloum c0233db219 fixed the bahavior of fxaithmetic-shift{-left,-right,} when the
shift amount is not in range and when the result overflows.
14 years ago
Abdulaziz Ghuloum b1c9fda05c bytevector-{u,s}int-set! now err when the size argument is not
positive.
14 years ago
Abdulaziz Ghuloum 8bd012bfeb fx{+,-,*}/carry now chech that all their arguments are fixnums
(causes segfaults when unchecked).
14 years ago
Abdulaziz Ghuloum 402c4aa468 fixed bug in shift-left by multiples of 32/64 bits where the shifted
data was misplaced in the resulting number.
14 years ago
Abdulaziz Ghuloum 22dc82567d added a "warning" procedure, that's like assertion-violation and
error except that it throws a warning via raise-continuable.
14 years ago
Abdulaziz Ghuloum a884cc9ff7 fixed bytevector-ieee-double-{ref,set!} that use wrong endianness
when the index is unaligned.
14 years ago
Abdulaziz Ghuloum 7e5b27f822 wrong alignment check in bytevector-{s,u}64-set! fixed. 14 years ago
Abdulaziz Ghuloum c67865ff09 alignment requirement for bytevector-u64-ref and bytevector-s64-ref
is removed.
14 years ago
Abdulaziz Ghuloum 97dfb20a53 fixed incorrect error message for non-real arguments to negative?,
positive?, and abs.
14 years ago
Abdulaziz Ghuloum e3ce873118 mantissa-width syntax of inexact numbers is now parsed and ignored. 14 years ago
Abdulaziz Ghuloum 3e71a5aa5e fixed reading of polar notation 14 years ago
Abdulaziz Ghuloum b2bca8a00a some refactoring of string-to-number parsers 14 years ago
Abdulaziz Ghuloum 4df1dcb25a attempting to reference/modify unexportable bindings was crashing
the expander instead of raising a proper error.  fixed.
14 years ago
Abdulaziz Ghuloum b586d2e21a some 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.
14 years ago
Abdulaziz Ghuloum af233a2ac2 added post-gc-hooks, a list of thunks that are invoked after garbage
collection.
14 years ago
Abdulaziz Ghuloum 7d2c1b0b9e added missing punctuations that are allowd in scribble parens. 14 years ago
Abdulaziz Ghuloum ac3581286f Ikarus now supports PLT's Scribble syntax!
- The only thing unsupported is the transposition of punctuations,
  e.g., @`foo{bar} => `@foo{bar}.
14 years ago
Abdulaziz Ghuloum cdea4e0942 added define-fluid-syntax and fixed fluid-let-syntax. 14 years ago
Abdulaziz Ghuloum 7961405db7 input 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.
14 years ago
Abdulaziz Ghuloum 9e764c76b4 - eqv? and equal? now guarantee #t when given two NaNs (unspecified
by R6RS).
14 years ago
Abdulaziz Ghuloum fe88c7bd0d fixed incorrect setting of IKARUS_LIBRARY_PATH. 14 years ago
Abdulaziz Ghuloum acbd00c356 fixed 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,

(let-syntax ([id-macro (syntax-rules () [(_ x) x])])
  (let () 
    (define (foo) (display "not ok\n")) 
    (let-syntax ([foo (syntax-rules () [(_) (display "ok\n")])])
      (id-macro (foo)))))

the call to (id-macro) would make (foo) refer to the foo in the
internal-definition context (the not ok one) instead of the
let-syntax one.

On the plus side, macro expansion is now half a second faster!
14 years ago
Abdulaziz Ghuloum cda06eba58 added a parameter to switch between different letrec handling routines 14 years ago
Abdulaziz Ghuloum 832fe616d2 revived waddell's letrec/letrec* optimization 14 years ago
Abdulaziz Ghuloum 7a6ae6322c added basic letrec/letrec* handling (as in the one defined in R5RS) 14 years ago
Abdulaziz Ghuloum cc569cce64 letrec optimization moved into its own file. 14 years ago
Abdulaziz Ghuloum 0cc2aae7dc added two aux libraries for parsing and formatting floating point
numbers.
14 years ago