* The compiler now recognizes the (current-primitive-locations)

and generates appropriate code for symbols in the alist.
This commit is contained in:
Abdulaziz Ghuloum 2007-05-04 03:48:49 -04:00
parent 890c322adb
commit 54c48777d7
3 changed files with 8 additions and 3 deletions

5
BUGS
View File

@ -1,5 +1,9 @@
* FIX: Error in generate-code: BUG: unhandles single rv. * FIX: Error in generate-code: BUG: unhandles single rv.
* In libcompile.ss:
If you move the (initialize-system) call to the very bottom of the
library, the system crashes on startup.
* Investigate what happens when an interrupt occurs during a write. * Investigate what happens when an interrupt occurs during a write.
> (define (f) (write (gensym)) (newline) (f)) > (define (f) (write (gensym)) (newline) (f))
@ -12,3 +16,4 @@
> >
Two displays occurred at the end. Two displays occurred at the end.

Binary file not shown.

View File

@ -3220,9 +3220,9 @@
(define (primref-loc op) (define (primref-loc op)
(unless (symbol? op) (error 'primref-loc "not a symbol ~s" op)) (unless (symbol? op) (error 'primref-loc "not a symbol ~s" op))
(cond (cond
;[(assq op (current-primitive-locations)) => [(assq op (current-primitive-locations)) =>
; (lambda (x) (lambda (x)
; (mem (fx- disp-symbol-value symbol-tag) (obj (cdr x))))] (mem (fx- disp-symbol-value symbol-tag) (obj (cdr x))))]
[else [else
(mem (fx- disp-symbol-system-value symbol-tag) (mem (fx- disp-symbol-system-value symbol-tag)
(obj op))])) (obj op))]))