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/pack | Bin 56437 -> 56437 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'apps/pack') diff --git a/apps/pack b/apps/pack index 78e274e9..66313b30 100755 Binary files a/apps/pack and b/apps/pack differ -- cgit 1.4.1-2-gfad0