diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2018-04-01 10:47:14 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2018-04-01 10:47:14 -0700 |
commit | 4567fe9b8c9937414ee7f3367279f2e204159438 (patch) | |
tree | 9b0dbf0dce71c05ef916a41822a41ff524cc944e /vm.c | |
parent | a90b5a19094bd2fc0178897afa3c385227a96ad1 (diff) | |
download | txr-4567fe9b8c9937414ee7f3367279f2e204159438.tar.gz txr-4567fe9b8c9937414ee7f3367279f2e204159438.tar.bz2 txr-4567fe9b8c9937414ee7f3367279f2e204159438.zip |
compiler: bugfix: incorrect jmp in catch.
* share/txr/stdlib/compiler.tl (comp-catch): The emitted code
doesn't handle the normal non-exception path. It assumes that
only the frame established with the earlier frame instruction
needs to be terminated; but in fact the catch intruction's
frame has to be ended also. Thus we don't need the frame-end
label; all exit cases jump too the handler-end label in front
of the two end instructions.
Diffstat (limited to 'vm.c')
0 files changed, 0 insertions, 0 deletions