Commit Graph

117 Commits

Author SHA1 Message Date
Abdulaziz Ghuloum 2a2a3ab7fb * Added quotient.
* Added remainder.
* Added quotient+remainder :-)
2006-12-06 20:53:54 -05:00
Abdulaziz Ghuloum 4143501988 * Added ~% to the format metas.
* Exported string->list.
2006-12-06 18:26:37 -05:00
Abdulaziz Ghuloum 0f2bcdb2a0 added an mmap cache to avoid repeated mmaps/munmaps 2006-12-06 11:07:27 -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 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
Abdulaziz Ghuloum ed26e7d080 removed vector-memq and vector-memv since they were not used anywhere 2006-12-05 19:12:28 -05:00
Abdulaziz Ghuloum 0048c829b3 added eqv? and memv 2006-12-05 19:09:53 -05:00
Abdulaziz Ghuloum 90afd21ac8 removed vimview files 2006-12-05 16:06:41 -05:00
Abdulaziz Ghuloum 276f317885 tracer for multiple values is added 2006-12-05 15:08:00 -05:00
Abdulaziz Ghuloum c5e1221ace removed message-case from a file and included it in libchezio.ss 2006-12-05 14:06:13 -05:00
Abdulaziz Ghuloum 1c35c6939d removed all unsafe-record code 2006-12-05 14:00:31 -05:00
Abdulaziz Ghuloum bbf0936963 added more examples about traces in libtrace.ss 2006-12-05 13:56:54 -05:00
Abdulaziz Ghuloum d9915f371b added trace-define 2006-12-05 13:28:23 -05:00
Abdulaziz Ghuloum 80c8ca7a5c added vimviews to repository 2006-12-05 13:03:22 -05:00
Abdulaziz Ghuloum 6136e60716 eval-cp removed for calls to thunks 2006-12-04 23:15:03 -05:00
Abdulaziz Ghuloum 876a2d7824 Procedure codes no longer save their cp if the cp has no free vars. 2006-12-04 22:43:42 -05:00
Abdulaziz Ghuloum 62b42e8bb8 optimize direct calls online 2006-12-04 22:05:44 -05:00
Abdulaziz Ghuloum 36b3ec82d2 every case-lambda case now has a label 2006-12-04 20:13:21 -05:00
Abdulaziz Ghuloum c54ade7cef case-info record type for cases 2006-12-04 19:58:24 -05:00
Abdulaziz Ghuloum b8b4172797 removed clambda-code record type 2006-12-04 19:05:02 -05:00
Abdulaziz Ghuloum 307b166f38 added a label field to clambda record type 2006-12-04 19:00:43 -05:00
Abdulaziz Ghuloum 95ffbd6551 removed a useless define-record 2006-12-04 17:46:44 -05:00
Abdulaziz Ghuloum 2bcdee8e3b cleanup 2006-12-04 17:35:59 -05:00
Abdulaziz Ghuloum 6072e8980f clean up 2006-12-04 16:46:13 -05:00
Abdulaziz Ghuloum ea44b68b7c * Optimize-closure-size is done. Code reduced to 1.686MB from
1.82MB.  Bootstrap time down to 2.185s.
2006-12-04 15:42:42 -05:00
Abdulaziz Ghuloum 3906f165ff new optimization compiles 2006-12-04 15:06:51 -05:00
Abdulaziz Ghuloum 3b39b890b9 code cleanup 2006-12-04 13:10:28 -05:00
Abdulaziz Ghuloum d6a0ffa3ea * Thunks, which did not allocate, now do not cause a heap-overflow
check.  Reduces code size by around 30k.
2006-12-04 11:56:54 -05:00
Abdulaziz Ghuloum ff9439d3c1 * Simple thunks do not allocate now. 2006-12-04 11:46:52 -05:00
Abdulaziz Ghuloum 3ba89a0638 * the fasl-reader in the binary handles 'Q' tags (thunks) now. 2006-12-04 10:34:50 -05:00
Abdulaziz Ghuloum 24aa0fffb3 * libfasl handles writing thunks by writing the character Q followed
by the code of the thunk.
2006-12-04 10:26:32 -05:00
Abdulaziz Ghuloum 925cecbe3b * The procedure whack-reloc in intelasm is changed to check if a
reloc data is a thunk; and if so, it creates (and caches) a
  procedure pointing to the code of the label of the thunk.
  The label has to be at index 0 from the code.
2006-12-04 10:20:59 -05:00
Abdulaziz Ghuloum 15468bd741 list*->code* takes a thunk? predicate; it doesnt do anything with it yet 2006-12-04 10:01:56 -05:00
Abdulaziz Ghuloum 7ecb397ec7 Modified the writer so that it checks for hash tables before
records.  Now hash tables print as #<hash-table> instead of 
#["hash-table" junk].
2006-12-04 09:57:30 -05:00
Abdulaziz Ghuloum ab6c87b71f added $closure-code system primitive that returns the code of a closure 2006-12-04 09:54:28 -05:00
Abdulaziz Ghuloum 30a3ce94ef * I don't know if the bug is fixed. 2006-12-04 09:11:56 -05:00
Abdulaziz Ghuloum 261a5d4ff8 * If I add one data, the program crashes. This commit is to revert
to the last code that builds before I screw it up.
2006-12-03 15:32:40 -05:00
Abdulaziz Ghuloum 6b2e48efb7 before adding make-once thunks 2006-12-03 14:36:45 -05:00
Abdulaziz Ghuloum 6c30b75e57 * Copy propagation for constants and primrefs works. 2006-12-03 13:45:51 -05:00
Abdulaziz Ghuloum 787264e8cf * Vars now have a ``referenced'' field to be used by the optimizer.
* Uncover-assigned is renamed to uncover-assigned/referenced.
2006-12-03 11:23:03 -05:00
Abdulaziz Ghuloum 0e07a37f60 added documentation to new-cafe 2006-12-03 09:17:28 -05:00
Abdulaziz Ghuloum 99757011a6 added a couple of docs 2006-12-03 09:05:24 -05:00
Abdulaziz Ghuloum df16339018 removed some junk from libchezio 2006-12-03 05:17:08 -05:00
Abdulaziz Ghuloum c33c80285e deleted some junk from compiler 2006-12-02 18:20:20 -05:00
Abdulaziz Ghuloum 9758e3702f removed some junk code 2006-12-02 16:11:43 -05:00
Abdulaziz Ghuloum d1cbb8ce2e Write displays "\r" properly. 2006-12-02 16:07:51 -05:00
Abdulaziz Ghuloum 8642ac5305 * Write now displays "\n" properly. 2006-12-02 15:58:41 -05:00
Abdulaziz Ghuloum bd4553ef3a added documentation for substring 2006-12-02 11:34:47 -05:00
Abdulaziz Ghuloum aac9071f2a Load now takes an optional second argument, which must be a
procedure that would be applied to every expression in the file.
The default value for this procedure is eval.
2006-12-02 10:57:50 -05:00
Abdulaziz Ghuloum e32a8cc972 --script now passes the script name as a first argument to command-line-arguments 2006-12-02 10:29:25 -05:00
Abdulaziz Ghuloum 2fdaf456f8 * Added a comment-handler parameter that binds a procedure to be invoked
everytime a multiline comment is found.
2006-12-02 10:11:57 -05:00
Abdulaziz Ghuloum fa1141b57d renamed current-error-handler to error-handler 2006-12-02 06:26:05 -05:00
Abdulaziz Ghuloum cd8fea1a05 removed flush-output-port from makefile.ss 2006-12-02 05:59:09 -05:00
Abdulaziz Ghuloum 431ea890a3 * bug fix: Formatted output now flushes the output port.
* --script now takes a required script name as an argument.
2006-12-02 05:56:42 -05:00
Abdulaziz Ghuloum 4261e71b24 Fixed Makefile to use the newly acquired scripting capabilities. 2006-12-02 05:34:41 -05:00
Abdulaziz Ghuloum cfc1fcdb37 * Added a --script option to ikarus. If --script is passed as an
argument, then the greeting is suppressed and no cafe is entered.

* Example 1 (non-script): script.ss contains
     #!/usr/bin/ikarus
     (display "Hello Script\n")
   
     $ ./script.ss
     Ikarus Scheme (Build 2006-12-02)
     Copyright (c) 2006 Abdulaziz Ghuloum
     
     Hello Script
     > 
  
* Example 2 (script): script.ss contains
     #!/usr/bin/ikarus --script
     (display "Hello Script\n")
   
     $ ./script.ss
     Hello Script
     $
2006-12-02 05:28:11 -05:00
Abdulaziz Ghuloum 23ff529aa2 * Load now skips the first line of a file if that line starts with
a shebang "#!".
2006-12-02 05:02:05 -05:00
Abdulaziz Ghuloum d04eb83cf3 Added PATH search.
* If argv[0] contains a '/', then we look for argv[0]++".boot"
* Otherwise, search the path[i] for where argv[0] came from and
  append ".boot" to that.
2006-12-01 11:18:01 -05:00
Abdulaziz Ghuloum d0355ead97 Changes makefile.ss to reflect the new directory structure. 2006-12-01 10:41:13 -05:00
Abdulaziz Ghuloum 5bb14cad6e renamed:
runtime => bin
  src => lib
2006-12-01 10:40:21 -05:00