summaryrefslogtreecommitdiffstats
path: root/signal.h
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 /signal.h
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 'signal.h')
0 files changed, 0 insertions, 0 deletions