diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-02-05 01:17:58 -0800 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-02-05 14:55:18 -0800 |
commit | b9d666eff51659a62dab7b746e5ae40431127e9b (patch) | |
tree | e786f301fc99f4df6afbfa3db53f48fc1af9ad96 /apps/pack.subx | |
parent | 6b6b6851cc89994c8546e9b7eff3be4b43641686 (diff) | |
download | mu-b9d666eff51659a62dab7b746e5ae40431127e9b.tar.gz |
5982 - start putting block labels on the var stack
Before: we detected labels using a '$' at the start of an arg, and turned them into literals. After: we put labels on the var stack and let the regular lookup of the var stack handle labels. This adds complexity in one place and removes it from another. The crucial benefit is that it allows us to store a block depth for each label. That will come in handy later. All this works only because of a salubrious coincidence: Mu labels are always at the start of a block, and jumps always refer to the name at the start of a block, even when the jump is in the forwards direction. So we never see label uses before definitions. Note on CI: this currently only works natively, not emulated.
Diffstat (limited to 'apps/pack.subx')
0 files changed, 0 insertions, 0 deletions