From d56ce7e7712d3ed342af934e28a731f95e8a998b Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Fri, 10 Apr 2020 15:49:08 -0700 Subject: 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. --- apps/hex | Bin 46292 -> 46292 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'apps/hex') diff --git a/apps/hex b/apps/hex index e978d40d..f38e0ebb 100755 Binary files a/apps/hex and b/apps/hex differ -- cgit 1.4.1-2-gfad0