* looks not bad.

This commit is contained in:
Abdulaziz Ghuloum 2007-02-19 23:33:29 -05:00
parent 30f71b0381
commit 0bd88991cb
5 changed files with 293 additions and 5 deletions

View File

@ -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.)

View File

@ -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)

Binary file not shown.

View File

@ -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)

View File

@ -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)])]