Commit Graph

174 Commits

Author SHA1 Message Date
Abdulaziz Ghuloum d9475009fd renamed:
src/cpu_has_sse2.s => src/cpu_has_sse2.S
  src/ikarus-enter.s => src/ikarus-enter.S
2008-01-02 18:05:59 -05:00
Abdulaziz Ghuloum 0db7d1d6d0 Identified places where a hard-coded number of null bytes are
manually inserted into the code stream to ensure proper offsets.
These need to be removed ASAP.  Also, abstracted the values of three
constants that were hardcoded.
2008-01-02 05:55:30 -05:00
Abdulaziz Ghuloum 50e2478d06 removed some hard-coded constants of pcb-offsets. 2008-01-01 23:07:41 -05:00
Abdulaziz Ghuloum 66e9cd6415 ikarus now compiles cleanly (but still unrunnable) in 64-bit mode. 2008-01-01 21:42:52 -05:00
Abdulaziz Ghuloum 8538098043 removed one implicit dependency on mp_bits_per_limb in ikarus.bytevectors.ss 2008-01-01 05:30:51 -05:00
Abdulaziz Ghuloum 993a3ad6c4 Fixed a couple of bugs that I introduced in previous revision. 2008-01-01 05:17:42 -05:00
Abdulaziz Ghuloum 15ea12f915 cleanup of the C files to make all ikptr->int casts ikptr->long int 2008-01-01 04:24:36 -05:00
Abdulaziz Ghuloum 1f5cef4940 sweeping the junk in assembler continues. 2007-12-31 05:34:20 -05:00
Abdulaziz Ghuloum a8abfb6bc5 Yet more cleanup in assembler. 2007-12-31 04:00:46 -05:00
Abdulaziz Ghuloum f44b9285c7 small bug fix in assembler for code like (movl reg (disp reg reg)) 2007-12-31 03:02:12 -05:00
Abdulaziz Ghuloum b2d67a552d number->string now returns a fresh string for 0. 2007-12-30 18:37:37 -05:00
Abdulaziz Ghuloum 771b9699b5 Fixes bug 179015: Feature request: socket-port's id/name includes
service-name/port
2007-12-28 00:05:44 -05:00
Abdulaziz Ghuloum 4c3b17436f Added a tcp-connect-nonblocking-example.ss to demonstrate how to
handle nonblocking sockets by continuous polling.
2007-12-27 22:17:54 -05:00
Abdulaziz Ghuloum 64dac92831 Added tcp-connect-nonblocking which is line tcp-connect but puts the
socket in nonblocking mode.  An operation that would block now
raises (continuable) a condition of type &i/o-would-block which
contains the port in question.  There's no way to handle the
condition gracefully yet.
2007-12-27 22:08:27 -05:00
Abdulaziz Ghuloum fc2d958419 Ikarus now recognizes ".sls", ".ss", and ".scm" extensions as well
as ".ikarus.sls", ".ikarus.ss", and ".ikarus.scm".
2007-12-27 15:16:08 -05:00
Abdulaziz Ghuloum 2a96ebf5b1 Fixes bug 178858: convert-closures "free vars encountered in
program" error mistakenly happening
2007-12-27 13:03:48 -05:00
Abdulaziz Ghuloum 4f0a816295 Added a tcp-connect procedure that takes a host name and a service
name (e.g. "www.google.com" and "http") and returns two binary ports:
the first for output and the second for input.
Both ports must be closed for the connection to close.

Also added an example in lab/tcp-connect-example.ss which connects 
to an http server, sends "GET /\n" and prints the responde.
2007-12-26 17:35:58 -05:00
Abdulaziz Ghuloum b8ed235308 Reimplemented open-output-string and get-output-string. 2007-12-26 02:16:02 -05:00
Abdulaziz Ghuloum f48ec4ad2d Fixes bug 178552: &non-continuable typo in makefile.ss 2007-12-26 01:48:37 -05:00
Abdulaziz Ghuloum ab67ee9dad Fixes bug 178385: Closed port giving incorrect error about type
instead of about being closed
2007-12-23 22:28:48 -05:00
Abdulaziz Ghuloum 1786677c73 * made unbound variable violations have &undefined condition type. 2007-12-23 19:52:18 -05:00
Abdulaziz Ghuloum 1c4ba26923 Added bitwise-length (fixing bug 178345: Missing bitwise-length) 2007-12-23 17:33:13 -05:00
Abdulaziz Ghuloum 2e7faf85c7 Fixes bug 178334: annotation structs being revealed 2007-12-23 16:23:20 -05:00
Abdulaziz Ghuloum 788b613bba Added call-with-output-file 2007-12-23 15:18:40 -05:00
Abdulaziz Ghuloum 79277bb394 Added with-output-to-string. 2007-12-23 15:12:22 -05:00
Abdulaziz Ghuloum 894a29f0d8 Added with-output-to-file. 2007-12-23 15:06:05 -05:00
Abdulaziz Ghuloum d2de3bcadb Added with-input-from-string. 2007-12-23 14:44:55 -05:00
Abdulaziz Ghuloum 5d33921c9e changed type of ikp from unsigned char* to char* 2007-12-23 13:37:48 -05:00
Abdulaziz Ghuloum 097ca03e47 Fixes bug 177638: keyword argument in syntax-rules should not be
used in substitutions
2007-12-20 06:36:00 -05:00
Abdulaziz Ghuloum b915854677 enhanced printing of annotated syntax objects. 2007-12-20 00:31:49 -05:00
Abdulaziz Ghuloum 2c31b5bf51 replaced some calls to assertion-violation with calls to
syntax-violation for better syntactic error reporting.
2007-12-19 23:42:27 -05:00
Abdulaziz Ghuloum 6eb6bf750d Added a (process "cmd" "args" ...) procedure that execs cmd, passing
args to it, and returns 4 values: 
* the process's pid
* the process's standard-input-port  (for writing)
* the process's standard-output-port (for reading)
* the process's standard-error-port  (for reading)
See lab/process-example.ss for a sample usage.
2007-12-19 22:46:07 -05:00
Abdulaziz Ghuloum 10077a6468 minor change to the value returned by input-port-byte-position
(it's up by 1 now).
2007-12-19 19:33:05 -05:00
Abdulaziz Ghuloum 917754e28e syntax-errors now give source information in their error message. 2007-12-19 19:05:23 -05:00
Abdulaziz Ghuloum a725292a4d moved match.ss and pregexp.ss to the lib directory and modified
lib/Makefile.am accordingly
2007-12-19 17:39:26 -05:00
Abdulaziz Ghuloum 22ff670e81 the reader is now capable of returning annotated expressions
containing full file-source information about each expression.
2007-12-19 00:40:25 -05:00
Abdulaziz Ghuloum 0aa846ba78 reduced size of parser, and added two helpers for reading and
recording position.
2007-12-18 23:07:57 -05:00
Abdulaziz Ghuloum 2c98be442a more simplifications to reader. 2007-12-18 22:28:27 -05:00
Abdulaziz Ghuloum 4393d2aab9 simplified reader by removing hash-semi handling. 2007-12-18 22:06:58 -05:00
Abdulaziz Ghuloum d86bfb288c Lexical errors now give filename and character position in their
error messages.
2007-12-18 19:52:15 -05:00
Abdulaziz Ghuloum 945e8473fc input-port-byte-position works for input files. 2007-12-18 17:25:48 -05:00
Abdulaziz Ghuloum 64e54de392 Added two extra fields to the port data structure. 2007-12-18 15:36:56 -05:00
Abdulaziz Ghuloum 16c52974da Fixes bug 176710: Strange error message for cadr. 2007-12-18 11:32:13 -05:00
Abdulaziz Ghuloum e65629cb9e Fixes bug 176682: some omissions in makefile.ss 2007-12-18 04:08:08 -05:00
Abdulaziz Ghuloum 1e6db4f994 fixes bug 176760: implementation-restriction-violation? spelt incorrectly 2007-12-18 04:01:42 -05:00
Abdulaziz Ghuloum df08137b7f fixes bug 176816: &i/o-file-already-exists is now included in the
condition.
2007-12-18 03:58:50 -05:00
Abdulaziz Ghuloum cee16e7463 Fixes bug 176816: Incorrect &who for open-output-file 2007-12-18 03:32:07 -05:00
Abdulaziz Ghuloum bbe388656c fixes bug 176756: define-condition-type does not work in repl 2007-12-17 11:37:10 -05:00
Abdulaziz Ghuloum 64c20409ce made read-char just as efficient as get-char by copy&paste. 2007-12-15 11:43:04 -05:00
Abdulaziz Ghuloum 372c3e369b Change of strategy in the garbage collector.
Previously: when a generation (say 2) is collected, 
  everything in gen 0 moves to gen 1
  everything in gen 1 moves to gen 2
  everything in gen 2 moves to gen 3

Now: when a generation (say 2 again) is collected
  everything in gen 0 moves to gen 3
  everything in gen 1 moves to gen 3
  everything in gen 2 moves to gen 3

So, some objects get a leap from young to old if they're lucky to be
in the right time.

Consequences: when an object is moved by the collector, we don't
need to track old->new pointers and masks because all moved objects
are clean now.  This both simplifies the collector and makes it more
efficient and might open the door for further optimization
opportunities.  For bootstrap time, we get about 5% overall 
saving and about 20% GC-time saving.  Not bad.

BEFORE:
running stats for macro expansion:
    45 collections
    2558 ms elapsed cpu time, including 212 ms collecting
    2576 ms elapsed real time, including 216 ms collecting
    186972152 bytes allocated
running stats for code generation and serialization:
    86 collections
    4365 ms elapsed cpu time, including 1444 ms collecting
    4374 ms elapsed real time, including 1449 ms collecting
    362819096 bytes allocated
running stats for the entire bootstrap process:
    131 collections
    6928 ms elapsed cpu time, including 1657 ms collecting
    6953 ms elapsed real time, including 1666 ms collecting
    549818232 bytes allocated

AFTER:
running stats for macro expansion:
    45 collections
    2506 ms elapsed cpu time, including 169 ms collecting
    2511 ms elapsed real time, including 171 ms collecting
    186968056 bytes allocated
running stats for code generation and serialization:
    86 collections
    4083 ms elapsed cpu time, including 1189 ms collecting
    4085 ms elapsed real time, including 1191 ms collecting
    362810904 bytes allocated
running stats for the entire bootstrap process:
    131 collections
    6591 ms elapsed cpu time, including 1359 ms collecting
    6599 ms elapsed real time, including 1362 ms collecting
    549805944 bytes allocated
Happy Happy Joy Joy
2007-12-15 10:43:29 -05:00