diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2018-04-01 23:03:31 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2018-04-01 23:03:31 -0700 |
commit | 6f30c1dc672c453b82794b621049ea6a3ae4c656 (patch) | |
tree | b96545bccaa418d288d9ae63efdc28f1e69cdc29 /arith.c | |
parent | 4ebbd243bbc1433400eff02ea9c18dc7c4eb76ce (diff) | |
download | txr-6f30c1dc672c453b82794b621049ea6a3ae4c656.tar.gz txr-6f30c1dc672c453b82794b621049ea6a3ae4c656.tar.bz2 txr-6f30c1dc672c453b82794b621049ea6a3ae4c656.zip |
compiler: bugfix: wrong lambda frame size.
* share/txr/stdlib/compiler.tl (compiler comp-lambda): We must
not deduce the frame size from the nenv v-counter, because in
the case when no frame is needed (the function has no
arguments), nenv is just env. Our need-frame variable
indicates whether or not a frame is needed; if not, we must
use size zero. This is crucial because the VM otherwise ends
up throwing an exception due to the frame level mismatch.
Diffstat (limited to 'arith.c')
0 files changed, 0 insertions, 0 deletions