about summary refs log tree commit diff stats
path: root/apps/ex6
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2020-04-10 15:49:08 -0700
committerKartik Agaram <vc@akkartik.com>2020-05-18 00:44:46 -0700
commitd56ce7e7712d3ed342af934e28a731f95e8a998b (patch)
tree637925ee377ef9fc0d2206297b49341bba07694f /apps/ex6
parent99c3cfddffb3175e5938eb5ef661d0d71eedff97 (diff)
downloadmu-d56ce7e7712d3ed342af934e28a731f95e8a998b.tar.gz
support 'fake' handles allocated statically
Mystery solved of why the syntax sugar phases don't work even though they
don't use any functions whose signatures changed in the migration to handles.

The answer: they use the Registers table, and it currently doesn't use
handles.

Rather than create a whole new set of functions that operate on addresses,
I'm going to create fake handles that are never intended to be reclaimed.
Which raises the question of the best way to do that. I'd like to continue
using string syntax, so I'm going to use a prefix in the payload that can
also be rendered as a string. But all the printable characters start with
0x20, and we don't currently have escape sequences for null or any other
non-printable characters.

I _could_ use newlines, but that seems overly clever. So instead I'll once
again not worry about some hypothetical problem with running out of alloc-ids,
and just carve out half of the id space that can't be used for real alloc
ids. Ascii doesn't use the most significant bit of bytes, so it seems like
a natural separation.
Diffstat (limited to 'apps/ex6')
0 files changed, 0 insertions, 0 deletions