Abdulaziz Ghuloum
82a00e2628
* Fixed a bug in the GC that caused performance to degrade when
...
ik_alloc extends the heap (by 128KB) and the heap size remains set
to that value (causing more frequent GCs than usual). Now, after
ik_collect, if the heapsize is less than 4MB, it's extended to
4MB (minimum).
2007-09-15 01:54:45 -04:00
Abdulaziz Ghuloum
1cd2b8acfc
* Handling weak-pairs is now generational, fixing performance
...
problems when guardians were used to implement hash tables.
2007-09-06 22:45:20 -04:00
Abdulaziz Ghuloum
ad118623ec
* Added $code-annotation and $set-code-annotation! primops
2007-09-04 19:59:14 -04:00
Abdulaziz Ghuloum
51d512484b
* Refixed implementation of guardians to handle dead tconcs
...
properly.
2007-09-01 20:14:05 -04:00
Abdulaziz Ghuloum
95f34409e6
* Slight improvement to the guardians' performance.
2007-09-01 01:21:11 -04:00
Abdulaziz Ghuloum
4daea5e4e0
* Added ikrt_register_guardian_pair to replace ikrt_register_guardian.
2007-09-01 01:00:35 -04:00
Abdulaziz Ghuloum
5667428e70
* reimplemented guardians (which now, incidentally, work).
2007-08-31 23:28:19 -04:00
Abdulaziz Ghuloum
e20576a444
* Added a pcb field "collect_key" that simply gets set to #f
...
when garbage collection occurs.
2007-08-30 21:58:24 -04:00
Abdulaziz Ghuloum
f030e4e11d
* Stats record now contains gc-info fields.
2007-08-30 12:54:21 -04:00
Abdulaziz Ghuloum
46755415b4
Added large object support for collecting large vectors
2007-08-30 12:01:54 -04:00
Abdulaziz Ghuloum
28b143036f
Added time macro
2007-08-30 11:06:21 -04:00
Abdulaziz Ghuloum
bc3e216f63
* transition to non-consing add_one_tconc is done.
...
* Performance gains for making a hash table of 10,000,000 elements
are:
Before: 47secs Now: 17secs.
2007-06-29 01:53:18 +03:00
Abdulaziz Ghuloum
5358680912
* tconc queue now uses 2-words per tconc in the transition to
...
non-allocating tconc_add procedure.
2007-06-29 01:46:27 +03:00
Abdulaziz Ghuloum
41e1859b2b
* Fized a bug in the collector that caused tconc pages to never get
...
deallocated. Tconc pages are now allocated from generation 1.
2007-06-29 01:32:16 +03:00
Abdulaziz Ghuloum
0480517615
* Added floor/ceiling.
2007-06-10 07:32:19 +03:00
Abdulaziz Ghuloum
182de12428
* cleaned up some uses of naked strings in the runtime system.
2007-05-19 14:13:51 -04:00
Abdulaziz Ghuloum
5249a8ec31
* The gc now knows about bytevectors
2007-05-17 04:34:52 -04:00
Abdulaziz Ghuloum
6bdb50004a
* incremental step towards loading a fresh compiler for
...
bootstrapping.
2007-05-15 08:56:22 -04:00
Abdulaziz Ghuloum
48e062dfc4
* base-rtd is now placed in the pcb.
...
* renamed:
src/library-manager.ss => src/ikarus.library-manager.ss
2007-05-05 22:42:26 -04:00
Abdulaziz Ghuloum
de7c43a16b
* optimized symbol calls using the symbol-function field.
...
* added error checks for applying nonprocedures.
2007-02-25 21:29:28 -05:00
Abdulaziz Ghuloum
819a3ca1c1
* bug in collector causing dirty bits for code objects with younger reloc
...
vectors to be unset incorrectly. The bug was in using || instead
of | when computing the dirty pattern.
2007-02-22 21:58:38 -05:00
Abdulaziz Ghuloum
d6c2d5dd66
* representation (tags) of bignums/flonums changed successfully.
2007-01-21 20:36:22 -05:00
Abdulaziz Ghuloum
1c37a4ee54
* changing representation for all non-fixnum numbers.
2007-01-21 19:20:37 -05:00
Abdulaziz Ghuloum
c8111df150
* fixed bug in handling tcbuckets.
...
Summary of the bug:
if ik_alloc is called during gc, and if it causes a heap
overflow, then the pages are deallocated before returning to
scheme.
2007-01-19 18:13:44 -05:00
Abdulaziz Ghuloum
13e8f76f13
* intermediate step:
...
gc has tcbucket_size=16
compile allocates tcbucket_size=24
2007-01-17 14:34:25 -05:00
Abdulaziz Ghuloum
a8e1b860bb
Live-masks are busted again.
...
Some closures that are live are not traced by the GC.
2006-12-30 22:52:37 +03:00
Abdulaziz Ghuloum
2ea03e0417
* Fixed bug in collecting bignums.
...
* time-it now displays the number of collections and bytes
allocated.
2006-12-29 13:45:30 +03:00
Abdulaziz Ghuloum
b9a369197a
gensym->unique-string now interns gensyms in the gensym table.
2006-12-25 10:25:40 +03:00
Abdulaziz Ghuloum
b3a6744691
renamed oblist to symbol_table in pcb
2006-12-25 09:28:53 +03:00
Abdulaziz Ghuloum
5ccca042a6
* Implementation of Guardian is complete.
...
* Implementation not fully tested. May have corner cases.
2006-12-19 20:14:31 +03:00
Abdulaziz Ghuloum
8dac92a512
added guardians primitives, not tested
2006-12-19 19:41:13 +03:00
Abdulaziz Ghuloum
3d2d52fe58
Added a guardians field to the pcb.
...
Added a guardians_loop procedure to the collector. In this
revision, this procedure does nothing.
2006-12-18 23:08:33 +03:00
Abdulaziz Ghuloum
e6c5c97b34
fixed simple bug in r126 for missing return(y);
2006-12-17 03:07:21 +03:00
Abdulaziz Ghuloum
b7410520cb
renamed all if (accounting) {...} to
...
#if accounting
...
#endif
2006-12-17 03:00:34 +03:00
Abdulaziz Ghuloum
5f051d3122
fixed memory extension bug in the collector
2006-12-06 10:08:34 -05:00
Abdulaziz Ghuloum
5bb14cad6e
renamed:
...
runtime => bin
src => lib
2006-12-01 10:40:21 -05:00