Commit Graph

123 Commits

Author SHA1 Message Date
Abdulaziz Ghuloum cc500489b7 * file-exists? now uses bytevectors for filenames. 2007-05-18 22:18:51 -04:00
Abdulaziz Ghuloum b54cc9a762 * system now passes a bytevector to ik_system. 2007-05-18 22:15:52 -04:00
Abdulaziz Ghuloum 862871a787 * bignum->string now uses bytevectors as intermediate rep. 2007-05-18 22:08:45 -04:00
Abdulaziz Ghuloum 691a42fe4e * string->flonum now uses bytevectors as intermediate rep. 2007-05-18 22:01:04 -04:00
Abdulaziz Ghuloum 7ca0ddfa81 * flonum->string now uses a bytevector as the intermediate buffer. 2007-05-18 21:52:04 -04:00
Abdulaziz Ghuloum 179063c117 * open-output-file now uses a bytevector instead of a string to
represent the filename during ffi.
2007-05-18 21:06:25 -04:00
Abdulaziz Ghuloum 1586986dbe * open-input-file now uses a bytevector representing the filename
during ffi.
2007-05-18 21:03:14 -04:00
Abdulaziz Ghuloum 498084a6e8 * date-string now uses bytevectors instead of strings during ffi. 2007-05-18 20:59:10 -04:00
Abdulaziz Ghuloum 85944a2cff * Added utf8-bytevector->string decoder 2007-05-18 20:18:55 -04:00
Abdulaziz Ghuloum 10f5e53338 * foreign procedures are now represented as bytevectors instead of
strings.
2007-05-18 18:55:20 -04:00
Abdulaziz Ghuloum dfe8e0e1c1 * ikarus-fasl.c now recognizes the "v" marker for bytevectors 2007-05-18 18:16:52 -04:00
Abdulaziz Ghuloum 35fa003558 * Added $write-byte to ikarus.io-primitives.unsafe.ss 2007-05-18 08:15:51 -04:00
Abdulaziz Ghuloum 52a28f8332 * input ports now use bytevectors fully. 2007-05-17 06:44:51 -04:00
Abdulaziz Ghuloum 49dc13d5ee * make string operations safe in all io layers. 2007-05-17 05:41:00 -04:00
Abdulaziz Ghuloum 5249a8ec31 * The gc now knows about bytevectors 2007-05-17 04:34:52 -04:00
Abdulaziz Ghuloum 97f59ad1ee * transition of symbols to secondary type done. 2007-05-15 11:37:43 -04:00
Abdulaziz Ghuloum 6bdb50004a * incremental step towards loading a fresh compiler for
bootstrapping.
2007-05-15 08:56:22 -04:00
Abdulaziz Ghuloum 7dc4f7617b * ikarus-runtime no longer assigns the value of $base-rtd to the
base-rtd object.  The reader now accesses the base-rtd from the
  pcb directly.
2007-05-09 19:45:41 -04:00
Abdulaziz Ghuloum 8226619438 * install-library now takes an extra visibility flag.
* installed-libraries now takes an optional "all?" flag:
  - if all? is true, it returns all libraries.
  - if all? is false, it returns only the visible libraries
  - all? defaults to #t.
2007-05-07 04:52: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 5bb666bf7f * last commit on alt-cogen and beginning of alt-alt-cogen :-) 2007-03-09 14:01:17 -05:00
Abdulaziz Ghuloum 893a2decc8 * added bignum? primitive and removed ikrt_isbignum from the runtime
system.
2007-03-04 13:02:39 -05:00
Abdulaziz Ghuloum c6861f41d5 * added flonum? and removed ikrt_is_flonum from the runtime system. 2007-03-04 12:59:28 -05:00
Abdulaziz Ghuloum b326fbc07a * completed the move to new specify-representation pass infrastructure. 2007-03-03 23:17:04 -05:00
Abdulaziz Ghuloum cf65729971 more more more 2007-03-02 02:47:36 -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 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 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
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 783beb990b * exact->inexact is now implemnted.
* +, -, and * now handles flonums by converting exact arguments to
  inexact if the other argument is a flonum.
2007-01-20 19:26:17 -05:00
Abdulaziz Ghuloum 96ad8a04a4 * flonum->string now always returns a string with a decimal point.
* number?, exact?, inexact?, ... now know about flonums.
* number->string also handles flonums, and so is the writer
  (automatically).
2007-01-20 18:12:12 -05:00
Abdulaziz Ghuloum de910a3544 * added flonum?, string->flonum, and flonum->string. 2007-01-20 17:49:25 -05:00
Abdulaziz Ghuloum c6bc77bc9d * Many numeric predicates are added (exact?, inexact?, real?,
complex?, etc.).
* min and max are added.
2007-01-20 16:52:22 -05:00
Abdulaziz Ghuloum 679af26761 * Added benchmarks from the larceny source distribution. 2007-01-20 14:32:30 -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 872a5e2e9e * Added even? and odd? primitives. 2007-01-13 22:32:54 -05:00
Abdulaziz Ghuloum 212224b4cf * Added the primitive (environ):
returns an alist of (string x string) as obtained from the
    system environ.
* Added the primitive env:
  (env "key") retrieves the env value associated with key
  (env "key" "val") sets the env value assocuated with key to val
  (env "key" "val" overwrite?) same as above but it does not
  overwrite an existing value of overwrite? is #f.
2007-01-13 00:42:37 -05:00
Abdulaziz Ghuloum 63575db860 * makefile.ss is updated to use fork and waitpid in order to make
use of the dual-core capability of my macbook :-)  
  Compile-time is now 1.5secs real-time.
2007-01-01 02:48:17 +03:00
Abdulaziz Ghuloum a5618ef877 * Fork, posix-fork, and waitpid are implemented. 2007-01-01 02:02:41 +03:00
Abdulaziz Ghuloum eb24d17049 Fixed bug that caused mvcalls to lose their live masks. 2007-01-01 01:46:47 +03: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 b507118f5d Added libtimers.ss:
(time-it proc) runs proc and reports the time.
  (time-it proc message) runs proc and reports the time, with message.
  (time <expr>) evaluates expr and prints the running time.
2006-12-29 10:53:47 +03:00
Abdulaziz Ghuloum 0b38b1ff30 ikarus-fasl.c plays along with the rtd-symbol game by setting and
referencing rtd symbols.
2006-12-26 11:46:23 +03:00
Abdulaziz Ghuloum 158980aeea The fasl-loader interns gensyms by default now. 2006-12-25 10:35:18 +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 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 3aa22ea200 * Added 'add imm, mem' instruction format. 2006-12-21 17:16:33 +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 1d2a277063 not done with fx-/fx+/fx* 2006-12-07 15:42:25 -05:00
Abdulaziz Ghuloum d7565580bf added intel docs 2006-12-07 01:38:04 -05:00
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 5f051d3122 fixed memory extension bug in the collector 2006-12-06 10:08:34 -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 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 30a3ce94ef * I don't know if the bug is fixed. 2006-12-04 09:11:56 -05:00
Abdulaziz Ghuloum 4a813dd5f8 segfaulting state 2006-12-03 18:42:52 -05:00
Abdulaziz Ghuloum bdcfd8beb0 * Added a T tag in the fasl file format denoting a thunk.
* T is followed by a code object.
2006-12-03 15:13:36 -05:00
Abdulaziz Ghuloum b09f5ba142 rebuilt 2006-12-01 11:18:23 -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 5bb14cad6e renamed:
runtime => bin
  src => lib
2006-12-01 10:40:21 -05:00