about summary refs log tree commit diff stats
path: root/apps/mu.subx
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2020-02-23 00:30:31 -0800
committerKartik Agaram <vc@akkartik.com>2020-02-23 00:30:31 -0800
commit5a405cb2e0a33bc514138bc7cf6a32c6fcf0f8aa (patch)
tree8086ffae9ab34b0f746104c8be5bf938c7ac64d6 /apps/mu.subx
parent74953f1e18a10e0203c614e82cc119b0b19adb82 (diff)
downloadmu-5a405cb2e0a33bc514138bc7cf6a32c6fcf0f8aa.tar.gz
6050
Diffstat (limited to 'apps/mu.subx')
-rw-r--r--apps/mu.subx60
1 files changed, 34 insertions, 26 deletions
diff --git a/apps/mu.subx b/apps/mu.subx
index 2c54d141..6aa2333c 100644
--- a/apps/mu.subx
+++ b/apps/mu.subx
@@ -358,9 +358,43 @@ Tree-right:  # (addr tree type-id)
 Tree-size:  # (addr int)
   8/imm32
 
+# Types
+
 Max-type-id:
   0x10000/imm32
 
+Type-id:  # (stream (address array byte))
+  0x18/imm32/write
+  0/imm32/read
+  0x100/imm32/length
+  # data
+  "literal"/imm32  # 0
+  "int"/imm32  # 1
+  "addr"/imm32  # 2
+  "array"/imm32  # 3
+  "handle"/imm32  # 4
+  "bool"/imm32  # 5
+  0/imm32
+  0/imm32
+  # 0x20
+  0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32
+  0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32
+  0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32
+  0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32
+  0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32
+  0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32
+  0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32
+
+# Types contain vars with types, but can't specify registers.
+Typeinfo-id:  # type-id
+  0/imm32
+Typeinfo-fields:  # (handle list var)
+  4/imm32
+Typeinfo-next:  # (handle typeinfo)
+  8/imm32
+Typeinfo-size:  # (addr int)
+  0xc/imm32
+
 == code
 
 Entry:
@@ -2896,32 +2930,6 @@ $pos-slice:end:
     5d/pop-to-ebp
     c3/return
 
-== data
-
-Type-id:  # (stream (address array byte))
-  0x18/imm32/write
-  0/imm32/read
-  0x100/imm32/length
-  # data
-  "literal"/imm32  # 0
-  "int"/imm32  # 1
-  "addr"/imm32  # 2
-  "array"/imm32  # 3
-  "handle"/imm32  # 4
-  "bool"/imm32  # 5
-  0/imm32
-  0/imm32
-  # 0x20
-  0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32
-  0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32
-  0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32
-  0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32
-  0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32
-  0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32
-  0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32 0/imm32
-
-== code
-
 test-parse-var-with-type:
     # . prologue
     55/push-ebp