1
Fork 0
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:
Andy Wingo 2017-12-06 13:44:17 +01:00
parent eed4e09723
commit 52e28fd19e

View file

@ -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))))