summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2019-04-05 07:14:01 -0700
committerKaz Kylheku <kaz@kylheku.com>2019-04-05 07:14:01 -0700
commit06ce08dc2c0d2db522c5f6293cf9a28c2c22d24a (patch)
tree665d03c406d1990e98787c78d894d25832b1e1bc /share
parent7f639b761bfd44c6a07b8417007e1cb8a3a2856c (diff)
downloadtxr-06ce08dc2c0d2db522c5f6293cf9a28c2c22d24a.tar.gz
txr-06ce08dc2c0d2db522c5f6293cf9a28c2c22d24a.tar.bz2
txr-06ce08dc2c0d2db522c5f6293cf9a28c2c22d24a.zip
tagbody: code replication bug.
tagbody translates to a loop around a sys:switch special form. The compiler recognizes substructure sharing among the branches of the the sys:switch code and de-duplicates the generated assembly code accordingly. Unfortunately, the expander for sys:switch has a bug which spoils the substructure sharing. * eval.c (expand_forms_ss): We must process the incoming form list itself into the hash, not just that list's cdr. Onthe other hand, there is no need to hash the cars of the forms list (the forms themselves), so the code simplifies quite a bit.
Diffstat (limited to 'share')
0 files changed, 0 insertions, 0 deletions