mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 03:30:27 +02:00
Fix DCE over primcall setters with params
* module/language/cps/dce.scm (compute-live-code): The primcall-param refactor made it so that a vector-set! to a dead vector would needlessly mark the vector as live. This commit fixes it and adds scm-set!, etc.
This commit is contained in:
parent
eed4e09723
commit
52e28fd19e
1 changed files with 3 additions and 1 deletions
|
@ -206,7 +206,9 @@ sites."
|
||||||
(($ $primcall
|
(($ $primcall
|
||||||
(or 'vector-set! 'vector-set!/immediate
|
(or 'vector-set! 'vector-set!/immediate
|
||||||
'set-car! 'set-cdr!
|
'set-car! 'set-cdr!
|
||||||
'box-set!) #f
|
'box-set!
|
||||||
|
'scm-set! 'scm-set!/tag 'scm-set!/immediate
|
||||||
|
'word-set! 'word-set!/immediate) _
|
||||||
(obj . _))
|
(obj . _))
|
||||||
(or (var-live? obj live-vars)
|
(or (var-live? obj live-vars)
|
||||||
(not (intset-ref known-allocations obj))))
|
(not (intset-ref known-allocations obj))))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue