Abdulaziz Ghuloum
50888bef94
Fixes issues/warnings in bug 193327.
2008-03-15 21:06:47 -04: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
2dc4542148
Reimplemented the guardians collector which was yellowing out since
...
the last update to the GC. All tests now run without a glitch.
2008-01-12 17:32:43 -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
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
d162c1cc25
moved definition of HEAPSIZE to ikarus-data.h
2007-12-20 03:51:43 -05:00
Abdulaziz Ghuloum
372c3e369b
Change of strategy in the garbage collector.
...
Previously: when a generation (say 2) is collected,
everything in gen 0 moves to gen 1
everything in gen 1 moves to gen 2
everything in gen 2 moves to gen 3
Now: when a generation (say 2 again) is collected
everything in gen 0 moves to gen 3
everything in gen 1 moves to gen 3
everything in gen 2 moves to gen 3
So, some objects get a leap from young to old if they're lucky to be
in the right time.
Consequences: when an object is moved by the collector, we don't
need to track old->new pointers and masks because all moved objects
are clean now. This both simplifies the collector and makes it more
efficient and might open the door for further optimization
opportunities. For bootstrap time, we get about 5% overall
saving and about 20% GC-time saving. Not bad.
BEFORE:
running stats for macro expansion:
45 collections
2558 ms elapsed cpu time, including 212 ms collecting
2576 ms elapsed real time, including 216 ms collecting
186972152 bytes allocated
running stats for code generation and serialization:
86 collections
4365 ms elapsed cpu time, including 1444 ms collecting
4374 ms elapsed real time, including 1449 ms collecting
362819096 bytes allocated
running stats for the entire bootstrap process:
131 collections
6928 ms elapsed cpu time, including 1657 ms collecting
6953 ms elapsed real time, including 1666 ms collecting
549818232 bytes allocated
AFTER:
running stats for macro expansion:
45 collections
2506 ms elapsed cpu time, including 169 ms collecting
2511 ms elapsed real time, including 171 ms collecting
186968056 bytes allocated
running stats for code generation and serialization:
86 collections
4083 ms elapsed cpu time, including 1189 ms collecting
4085 ms elapsed real time, including 1191 ms collecting
362810904 bytes allocated
running stats for the entire bootstrap process:
131 collections
6591 ms elapsed cpu time, including 1359 ms collecting
6599 ms elapsed real time, including 1362 ms collecting
549805944 bytes allocated
Happy Happy Joy Joy
2007-12-15 10:43:29 -05:00
Abdulaziz Ghuloum
b3f30bebff
forgot to include <sys/time.h> in ikarys-collect.c (MacOS does not
...
complain about implicit declaration of gettimeofday).
2007-12-10 15:06:47 -05:00
Abdulaziz Ghuloum
7d7ceb6480
Weeded out gcc warnings and added -Wall as a configure flag.
2007-12-10 15:02:25 -05:00
Abdulaziz Ghuloum
91c365d9a6
records/structs are an iota faster to collect.
2007-11-21 16:39:16 -05:00
Abdulaziz Ghuloum
3b4d3097a1
Fixes bug 163540: allocation in bignum arithmetic does not garbage collect.
2007-11-18 10:37:13 -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