Commit Graph

21 Commits

Author SHA1 Message Date
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 d02e9fe035 Passing 709 tests in 64-bit mode 2008-04-12 15:06:55 -04:00
Abdulaziz Ghuloum 191a82e007 Passing 685 tests in 64bit including handling of some foreign calls. 2008-04-09 07:04:02 -04:00
Abdulaziz Ghuloum 5eaa2ff469 fixed a couple of bugs in 64bit assembler. 2008-04-08 02:22:26 -04:00
Abdulaziz Ghuloum 50888bef94 Fixes issues/warnings in bug 193327. 2008-03-15 21:06:47 -04:00
Abdulaziz Ghuloum 693ca06902 doubled marks size. 2008-02-10 04:48:27 -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 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 341e53a36d 64-bit fasl files can now be produced and read. 2008-01-03 02:07:17 -05:00
Abdulaziz Ghuloum 7fb7add0ce frame size parameters are now more modular in ikarus-data.h 2008-01-02 20:58:48 -05:00
Abdulaziz Ghuloum e5fd23f50f Fixed a small bug in ikarus-fasl.c that caused linux and cygwin
builds to segfault.
2008-01-02 18:41:25 -05:00
Abdulaziz Ghuloum 66e9cd6415 ikarus now compiles cleanly (but still unrunnable) in 64-bit mode. 2008-01-01 21:42:52 -05:00
Abdulaziz Ghuloum e0909d76fe changed type of ikptr to unsigned int now and removed ikint. 2008-01-01 21:08:07 -05:00
Abdulaziz Ghuloum 15ea12f915 cleanup of the C files to make all ikptr->int casts ikptr->long int 2008-01-01 04:24:36 -05:00
Abdulaziz Ghuloum 5d33921c9e changed type of ikp from unsigned char* to char* 2007-12-23 13:37:48 -05:00
Abdulaziz Ghuloum 6386b3420a Fixes bug 164823: ikarus.boot remaining open 2007-11-30 07:06:30 -05:00
Abdulaziz Ghuloum a1adb6cc14 Missing initialization of code_ap and code_ep in ikarus-fasl.c
caused segfault on freebsd.  The funny thing, I had initialization
code in a commented-out section.  Fun fun.
2007-11-24 22:54:40 -05:00
Abdulaziz Ghuloum 1afade6d43 * renamed ik_alloc to ik_unsafe_alloc since it was unsafe to call it
in general (it did not collect on heap overflow).
2007-11-18 09:12:00 -05:00
Abdulaziz Ghuloum 90759047b3 * The fasl loader has reduced the startup mmap frenzy for code
objects from 5242 pages (almost one page per code object) down
  to 785 pages.  Special thanks to Michael Adams for counting the
  the number of pages that were used and touched at startup; without
  his help, I wouldn't have optimized it in about 10 minutes of
  coding time.
2007-11-17 13:26:27 -05:00
Abdulaziz Ghuloum 6f576dc224 * Added license stubs to all *.ss and *.[ch] files. 2007-10-25 16:27:34 -04:00
Abdulaziz Ghuloum d59c2b304b major restructuring to support autotools
added:
  Makefile
  Makefile.am
  Makefile.in
  aclocal.m4
  config.guess
  config.sub
  configure
  configure.ac
  depcomp
  install-sh
  missing
  mkinstalldirs
  src/Makefile.am
  src/Makefile.in
  src/scheme/
renamed:
  bin/ikarus-collect.c => src/ikarus-collect.c
  bin/ikarus-data.h => src/ikarus-data.h
  bin/ikarus-enter.s => src/ikarus-enter.s
  bin/ikarus-exec.c => src/ikarus-exec.c
  bin/ikarus-fasl.c => src/ikarus-fasl.c
  bin/ikarus-flonums.c => src/ikarus-flonums.c
  bin/ikarus-main.c => src/ikarus-main.c
  bin/ikarus-numerics.c => src/ikarus-numerics.c
  bin/ikarus-print.c => src/ikarus-print.c
  bin/ikarus-runtime.c => src/ikarus-runtime.c
  bin/ikarus-symbol-table.c => src/ikarus-symbol-table.c
  bin/ikarus-verify-integrity.c => src/ikarus-verify-integrity.c
  bin/ikarus-weak-pairs.c => src/ikarus-weak-pairs.c
  bin/ikarus-winmmap.c => src/ikarus-winmmap.c
  bin/ikarus-winmmap.h => src/ikarus-winmmap.h
  src/asm-tests.ss => src/scheme/asm-tests.ss
  src/dotests.ss => src/scheme/dotests.ss
  src/ikarus => src/scheme/ikarus
  src/ikarus.apply.ss => src/scheme/ikarus.apply.ss
  src/ikarus.bytevectors.ss => src/scheme/ikarus.bytevectors.ss
  src/ikarus.cafe.ss => src/scheme/ikarus.cafe.ss
  src/ikarus.chars.ss => src/scheme/ikarus.chars.ss
  src/ikarus.code-objects.ss => src/scheme/ikarus.code-objects.ss
  src/ikarus.codecs.ss => src/scheme/ikarus.codecs.ss
  src/ikarus.collect.ss => src/scheme/ikarus.collect.ss
  src/ikarus.command-line.ss => src/scheme/ikarus.command-line.ss
  src/ikarus.compiler.altcogen.ss => src/scheme/ikarus.compiler.altcogen.ss
  src/ikarus.compiler.ss => src/scheme/ikarus.compiler.ss
  src/ikarus.control.ss => src/scheme/ikarus.control.ss
  src/ikarus.date-string.ss => src/scheme/ikarus.date-string.ss
  src/ikarus.fasl.ss => src/scheme/ikarus.fasl.ss
  src/ikarus.fasl.write.ss => src/scheme/ikarus.fasl.write.ss
  src/ikarus.fixnums.ss => src/scheme/ikarus.fixnums.ss
  src/ikarus.guardians.ss => src/scheme/ikarus.guardians.ss
  src/ikarus.handlers.ss => src/scheme/ikarus.handlers.ss
  src/ikarus.hash-tables.ss => src/scheme/ikarus.hash-tables.ss
  src/ikarus.intel-assembler.ss => src/scheme/ikarus.intel-assembler.ss
  src/ikarus.io-ports.ss => src/scheme/ikarus.io-ports.ss
  src/ikarus.io-primitives.ss => src/scheme/ikarus.io-primitives.ss
  src/ikarus.io-primitives.unsafe.ss => src/scheme/ikarus.io-primitives.unsafe.ss
  src/ikarus.io.input-files.ss => src/scheme/ikarus.io.input-files.ss
  src/ikarus.io.input-strings.ss => src/scheme/ikarus.io.input-strings.ss
  src/ikarus.io.output-files.ss => src/scheme/ikarus.io.output-files.ss
  src/ikarus.io.output-strings.ss => src/scheme/ikarus.io.output-strings.ss
  src/ikarus.lists.ss => src/scheme/ikarus.lists.ss
  src/ikarus.load.ss => src/scheme/ikarus.load.ss
  src/ikarus.main.ss => src/scheme/ikarus.main.ss
  src/ikarus.multiple-values.ss => src/scheme/ikarus.multiple-values.ss
  src/ikarus.numerics.ss => src/scheme/ikarus.numerics.ss
  src/ikarus.pairs.ss => src/scheme/ikarus.pairs.ss
  src/ikarus.posix.ss => src/scheme/ikarus.posix.ss
  src/ikarus.predicates.ss => src/scheme/ikarus.predicates.ss
  src/ikarus.pretty-print.ss => src/scheme/ikarus.pretty-print.ss
  src/ikarus.promises.ss => src/scheme/ikarus.promises.ss
  src/ikarus.reader.ss => src/scheme/ikarus.reader.ss
  src/ikarus.records.procedural.ss => src/scheme/ikarus.records.procedural.ss
  src/ikarus.singular-objects.ss => src/scheme/ikarus.singular-objects.ss
  src/ikarus.sort.ss => src/scheme/ikarus.sort.ss
  src/ikarus.strings.ss => src/scheme/ikarus.strings.ss
  src/ikarus.structs.ss => src/scheme/ikarus.structs.ss
  src/ikarus.symbols.ss => src/scheme/ikarus.symbols.ss
  src/ikarus.timer.ss => src/scheme/ikarus.timer.ss
  src/ikarus.trace.ss => src/scheme/ikarus.trace.ss
  src/ikarus.transcoders.ss => src/scheme/ikarus.transcoders.ss
  src/ikarus.unicode-data.ss => src/scheme/ikarus.unicode-data.ss
  src/ikarus.vectors.ss => src/scheme/ikarus.vectors.ss
  src/ikarus.writer.ss => src/scheme/ikarus.writer.ss
  src/makefile.ss => src/scheme/makefile.ss
  src/pass-specify-rep-primops.ss => src/scheme/pass-specify-rep-primops.ss
  src/pass-specify-rep.ss => src/scheme/pass-specify-rep.ss
  src/psyntax.builders.ss => src/scheme/psyntax.builders.ss
  src/psyntax.compat.ss => src/scheme/psyntax.compat.ss
  src/psyntax.config.ss => src/scheme/psyntax.config.ss
  src/psyntax.expander.ss => src/scheme/psyntax.expander.ss
  src/psyntax.internal.ss => src/scheme/psyntax.internal.ss
  src/psyntax.library-manager.ss => src/scheme/psyntax.library-manager.ss
  src/r6rs-records.ss => src/scheme/r6rs-records.ss
  src/rationalize.ss => src/scheme/rationalize.ss
  src/run-tests.ss => src/scheme/run-tests.ss
  src/set-operations.ss => src/scheme/set-operations.ss
  src/tests => src/scheme/tests
  src/tests.libraries.ss => src/scheme/tests.libraries.ss
  src/todo-r6rs.ss => src/scheme/todo-r6rs.ss
  src/unicode => src/scheme/unicode
modified:
  src/ikarus.boot
2007-10-17 19:59:37 -04:00