about summary refs log tree commit diff stats
path: root/translate_subx_emulated
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2020-02-02 00:19:19 -0800
committerKartik Agaram <vc@akkartik.com>2020-02-02 00:19:19 -0800
commit84fd02c9070a44641a8c702244ef1cd5d93efc10 (patch)
treef37d93f4ccb01dafbabba47569707fbabda826a4 /translate_subx_emulated
parentbf3de55c3e5f9e0619932c7e6f115cdf4050f825 (diff)
downloadmu-84fd02c9070a44641a8c702244ef1cd5d93efc10.tar.gz
5974 - support for simple early exits
So far we only handle unlabeled break instructions correctly. That part
is elegance itself. But the rest will need more work:

a) For labeled breaks we need to insert code to unwind all intervening
blocks.
b) For unlabeled loops we need to insert code to unwind the current block
and then loop.
c) For labeled loops we need to insert code to unwind all intervening blocks
and then loop.

Is this even worth doing? I think so. It's pretty common for a conditional
block inside a loop to 'continue'. That requires looping to somewhere non-local.
Diffstat (limited to 'translate_subx_emulated')
0 files changed, 0 insertions, 0 deletions