diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-04-10 15:49:08 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-05-18 00:44:46 -0700 |
commit | d56ce7e7712d3ed342af934e28a731f95e8a998b (patch) | |
tree | 637925ee377ef9fc0d2206297b49341bba07694f /apps/random | |
parent | 99c3cfddffb3175e5938eb5ef661d0d71eedff97 (diff) | |
download | mu-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/random')
0 files changed, 0 insertions, 0 deletions