Commit Graph

66 Commits

Author SHA1 Message Date
Abdulaziz Ghuloum 4b83f21480 * Added remq, remp, remv, and remove 2007-09-10 16:33:05 -04:00
Abdulaziz Ghuloum 7b66d9af6b * Added cons* 2007-09-09 23:31:19 -04:00
Abdulaziz Ghuloum 8f9aa2cd18 * Interrupts now work, again 2007-09-05 01:47:57 -04:00
Abdulaziz Ghuloum 84d188451c * Applying non-procedure library variables no longer segfaults. 2007-08-29 00:21:29 -04:00
Abdulaziz Ghuloum 33c087a867 * Stack overflow is reinstated. fibc and other call/cc intensive
benchmarks now work.
2007-07-13 13:54:25 +03:00
Abdulaziz Ghuloum 61edf6d5a2 * Removed the collection of open-coded primititives in compiler.ss 2007-07-13 13:23:54 +03:00
Abdulaziz Ghuloum dd1634e755 * $fixnum->flonum now works. 2007-06-18 14:29:39 +03:00
Abdulaziz Ghuloum e51def62c1 * Fixed bugs in the just-added $fp comparison primitives. 2007-06-15 12:38:30 +03:00
Abdulaziz Ghuloum 3f3767800d * Added $fl=, $fl<, $fl>, $fl<=, $fl>= primops. 2007-06-15 12:19:28 +03:00
Abdulaziz Ghuloum 3acdcb6c04 * Added native support for $fl+, $fl-, $fl*, $fl/ 2007-06-15 08:53:34 +03:00
Abdulaziz Ghuloum 3798fd932a * Added ratnum cases to binary*. 2007-06-08 10:18:36 +03:00
Abdulaziz Ghuloum f3e5772e76 * Added bref to assembler
* Fixed bug in bytevector-s8-ref
2007-06-08 08:54:10 +03:00
Abdulaziz Ghuloum a27c6e13a9 * fixed a HUGE bug in optimize-letrec.
* fixed two minor bugs in the code generators for - and +
* added a constant-folder for "length"
2007-06-06 10:14:07 +03:00
Abdulaziz Ghuloum ae0b25ae9f * do-spill now removes spilled vars from neighbors of conflicting
vars.
2007-06-06 09:24:32 +03:00
Abdulaziz Ghuloum 0db57fbb69 * removed the reg? argument to build-graph. Reg? was needed when
build-graph was used for constructing both frame conflicts and
  register conflicts.  Now, it's only used for register conflicts so
  reg? is no longer needed.
2007-06-06 06:10:28 +03:00
Abdulaziz Ghuloum 39e6fc2fcf * removed more junk. 2007-06-06 03:11:12 +03:00
Abdulaziz Ghuloum 665f3a0b79 * removed old one-pass compiler. chaitin is now the default
backend
2007-06-06 02:57:48 +03:00
Abdulaziz Ghuloum 7301be0ab0 * removed one instance of build-graph which reduces compile time
from 225 secs down to 17!  Sweet!
2007-06-06 02:32:45 +03:00
Abdulaziz Ghuloum feb9764645 * Cleanup of some junk code in color-by-chaitin 2007-06-06 01:16:34 +03:00
Abdulaziz Ghuloum 1dc9e83448 * Altcogen works. Need to rethink how to code the conflict graphs. 2007-06-04 02:55:04 +03:00
Abdulaziz Ghuloum a5dbb8f45d * Can load altcogen. 2007-06-03 04:55:40 +03:00
Abdulaziz Ghuloum ca248be49a * Libraries can export modules now.
* libaltcogen can now be loaded.
2007-06-02 10:21:05 +03:00
Abdulaziz Ghuloum d2657bde24 * Added basic identifier-syntax (one that does not recognize the
set! case).
2007-06-02 05:43:24 +03:00
Abdulaziz Ghuloum 705e8f386b * fixed error in check-dups of modules in internal defines. 2007-05-01 02:19:05 -04:00
Abdulaziz Ghuloum f27c2df625 * assign-frame-sizes is as complete as could be (time for assigning
libcompile.ss dropped from ~5 secs to 1.8 secs).
2007-03-11 20:55:43 -04:00
Abdulaziz Ghuloum 068bc38e42 * eliminated a few instances of set-rem and set->list. 2007-03-11 20:39:21 -04:00
Abdulaziz Ghuloum 2b6bcc324b * when a variable is assigned a location, it does not need to remove
itself from the edges of its conflicting nodes.
2007-03-11 20:07:00 -04:00
Abdulaziz Ghuloum c473619084 * important realization that set->list is perhaps the most expensive
operation on sets.  Working on eliminating most uses of set->list.
2007-03-11 20:00:08 -04:00
Abdulaziz Ghuloum 2b5b555bac * Just realized that you don't need all var<->var conflicts to be
recorded.  All is needed is for a var $x$ to know some of its var
  conflicts as long as the other conflicts know about $x$.  I'll be
  working on this now.  I'm hoping for a 50% speedup in the
  assign-frame-sizes pass.
2007-03-11 18:54:15 -04:00
Abdulaziz Ghuloum aa1c7e1bb7 * before changing number of bits to 28 2007-03-11 03:40:47 -04:00
Abdulaziz Ghuloum 3cb18c56e9 * deleting old list-based set representation. 2007-03-10 21:01:41 -05:00
Abdulaziz Ghuloum fa94d2f6a1 * added a few missing instruction sequences where the dest is a
memory location.
* implemented integer sets (based on tree representation).
2007-03-10 19:50:24 -05:00
Abdulaziz Ghuloum 10bdc3dcd6 * starting with IntegerSet 2007-03-10 16:47:13 -05:00
Abdulaziz Ghuloum d4559cfd4c cleanup of repository content. 2007-03-09 19:28:38 -05:00
Abdulaziz Ghuloum b326fbc07a * completed the move to new specify-representation pass infrastructure. 2007-03-03 23:17:04 -05:00
Abdulaziz Ghuloum e9740fa34f * fixed bug in the graph construction that caused the operand of
idivl not to be added to the live set.
2007-03-02 00:41:28 -05: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 87d8d5a5dd * added a $set-symbol-function! primitive. 2007-02-24 15:42:57 -05:00
Abdulaziz Ghuloum d99c22e8c4 * The shortcut form is now two parts: a body and a handler. The
evaluation of the body can jump to the handler at any point during
  evaluation by means of using the interrupt primitive or by
  overflow.
2007-02-22 23:02:50 -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 0bd88991cb * looks not bad. 2007-02-19 23:33:29 -05:00
Abdulaziz Ghuloum 30f71b0381 * frame moves are not working as nicely as they should. 2007-02-19 18:21:35 -05:00
Abdulaziz Ghuloum b6dd620b94 * chaitin can now compile the system. 2007-02-17 19:22:14 -05:00
Abdulaziz Ghuloum 0304c85082 * pre-spilling call-live variables works for the test cases now. 2007-02-17 18:09:03 -05:00
Abdulaziz Ghuloum 85bf359150 * psyntax is not working under chaitin. 2007-02-16 10:11:21 -05:00
Abdulaziz Ghuloum 649e7f022a * libchezio and libhash are remaining 2007-02-15 23:54:39 -05:00
Abdulaziz Ghuloum 1a4cdcb7b0 * libcore now compiles with chaitin 2007-02-14 19:42:36 -05:00
Abdulaziz Ghuloum 434ebe9525 * The $apply macro and all the appcall forms were removed from the
compiler after realizing that I was stupid.  
  ($appcall rator rand*)  was just (jmpcal SL_apply rator rand*)
2007-02-14 15:50:34 -05:00
Abdulaziz Ghuloum 8294a8dee9 * fixed an assembler bug in "addl reg -> mem" 2007-02-13 17:24:00 -05:00
Abdulaziz Ghuloum 297e47db32 * adding some asm tests in asm-tests.ss 2007-02-13 05:08:48 -05:00