- 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:
parent
1a738c2a8d
commit
370454e4fc
|
@ -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
|
||||
|
|
|
@ -1 +1 @@
|
|||
1772
|
||||
1773
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue