* frame moves are not working as nicely as they should.

This commit is contained in:
Abdulaziz Ghuloum 2007-02-19 18:21:35 -05:00
parent b6dd620b94
commit 30f71b0381
7 changed files with 518 additions and 238 deletions

View File

@ -1,12 +1,16 @@
;INSERTCODE
;------------------------------------------------------------------------------
(current-eval alt-compile)
(define (run-bench name count ok? run)
(let loop ((i 0) (result (list 'undefined)))
(if (< i count)
(loop (+ i 1) (run))
result)))
;(define-syntax if-fixflo (syntax-rules () ((if-fixflo yes no) no)))
(define (run-benchmark name count ok? run-maker . args)
(newline)
(let* ((run (apply run-maker args))

View File

@ -1130,3 +1130,43 @@ Words allocated: 0
Words reclaimed: 0
Elapsed time...: 558 ms (User: 557 ms; System: 1 ms)
Elapsed GC time: 0 ms (CPU: 0 in 0 collections.)
****************************
Benchmarking Larceny-r6rs on Mon Feb 19 10:45:49 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 fib 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: 0
Words reclaimed: 0
Elapsed time...: 1802 ms (User: 1800 ms; System: 1 ms)
Elapsed GC time: 0 ms (CPU: 0 in 0 collections.)
****************************
Benchmarking Larceny-r6rs on Mon Feb 19 11:12: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 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...: 4280 ms (User: 3750 ms; System: 529 ms)
Elapsed GC time: 2443 ms (CPU: 2444 in 768 collections.)

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -221,7 +221,10 @@
(define-record constant (value))
(define-record code-loc (label))
(define-record foreign-label (label))
(define-record var (name assigned referenced reg-conf frm-conf var-conf loc))
(define-record var
(name assigned referenced
reg-conf frm-conf var-conf reg-move frm-move var-move
loc))
(define-record cp-var (idx))
(define-record frame-var (idx))
(define-record new-frame (base-idx size body))
@ -276,7 +279,7 @@
[else (error 'mkfvar "~s is not a fixnum" i)]))))
(define (unique-var x)
(make-var (gensym x) #f #f #f #f #f #f))
(make-var (gensym x) #f #f #f #f #f #f #f #f #f))
(define (recordize x)
(define *cookie* (gensym))
@ -5220,7 +5223,6 @@
(parameterize ([expand-mode 'eval])
(alt-compile-expr x)))])
(let ([proc ($code->closure code)])
(printf "running ...\n")
(proc)))))

View File

@ -3899,8 +3899,6 @@
x
(error 'interaction-environment "~s is not an environment" x)))))
(printf "ENV=~s\n" (interaction-environment))
(primitive-set! 'identifier?
(lambda (x)
(nonsymbol-id? x)))