checkpoint on revised eval system; first pass on interpretation; eliminating all callbacks / eval involvement in contexts/spaces/identifier-resolution/etc.

This commit is contained in:
Ryan Fleury
2026-06-12 13:50:28 -07:00
parent ac0c7d9441
commit 2b20760386
12 changed files with 1173 additions and 54 deletions
+2 -2
View File
@@ -1202,7 +1202,7 @@ RDI_EvalOpTable:
{Skip 3 2 0 0}
{MemRead 4 1 1 1}
{RegRead 5 4 0 1}
{RegReadDyn 6 0 1 1}
// NOTE(rjf): 6 is free
{FrameOff 7 8 0 1}
{ModuleOff 8 4 0 1}
{TLSOff 9 4 0 1}
@@ -1241,7 +1241,7 @@ RDI_EvalOpTable:
{Convert 42 2 1 1}
{Pick 43 1 0 1}
{Pop 44 0 1 0}
{Insert 45 1 0 0}
// NOTE(rjf): 45 is free
{ValueRead 46 1 2 1}
{ByteSwap 47 1 1 1}
{CallSiteValue 48 4 0 0}
-5
View File
@@ -351,7 +351,6 @@ rdi_string_from_bytecode(Arena *arena, RDI_Arch arch, String8 bc)
String8 reg_str = rdi_string_from_reg_code(scratch.arena, arch, reg_code);
imm_fmt = push_str8f(scratch.arena, "%S+%I64u, Size: %u", reg_str, byte_off, byte_size);
} break;
case RDI_EvalOp_RegReadDyn: break;
case RDI_EvalOp_FrameOff: {
imm_fmt = push_str8f(scratch.arena, "%+lld", *(S64 *)imm.str);
} break;
@@ -426,10 +425,6 @@ rdi_string_from_bytecode(Arena *arena, RDI_Arch arch, String8 bc)
imm_fmt = push_str8f(scratch.arena, "%u", pick);
} break;
case RDI_EvalOp_Pop: break;
case RDI_EvalOp_Insert: {
U8 insert = *(U8 *)imm.str;
imm_fmt = push_str8f(scratch.arena, "%u", insert);
} break;
case RDI_EvalOp_ValueRead: {
U8 bytes_to_read = *(U8 *)imm.str;
imm_fmt = push_str8f(scratch.arena, "%u", bytes_to_read);