- fixed a small bug in the compile. [use of struct-ref with an

index out of range, generated by improper use of struct-match]
This commit is contained in:
Abdulaziz Ghuloum 2009-05-14 08:59:41 +03:00
parent 1a738c2a8d
commit 370454e4fc
3 changed files with 5 additions and 5 deletions

View File

@ -282,7 +282,7 @@
[(conditional e0 e1 e2) (or (NonTail e0) (NonTail e1) (NonTail e2))]
[(seq e0 e1) (or (NonTail e0) (NonTail e1))]
[(forcall op arg*) (ormap NonTail arg*)]
[(known x t v) (NonTail x)]
[(known x t) (NonTail x)]
[else (error who "invalid expr" x)]))
(define (Tail x)
(struct-case x

View File

@ -1 +1 @@
1772
1773

View File

@ -418,7 +418,7 @@
[(funcall) (prm '!= (V x) (V (K #f)))]
[(jmpcall) (prm '!= (V x) (V (K #f)))]
[(forcall) (prm '!= (V x) (V (K #f)))]
[(known expr type val)
[(known expr type)
;;; FIXME: suboptimal
(P expr)]
[else (error 'cogen-P "invalid pred expr" x)]))
@ -446,7 +446,7 @@
(make-funcall (Function rator) (map V arg*))]
[(jmpcall label rator arg*)
(make-jmpcall label (V rator) (map V arg*))]
[(known expr type val)
[(known expr type)
;;; FIXME: suboptimal
(E expr)]
[else (error 'cogen-E "invalid effect expr" x)]))
@ -485,7 +485,7 @@
(K (- disp-symbol-record-proc symbol-ptag))))]
[else (nonproc x check?)])]
[(primref op) (V x)]
[(known x t v)
[(known x t)
(cond
[(eq? (T:procedure? t) 'yes)
;(record-optimization 'procedure x)