Commit Graph

1094 Commits

Author SHA1 Message Date
Abdulaziz Ghuloum 599f68aa84 * Ikarus now handles interrupts (e.g. ^C) by signalling an error
when an interrupt occurs.
2006-12-24 11:24:53 +03:00
Abdulaziz Ghuloum 7fed78fa9d An alt-stack and interrupt-handler are added to ikarus-main.c. When
an interrupt occurs, the engine_ticks is set to 1 and the
interrupted field is set to 1 in the pcb.
2006-12-24 09:43:20 +03:00
Abdulaziz Ghuloum fc609b4916 * lab/interupts program is added to experiment with sigaction and
sigaltstack.

added:
  lab/interrupts/
  lab/interrupts/Makefile
  lab/interrupts/inf_loop.s
  lab/interrupts/main
  lab/interrupts/main.c
2006-12-24 09:25:01 +03:00
Abdulaziz Ghuloum e69f0a5c80 * Assembler-output suppresses printing the closure-size; it prints
a newline instead.
2006-12-23 05:17:57 +03:00
Abdulaziz Ghuloum b06b28f562 * Print-gensym is now set to off during assembler-output. 2006-12-21 18:11:43 +03:00
Abdulaziz Ghuloum a41457ae66 * Heap and stack overflows now use interrupt-calls in order to push
the calls to the handlers outside of the main-line code.
2006-12-21 18:01:46 +03:00
Abdulaziz Ghuloum 0af5f6cc2a * Engine handler is functional. 2006-12-21 17:49:30 +03:00
Abdulaziz Ghuloum 3aa22ea200 * Added 'add imm, mem' instruction format. 2006-12-21 17:16:33 +03:00
Abdulaziz Ghuloum efae97a6e0 Actually, the profiling times show that memory-based tests can be
performed at around 3 secs per 1 billion checks (about 6 times
slower than register-based counters).
2006-12-21 16:32:45 +03:00
Abdulaziz Ghuloum 67a850e712 Profiling timing shows that we can do interrupt checks with cost:
* about 2.0 secs per 1 billion checks if the counter is kept in memory
* about 0.5 secs per 1 billion checks if the counter is kept in register.
2006-12-21 16:22:07 +03:00
Abdulaziz Ghuloum 5615b03879 * Input/output ports are closed when the last reference to them is
dropped.  Dropped files are closed before new files are opened.
2006-12-21 11:14:12 +03:00
Abdulaziz Ghuloum 2fcae826d1 * with-input-from-file, call-with-input-file, with-output-to-file,
and call-with-output-file no longer use dynamic-wind to track if
  an exit continuation is invoked multiple times.
2006-12-21 10:56:07 +03:00
Abdulaziz Ghuloum f7aa4c99e1 added libguardians.ss 2006-12-19 20:15:36 +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 ac5ac00bab record-case definition is moved to libcompile.ss and the file is
deleted.
2006-12-17 02:18:11 +03:00
Abdulaziz Ghuloum 52acb437e8 added:
lab/prof/
  lab/prof/Makefile
  lab/prof/main
  lab/prof/main.c
  lab/prof/main.s
2006-12-17 02:15:38 +03:00
Abdulaziz Ghuloum 63dd3ba9b4 Moved test files to tests directory 2006-12-17 02:11:57 +03:00
Abdulaziz Ghuloum 37aafc2240 added a TODO list 2006-12-13 11:06:21 -05:00
Abdulaziz Ghuloum 5f3ee8a2c4 renamed lib dir to src 2006-12-10 23:13:16 -05:00
Abdulaziz Ghuloum 5a0a7068a8 fx+ open-coded 2006-12-08 08:42:56 -05:00
Abdulaziz Ghuloum 96c647b69d fx+ in progress 2006-12-08 06:12:35 -05:00
Abdulaziz Ghuloum 1d2a277063 not done with fx-/fx+/fx* 2006-12-07 15:42:25 -05:00
Abdulaziz Ghuloum 8aab527c56 predicates now evaluate their args in the acum. 2006-12-07 03:36:31 -05:00
Abdulaziz Ghuloum bd71be0d64 * Cadr is now open-coded. 2006-12-07 02:48:31 -05:00
Abdulaziz Ghuloum 1487c5ed54 * Open-coded fxadd1 and fxsub1. 2006-12-07 02:14:02 -05:00
Abdulaziz Ghuloum d7565580bf added intel docs 2006-12-07 01:38:04 -05:00
Abdulaziz Ghuloum 0fd967384b removed reference to memv in recordize 2006-12-06 21:39:13 -05:00
Abdulaziz Ghuloum 69008ea318 Rewrote recordize to get rid of the environment: total saving ~ 50ms. 2006-12-06 21:33:33 -05:00
Abdulaziz Ghuloum 5abcbccb3a changed compile-expr to expand first 2006-12-06 21:20:15 -05:00
Abdulaziz Ghuloum cd4eef2382 Documented libtoplevel.ss a bit. 2006-12-06 21:05:19 -05:00
Abdulaziz Ghuloum 2a2a3ab7fb * Added quotient.
* Added remainder.
* Added quotient+remainder :-)
2006-12-06 20:53:54 -05:00
Abdulaziz Ghuloum f378c48daf Added Rich Lewis's Sudoku solver and problems. 2006-12-06 18:27:16 -05:00
Abdulaziz Ghuloum 4143501988 * Added ~% to the format metas.
* Exported string->list.
2006-12-06 18:26:37 -05:00
Abdulaziz Ghuloum 584e7706ea added optimize-gc note 2006-12-06 11:08:50 -05:00
Abdulaziz Ghuloum 0f2bcdb2a0 added an mmap cache to avoid repeated mmaps/munmaps 2006-12-06 11:07:27 -05:00
Abdulaziz Ghuloum 5f051d3122 fixed memory extension bug in the collector 2006-12-06 10:08:34 -05:00
Abdulaziz Ghuloum 6b0ec86de6 more stupid optimizations 2006-12-06 01:26:44 -05:00
Abdulaziz Ghuloum 06c64dab3a more optimizations 2006-12-06 00:33:25 -05:00
Abdulaziz Ghuloum 15a36e7333 eqv? -> eq? optimization 2006-12-05 23:26:02 -05:00
Abdulaziz Ghuloum ac38b15c6c memq is open-coded if the second argument is a constant list 2006-12-05 22:29:00 -05:00
Abdulaziz Ghuloum 0d476b91e2 cleaup optimizr a bit 2006-12-05 21:30:42 -05:00
Abdulaziz Ghuloum 6e6291e158 Memv is optimized as memq if the second argument is a list
containing no bignums.
2006-12-05 21:05:04 -05:00
Abdulaziz Ghuloum ca8707c5e6 starting primitive optimizer 2006-12-05 20:45:36 -05:00
Abdulaziz Ghuloum d006951ed7 symbol-table now puts an "unbound" in the symbol-value cell of the symbols it creates 2006-12-05 19:42:09 -05:00
Abdulaziz Ghuloum b8e595b6e6 removed some install-underflow-handler procedure that was not used 2006-12-05 19:21:58 -05:00
Abdulaziz Ghuloum 09c0ec0732 added assv 2006-12-05 19:18:36 -05:00