diff --git a/src/ikarus.boot b/src/ikarus.boot index b41eadc..a99a657 100644 Binary files a/src/ikarus.boot and b/src/ikarus.boot differ diff --git a/src/ikarus.compiler.ss b/src/ikarus.compiler.ss index 680d70e..4320745 100644 --- a/src/ikarus.compiler.ss +++ b/src/ikarus.compiler.ss @@ -5,7 +5,7 @@ (import (only (ikarus system $codes) $code->closure) (only (ikarus system $records) $record-ref $record/rtd?) - (except (ikarus) ;fasl-write + (except (ikarus) compile-core-expr-to-port assembler-output current-primitive-locations eval-core) (ikarus intel-assembler) @@ -3190,12 +3190,6 @@ [(base-rtd) (mem 44 pcr)] [else (error 'pcb-ref "invalid arg ~s" x)]))) -(define do-warn - (let ([ls '()]) - (lambda (x) - (unless (memq x ls) - (printf "[ERR ~s] " x) - (set! ls (cons x ls)))))) (define (primref-loc op) (unless (symbol? op) (error 'primref-loc "not a symbol ~s" op)) @@ -3207,9 +3201,7 @@ "~s is not a valid location for ~s" x op)) (mem (fx- disp-symbol-value symbol-tag) (obj x)))] [else - (do-warn op) - (mem (fx- disp-symbol-system-value symbol-tag) - (obj op))])) + (error 'compile "cannot find location of primitive ~s" op)])) (define (generate-code x) diff --git a/src/makefile.ss b/src/makefile.ss index 6f66237..f6f1896 100755 --- a/src/makefile.ss +++ b/src/makefile.ss @@ -114,7 +114,6 @@ [$arg-list (ikarus system $arg-list)] [$stack (ikarus system $stack)] [$junkyard (ikarus system $junkyard)] - ;[$lists (ikarus system $lists)] )) (define ikarus-macros-map @@ -718,7 +717,8 @@ (lambda (x) (cond [(assq x locs) => cdr] - [else #f]))]) + [else + (error 'bootstrap "no location for ~s" x)]))]) (let ([p (open-output-file "ikarus.boot" 'replace)]) (for-each (lambda (x) (compile-core-expr-to-port x p))