* looks not bad.
This commit is contained in:
parent
30f71b0381
commit
0bd88991cb
|
@ -1170,3 +1170,235 @@ Words allocated: 201324942
|
|||
Words reclaimed: 0
|
||||
Elapsed time...: 4280 ms (User: 3750 ms; System: 529 ms)
|
||||
Elapsed GC time: 2443 ms (CPU: 2444 in 768 collections.)
|
||||
|
||||
****************************
|
||||
Benchmarking Larceny-r6rs on Mon Feb 19 18:30:18 EST 2007 under Darwin Vesuvius.local 8.8.3 Darwin Kernel Version 8.8.3: Wed Oct 18 21:57:10 PDT 2006; root:xnu-792.15.4.obj~4/RELEASE_I386 i386 i386
|
||||
|
||||
Testing peval under Larceny-r6rs
|
||||
Compiling...
|
||||
Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:27:45, precise:BSD Unix:unified)
|
||||
|
||||
|
||||
>
|
||||
>
|
||||
Running...
|
||||
Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:27:45, precise:BSD Unix:unified)
|
||||
|
||||
|
||||
>
|
||||
Words allocated: 34340444
|
||||
Words reclaimed: 0
|
||||
Elapsed time...: 1255 ms (User: 1248 ms; System: 7 ms)
|
||||
Elapsed GC time: 55 ms (CPU: 60 in 131 collections.)
|
||||
|
||||
****************************
|
||||
Benchmarking Larceny-r6rs on Mon Feb 19 18:43:05 EST 2007 under Darwin Vesuvius.local 8.8.3 Darwin Kernel Version 8.8.3: Wed Oct 18 21:57:10 PDT 2006; root:xnu-792.15.4.obj~4/RELEASE_I386 i386 i386
|
||||
|
||||
Testing peval under Larceny-r6rs
|
||||
Compiling...
|
||||
Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:27:45, precise:BSD Unix:unified)
|
||||
|
||||
|
||||
>
|
||||
>
|
||||
Running...
|
||||
Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:27:45, precise:BSD Unix:unified)
|
||||
|
||||
|
||||
>
|
||||
Words allocated: 34340444
|
||||
Words reclaimed: 0
|
||||
Elapsed time...: 1256 ms (User: 1249 ms; System: 7 ms)
|
||||
Elapsed GC time: 60 ms (CPU: 65 in 131 collections.)
|
||||
|
||||
****************************
|
||||
Benchmarking Larceny-r6rs on Mon Feb 19 18:44:20 EST 2007 under Darwin Vesuvius.local 8.8.3 Darwin Kernel Version 8.8.3: Wed Oct 18 21:57:10 PDT 2006; root:xnu-792.15.4.obj~4/RELEASE_I386 i386 i386
|
||||
|
||||
Testing paraffins under Larceny-r6rs
|
||||
Compiling...
|
||||
Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:27:45, precise:BSD Unix:unified)
|
||||
|
||||
|
||||
>
|
||||
>
|
||||
Running...
|
||||
Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:27:45, precise:BSD Unix:unified)
|
||||
|
||||
|
||||
>
|
||||
Words allocated: 201324942
|
||||
Words reclaimed: 0
|
||||
Elapsed time...: 4278 ms (User: 3750 ms; System: 528 ms)
|
||||
Elapsed GC time: 2445 ms (CPU: 2437 in 768 collections.)
|
||||
|
||||
****************************
|
||||
Benchmarking Larceny-r6rs on Mon Feb 19 18:46:28 EST 2007 under Darwin Vesuvius.local 8.8.3 Darwin Kernel Version 8.8.3: Wed Oct 18 21:57:10 PDT 2006; root:xnu-792.15.4.obj~4/RELEASE_I386 i386 i386
|
||||
|
||||
Testing compiler under Larceny-r6rs
|
||||
Compiling...
|
||||
Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:27:45, precise:BSD Unix:unified)
|
||||
|
||||
|
||||
> WARNING from macro expander:
|
||||
Redefining
|
||||
bound?
|
||||
|
||||
****************************
|
||||
Benchmarking Larceny-r6rs on Mon Feb 19 18:47:54 EST 2007 under Darwin Vesuvius.local 8.8.3 Darwin Kernel Version 8.8.3: Wed Oct 18 21:57:10 PDT 2006; root:xnu-792.15.4.obj~4/RELEASE_I386 i386 i386
|
||||
|
||||
Testing slatex under Larceny-r6rs
|
||||
Compiling...
|
||||
Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:27:45, precise:BSD Unix:unified)
|
||||
|
||||
|
||||
>
|
||||
>
|
||||
Running...
|
||||
Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:27:45, precise:BSD Unix:unified)
|
||||
|
||||
|
||||
>
|
||||
Words allocated: 4194150
|
||||
Words reclaimed: 0
|
||||
Elapsed time...: 1843 ms (User: 532 ms; System: 777 ms)
|
||||
Elapsed GC time: 15 ms (CPU: 8 in 16 collections.)
|
||||
|
||||
****************************
|
||||
Benchmarking Larceny-r6rs on Mon Feb 19 18:49:52 EST 2007 under Darwin Vesuvius.local 8.8.3 Darwin Kernel Version 8.8.3: Wed Oct 18 21:57:10 PDT 2006; root:xnu-792.15.4.obj~4/RELEASE_I386 i386 i386
|
||||
|
||||
Testing scheme under Larceny-r6rs
|
||||
Compiling...
|
||||
Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:27:45, precise:BSD Unix:unified)
|
||||
|
||||
|
||||
>
|
||||
>
|
||||
Running...
|
||||
Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:27:45, precise:BSD Unix:unified)
|
||||
|
||||
|
||||
>
|
||||
Words allocated: 29621860
|
||||
Words reclaimed: 0
|
||||
Elapsed time...: 1193 ms (User: 1190 ms; System: 3 ms)
|
||||
Elapsed GC time: 46 ms (CPU: 45 in 113 collections.)
|
||||
|
||||
****************************
|
||||
Benchmarking Larceny-r6rs on Mon Feb 19 18:50:38 EST 2007 under Darwin Vesuvius.local 8.8.3 Darwin Kernel Version 8.8.3: Wed Oct 18 21:57:10 PDT 2006; root:xnu-792.15.4.obj~4/RELEASE_I386 i386 i386
|
||||
|
||||
Testing earley under Larceny-r6rs
|
||||
Compiling...
|
||||
Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:27:45, precise:BSD Unix:unified)
|
||||
|
||||
|
||||
>
|
||||
>
|
||||
Running...
|
||||
Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:27:45, precise:BSD Unix:unified)
|
||||
|
||||
|
||||
>
|
||||
Words allocated: 123206268
|
||||
Words reclaimed: 0
|
||||
Elapsed time...: 2023 ms (User: 1932 ms; System: 91 ms)
|
||||
Elapsed GC time: 580 ms (CPU: 582 in 470 collections.)
|
||||
|
||||
****************************
|
||||
Benchmarking Larceny-r6rs on Mon Feb 19 22:59:25 EST 2007 under Darwin adsl-68-251-150-42.dsl.bltnin.ameritech.net 8.8.3 Darwin Kernel Version 8.8.3: Wed Oct 18 21:57:10 PDT 2006; root:xnu-792.15.4.obj~4/RELEASE_I386 i386 i386
|
||||
|
||||
Testing dderiv under Larceny-r6rs
|
||||
Compiling...
|
||||
Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:27:45, precise:BSD Unix:unified)
|
||||
|
||||
|
||||
>
|
||||
>
|
||||
Running...
|
||||
Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:27:45, precise:BSD Unix:unified)
|
||||
|
||||
|
||||
>
|
||||
Words allocated: 244055776
|
||||
Words reclaimed: 0
|
||||
Elapsed time...: 1905 ms (User: 1893 ms; System: 11 ms)
|
||||
Elapsed GC time: 333 ms (CPU: 332 in 931 collections.)
|
||||
|
||||
****************************
|
||||
Benchmarking Larceny-r6rs on Mon Feb 19 23:00:51 EST 2007 under Darwin adsl-68-251-150-42.dsl.bltnin.ameritech.net 8.8.3 Darwin Kernel Version 8.8.3: Wed Oct 18 21:57:10 PDT 2006; root:xnu-792.15.4.obj~4/RELEASE_I386 i386 i386
|
||||
|
||||
Testing puzzle under Larceny-r6rs
|
||||
Compiling...
|
||||
Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:27:45, precise:BSD Unix:unified)
|
||||
|
||||
|
||||
>
|
||||
>
|
||||
Running...
|
||||
Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:27:45, precise:BSD Unix:unified)
|
||||
|
||||
|
||||
>
|
||||
Words allocated: 8126378
|
||||
Words reclaimed: 0
|
||||
Elapsed time...: 1953 ms (User: 1807 ms; System: 144 ms)
|
||||
Elapsed GC time: 17 ms (CPU: 10 in 31 collections.)
|
||||
|
||||
****************************
|
||||
Benchmarking Larceny-r6rs on Mon Feb 19 23:02:15 EST 2007 under Darwin adsl-68-251-150-42.dsl.bltnin.ameritech.net 8.8.3 Darwin Kernel Version 8.8.3: Wed Oct 18 21:57:10 PDT 2006; root:xnu-792.15.4.obj~4/RELEASE_I386 i386 i386
|
||||
|
||||
Testing parsing under Larceny-r6rs
|
||||
Compiling...
|
||||
Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:27:45, precise:BSD Unix:unified)
|
||||
|
||||
|
||||
>
|
||||
>
|
||||
Running...
|
||||
Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:27:45, precise:BSD Unix:unified)
|
||||
|
||||
|
||||
>
|
||||
Words allocated: 100923902
|
||||
Words reclaimed: 0
|
||||
Elapsed time...: 6587 ms (User: 6512 ms; System: 74 ms)
|
||||
Elapsed GC time: 295 ms (CPU: 295 in 385 collections.)
|
||||
|
||||
****************************
|
||||
Benchmarking Larceny-r6rs on Mon Feb 19 23:30:51 EST 2007 under Darwin adsl-68-251-150-42.dsl.bltnin.ameritech.net 8.8.3 Darwin Kernel Version 8.8.3: Wed Oct 18 21:57:10 PDT 2006; root:xnu-792.15.4.obj~4/RELEASE_I386 i386 i386
|
||||
|
||||
Testing parsing under Larceny-r6rs
|
||||
Compiling...
|
||||
Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:27:45, precise:BSD Unix:unified)
|
||||
|
||||
|
||||
>
|
||||
>
|
||||
Running...
|
||||
Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:27:45, precise:BSD Unix:unified)
|
||||
|
||||
|
||||
>
|
||||
Words allocated: 100923902
|
||||
Words reclaimed: 0
|
||||
Elapsed time...: 6584 ms (User: 6509 ms; System: 72 ms)
|
||||
Elapsed GC time: 296 ms (CPU: 287 in 385 collections.)
|
||||
|
||||
****************************
|
||||
Benchmarking Larceny-r6rs on Mon Feb 19 23:32:41 EST 2007 under Darwin adsl-68-251-150-42.dsl.bltnin.ameritech.net 8.8.3 Darwin Kernel Version 8.8.3: Wed Oct 18 21:57:10 PDT 2006; root:xnu-792.15.4.obj~4/RELEASE_I386 i386 i386
|
||||
|
||||
Testing parsing under Larceny-r6rs
|
||||
Compiling...
|
||||
Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:27:45, precise:BSD Unix:unified)
|
||||
|
||||
|
||||
>
|
||||
>
|
||||
Running...
|
||||
Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:27:45, precise:BSD Unix:unified)
|
||||
|
||||
|
||||
>
|
||||
Words allocated: 100923902
|
||||
Words reclaimed: 0
|
||||
Elapsed time...: 6590 ms (User: 6512 ms; System: 75 ms)
|
||||
Elapsed GC time: 284 ms (CPU: 288 in 385 collections.)
|
||||
|
|
|
@ -560,6 +560,8 @@
|
|||
(define parsing-iters 1000)
|
||||
(define gcold-iters 10000)
|
||||
;(define nbody-iters 1) ; nondeterministic (order of evaluation)
|
||||
|
||||
|
||||
;(define integer->char ascii->char)
|
||||
;(define char->integer char->ascii)
|
||||
|
||||
|
|
BIN
src/ikarus.boot
BIN
src/ikarus.boot
Binary file not shown.
|
@ -198,6 +198,7 @@
|
|||
[top-level-value v]
|
||||
[$symbol-value v]
|
||||
|
||||
[$memq pv]
|
||||
|
||||
[$record vt]
|
||||
[$record/rtd? p]
|
||||
|
@ -494,6 +495,26 @@
|
|||
(case (length rands)
|
||||
[(1) (P (car rands))]
|
||||
[else (make-seq (E x) (make-constant #t))])]
|
||||
[($memq)
|
||||
(record-case (cadr rands)
|
||||
[(constant ls)
|
||||
(unless (list? ls) (error who "invalid call to $memq"))
|
||||
(cond
|
||||
[(null? ls)
|
||||
(make-seq (E (car rands)) (make-constant #f))]
|
||||
[else
|
||||
(let ([t (unique-var 'tmp)])
|
||||
(make-bind (list t) (list (V (car rands)))
|
||||
(let f ([ls ls])
|
||||
(cond
|
||||
[(null? (cdr ls))
|
||||
(make-primcall 'eq? (list t (make-constant (car ls))))]
|
||||
[else
|
||||
(make-conditional
|
||||
(make-primcall 'eq? (list t (make-constant (car ls))))
|
||||
(make-constant #t)
|
||||
(f (cdr ls)))]))))])]
|
||||
[else (Predicafy x)])]
|
||||
[(not)
|
||||
(make-conditional
|
||||
(P (car rands))
|
||||
|
@ -567,6 +588,26 @@
|
|||
[(e) (make-seq (E x) (make-constant (void)))]
|
||||
[(pv)
|
||||
(case op
|
||||
[($memq)
|
||||
(record-case (cadr rands)
|
||||
[(constant ls)
|
||||
(unless (list? ls) (error who "invalid call to $memq"))
|
||||
(cond
|
||||
[(null? ls)
|
||||
(make-seq (E (car rands)) (make-constant #f))]
|
||||
[else
|
||||
(let ([t (unique-var 'tmp)])
|
||||
(make-bind (list t) (list (V (car rands)))
|
||||
(let f ([ls ls])
|
||||
(cond
|
||||
[(null? ls)
|
||||
(make-constant #f)]
|
||||
[else
|
||||
(make-conditional
|
||||
(make-primcall 'eq? (list t (make-constant (car ls))))
|
||||
(make-constant ls)
|
||||
(f (cdr ls)))]))))])]
|
||||
[else (make-funcall (make-primref '$memq) (map V rands))])]
|
||||
[(list*)
|
||||
(case (length rands)
|
||||
[(0) (make-funcall (make-primref 'list*) '())]
|
||||
|
@ -1767,11 +1808,9 @@
|
|||
(cond
|
||||
[(null? nf*) ac]
|
||||
[else
|
||||
(let ([t (unique-var 't)])
|
||||
(do-bind (list t) (list (car v*))
|
||||
(make-seq
|
||||
(make-set (car nf*) t)
|
||||
(do-bind-frmt* (cdr nf*) (cdr v*) ac))))]))
|
||||
(make-seq
|
||||
(V (car nf*) (car v*))
|
||||
(do-bind-frmt* (cdr nf*) (cdr v*) ac))]))
|
||||
;;;
|
||||
(define (handle-nontail-call rator rands value-dest call-targ)
|
||||
(let-values ([(reg-locs reg-args frm-args)
|
||||
|
@ -2466,6 +2505,11 @@
|
|||
[(nfv? d)
|
||||
(cond
|
||||
[(not (mem-nfv? d ns)) (error who "dead nfv")]
|
||||
[(or (disp? s) (constant? s) (reg? s))
|
||||
(let ([ns (rem-nfv d ns)])
|
||||
(mark-nfv/vars-conf! d vs)
|
||||
(mark-nfv/frms-conf! d fs)
|
||||
(R s vs rs fs ns))]
|
||||
[(var? s)
|
||||
(let ([ns (rem-nfv d ns)]
|
||||
[vs (rem-var s vs)])
|
||||
|
@ -2496,6 +2540,14 @@
|
|||
(let ([rs (rem-reg d rs)])
|
||||
(mark-reg/vars-conf! d vs)
|
||||
(R s vs (set-add d rs) fs ns))])]
|
||||
[(nfv? d)
|
||||
(cond
|
||||
[(not (mem-nfv? d ns)) (error who "dead nfv")]
|
||||
[else
|
||||
(let ([ns (rem-nfv d ns)])
|
||||
(mark-nfv/vars-conf! d vs)
|
||||
(mark-nfv/frms-conf! d fs)
|
||||
(R s vs rs fs (add-nfv d ns)))])]
|
||||
[else (error who "invalid op d ~s" (unparse x))])]
|
||||
[(idiv)
|
||||
(mark-reg/vars-conf! eax vs)
|
||||
|
|
|
@ -540,6 +540,8 @@
|
|||
(CODE #x29 (ModRM 3 src dst ac))]
|
||||
[(and (mem? src) (reg? dst))
|
||||
(CODErd #x2B dst src ac)]
|
||||
[(and (imm? src) (mem? dst))
|
||||
((CODE/digit #x81 '/5) dst (IMM32 src ac))]
|
||||
[(and (reg? src) (mem? dst))
|
||||
((CODE/digit #x29 src) dst ac)]
|
||||
[else (error who "invalid ~s" instr)])]
|
||||
|
|
Loading…
Reference in New Issue