From 8b407058485dbad82d670c6cbcacbe1d993fb4aa Mon Sep 17 00:00:00 2001 From: WormHeamer Date: Tue, 28 Oct 2025 18:42:28 -0400 Subject: remove Node.walked in favor of bit sets (1/32x the memory) --- ir.h | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'ir.h') diff --git a/ir.h b/ir.h index ae91b6c..403e054 100644 --- a/ir.h +++ b/ir.h @@ -110,21 +110,20 @@ typedef struct { } NodeList; typedef struct Node { + u32 id; + NodeType op; union { struct Node *prev_free; struct { - NodeList in; /* note: index 0 used for control flow */ - NodeList out; - int walked; - LexSpan src_pos; - union { - Type type; - Value val; - }; + /* index 0 of in is control */ + NodeList in, out; }; }; - int id; - NodeType op; + LexSpan src_pos; + union { + Type type; + Value val; + }; } Node; /* convenience macros (lisp-inspired lol) */ -- cgit v1.2.3