summaryrefslogtreecommitdiffstats
path: root/autoload.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2023-05-24 07:57:21 -0700
committerKaz Kylheku <kaz@kylheku.com>2023-05-24 07:57:21 -0700
commit35e439fd6d665ff46442463248022a16b259e1a2 (patch)
tree77c19eb95564759a6c74e316bfbef3bd1c12d0e1 /autoload.c
parentbbb79a948de4688b44ba18ae37a1a6abb30e84d7 (diff)
downloadtxr-35e439fd6d665ff46442463248022a16b259e1a2.tar.gz
txr-35e439fd6d665ff46442463248022a16b259e1a2.tar.bz2
txr-35e439fd6d665ff46442463248022a16b259e1a2.zip
compiler: fbind/lbind: elide unnecessary frames.
* stdlib/compiler.tl (comp-fbind): When after removing unused functions we are left with an empty list (or the list of functions was empty to begin with), let's only emit the body fragment without any frame wrapping. We can't just return bfrag because that was compiled in the environment which matches the frame. Instead of the expense of compiling the code again, we rely on eliminate-frame to move all v registers up one level.
Diffstat (limited to 'autoload.c')
0 files changed, 0 insertions, 0 deletions