diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2021-10-23 07:22:22 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2021-10-23 07:22:22 -0700 |
commit | 153cb9fc22c4a7742948b4e066204fed6ef91bf7 (patch) | |
tree | cda6cc9f9ef0345fd1d56f2d1f35cce3b763d775 /stdlib/doc-syms.tl | |
parent | 06241ce339c528160f6e8a349dc30cc78c914778 (diff) | |
download | txr-153cb9fc22c4a7742948b4e066204fed6ef91bf7.tar.gz txr-153cb9fc22c4a7742948b4e066204fed6ef91bf7.tar.bz2 txr-153cb9fc22c4a7742948b4e066204fed6ef91bf7.zip |
compiler: also clear .next before re-linking graph.
* stdlib/optimize.tl (basic-blocks elim-dead-code): When
clearing the links before recalculating the graph, also clear
the next field of every block, because link-graph only sets
this if necessary, assuming that the value is already nil.
Thus by not resetting it, we risk leaving stale values in
these .next fields. The code reachability calculation relies
on next fields, so if they falsely point to dead blocks, those
blocks could be falsely retained.
Diffstat (limited to 'stdlib/doc-syms.tl')
0 files changed, 0 insertions, 0 deletions