Commit Graph

36 Commits

Author SHA1 Message Date
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