about summary refs log tree commit diff stats
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rwxr-xr-xapps/assortbin40844 -> 40838 bytes
-rwxr-xr-xapps/bracesbin42645 -> 42633 bytes
-rwxr-xr-xapps/callsbin47306 -> 47294 bytes
-rwxr-xr-xapps/crenshaw2-1bin40247 -> 40241 bytes
-rw-r--r--apps/crenshaw2-1.subx12
-rwxr-xr-xapps/crenshaw2-1bbin40794 -> 40788 bytes
-rw-r--r--apps/crenshaw2-1b.subx12
-rwxr-xr-xapps/dquotesbin44489 -> 44483 bytes
-rw-r--r--apps/ex11.subx14
-rwxr-xr-xapps/factorialbin39266 -> 39260 bytes
-rwxr-xr-xapps/handlebin40164 -> 40158 bytes
-rwxr-xr-xapps/hexbin43086 -> 43080 bytes
-rwxr-xr-xapps/mubin210776 -> 210762 bytes
-rw-r--r--apps/mu.subx40
-rwxr-xr-xapps/packbin53231 -> 53225 bytes
-rwxr-xr-xapps/sigilsbin55030 -> 55018 bytes
-rwxr-xr-xapps/surveybin49850 -> 49844 bytes
-rw-r--r--apps/survey.subx40
-rwxr-xr-xapps/testsbin39637 -> 39631 bytes
19 files changed, 59 insertions, 59 deletions
diff --git a/apps/assort b/apps/assort
index 9f6aa9a6..3c24b4a6 100755
--- a/apps/assort
+++ b/apps/assort
Binary files differdiff --git a/apps/braces b/apps/braces
index 34f18f11..f26cc91a 100755
--- a/apps/braces
+++ b/apps/braces
Binary files differdiff --git a/apps/calls b/apps/calls
index dbe0e219..15e8b095 100755
--- a/apps/calls
+++ b/apps/calls
Binary files differdiff --git a/apps/crenshaw2-1 b/apps/crenshaw2-1
index 599fcfc0..8f59dc7e 100755
--- a/apps/crenshaw2-1
+++ b/apps/crenshaw2-1
Binary files differdiff --git a/apps/crenshaw2-1.subx b/apps/crenshaw2-1.subx
index e37b58e7..8e20342b 100644
--- a/apps/crenshaw2-1.subx
+++ b/apps/crenshaw2-1.subx
@@ -108,12 +108,12 @@ compile:  # in: (addr buffered-file), out: fd or (addr stream byte), err: fd or
     # var num/ecx: (stream byte 7)
     # Numbers can be 32 bits or 8 hex bytes long. One of them will be in 'Look', so we need space for 7 bytes.
     # Sizing the stream just right buys us overflow-handling for free inside 'get-num'.
-    # Add 12 bytes for 'read', 'write' and 'length' fields, for a total of 19 bytes, or 0x13 in hex.
+    # Add 12 bytes for 'read', 'write' and 'size' fields, for a total of 19 bytes, or 0x13 in hex.
     # The stack pointer is no longer aligned, so dump_stack() can be misleading past this point.
     81          5/subop/subtract    3/mod/direct    4/rm32/esp    .           .             .           .           .               0x13/imm32        # subtract from esp
     89/copy                         3/mod/direct    1/rm32/ecx    .           .             .           4/r32/esp   .               .                 # copy esp to ecx
     # initialize the stream
-    # . num->length = 7
+    # . num->size = 7
     c7          0/subop/copy        1/mod/*+disp8   1/rm32/ecx    .           .             .           .           8/disp8         7/imm32           # copy to *(ecx+8)
     # . clear-stream(num)
     # . . push args
@@ -194,7 +194,7 @@ $compile:end:
 get-num:  # in: (addr buffered-file), out: (addr stream byte), err: fd or (addr stream byte), ed: (addr exit-descriptor)
     # pseudocode:
     #   if (!is-digit?(Look)) expected(ed, err, "integer")
-    #   if out->write >= out->length
+    #   if out->write >= out->size
     #     write(err, "Error: too many digits in number\n")
     #     stop(ed, 1)
     #   out->data[out->write] = LSB(Look)
@@ -205,7 +205,7 @@ get-num:  # in: (addr buffered-file), out: (addr stream byte), err: fd or (addr
     #   in: esi
     #   out: edi
     #   out->write: ecx (cached copy; need to keep in sync)
-    #   out->length: edx
+    #   out->size: edx
     #   temporaries: eax, ebx
     # We can't allocate Look to a register because it gets written implicitly in
     # get-char in each iteration of the loop. (Thereby demonstrating that it's
@@ -250,10 +250,10 @@ $get-num:main:
     8b/copy                         1/mod/*+disp8   5/rm32/ebp    .           .             .           7/r32/edi   0xc/disp8       .                 # copy *(ebp+12) to edi
     # ecx = out->write
     8b/copy                         0/mod/indirect  7/rm32/edi    .           .             .           1/r32/ecx   .               .                 # copy *edi to ecx
-    # edx = out->length
+    # edx = out->size
     8b/copy                         1/mod/*+disp8   7/rm32/edi    .           .             .           2/r32/edx   8/disp8         .                 # copy *(edi+8) to edx
 $get-num:loop:
-    # if (out->write >= out->length) error
+    # if (out->write >= out->size) error
     39/compare                      3/mod/direct    2/rm32/edx    .           .             .           1/r32/ecx   .               .                 # compare edx with ecx
     7d/jump-if-<  $get-num:stage2/disp8
     # . error(ed, err, msg)  # TODO: show full number
diff --git a/apps/crenshaw2-1b b/apps/crenshaw2-1b
index 838c0c58..62ca8b7a 100755
--- a/apps/crenshaw2-1b
+++ b/apps/crenshaw2-1b
Binary files differdiff --git a/apps/crenshaw2-1b.subx b/apps/crenshaw2-1b.subx
index 89791bea..62e56312 100644
--- a/apps/crenshaw2-1b.subx
+++ b/apps/crenshaw2-1b.subx
@@ -108,12 +108,12 @@ compile:  # in: (addr buffered-file), out: fd or (addr stream byte), err: fd or
     # var num/ecx: (stream byte 7)
     # Numbers can be 32 bits or 8 hex bytes long. One of them will be in 'Look', so we need space for 7 bytes.
     # Sizing the stream just right buys us overflow-handling for free inside 'get-num'.
-    # Add 12 bytes for 'read', 'write' and 'length' fields, for a total of 19 bytes, or 0x13 in hex.
+    # Add 12 bytes for 'read', 'write' and 'size' fields, for a total of 19 bytes, or 0x13 in hex.
     # The stack pointer is no longer aligned, so dump_stack() can be misleading past this point.
     81          5/subop/subtract    3/mod/direct    4/rm32/esp    .           .             .           .           .               0x13/imm32        # subtract from esp
     89/copy                         3/mod/direct    1/rm32/ecx    .           .             .           4/r32/esp   .               .                 # copy esp to ecx
     # initialize the stream
-    # . num->length = 7
+    # . num->size = 7
     c7          0/subop/copy        1/mod/*+disp8   1/rm32/ecx    .           .             .           .           8/disp8         7/imm32           # copy to *(ecx+8)
     # . clear-stream(num)
     # . . push args
@@ -195,7 +195,7 @@ get-num:  # in: (addr buffered-file), out: (addr stream byte), err: fd or (addr
     # pseudocode:
     #   if (!is-digit?(Look)) expected(ed, err, "integer")
     #   do
-    #     if out->write >= out->length
+    #     if out->write >= out->size
     #       write(err, "Error: too many digits in number\n")
     #       stop(ed, 1)
     #     out->data[out->write] = LSB(Look)
@@ -210,7 +210,7 @@ get-num:  # in: (addr buffered-file), out: (addr stream byte), err: fd or (addr
     #   in: esi
     #   out: edi
     #   out->write: ecx (cached copy; need to keep in sync)
-    #   out->length: edx
+    #   out->size: edx
     #   temporaries: eax, ebx
     # We can't allocate Look to a register because it gets written implicitly in
     # get-char in each iteration of the loop. (Thereby demonstrating that it's
@@ -255,10 +255,10 @@ $get-num:main:
     8b/copy                         1/mod/*+disp8   5/rm32/ebp    .           .             .           7/r32/edi   0xc/disp8       .                 # copy *(ebp+12) to edi
     # ecx = out->write
     8b/copy                         0/mod/indirect  7/rm32/edi    .           .             .           1/r32/ecx   .               .                 # copy *edi to ecx
-    # edx = out->length
+    # edx = out->size
     8b/copy                         1/mod/*+disp8   7/rm32/edi    .           .             .           2/r32/edx   8/disp8         .                 # copy *(edi+8) to edx
 $get-num:loop:
-    # if (out->write >= out->length) error
+    # if (out->write >= out->size) error
     39/compare                      3/mod/direct    2/rm32/edx    .           .             .           1/r32/ecx   .               .                 # compare edx with ecx
     7d/jump-if-<  $get-num:loop-stage2/disp8
     # . error(ed, err, msg)  # TODO: show full number
diff --git a/apps/dquotes b/apps/dquotes
index 12f43de6..9f1d1b4d 100755
--- a/apps/dquotes
+++ b/apps/dquotes
Binary files differdiff --git a/apps/ex11.subx b/apps/ex11.subx
index cacd22da..9ff43a73 100644
--- a/apps/ex11.subx
+++ b/apps/ex11.subx
@@ -1,9 +1,9 @@
-# Null-terminated vs length-prefixed ascii strings.
+# Null-terminated vs size-prefixed ascii strings.
 #
-# By default we create strings with a 4-byte length prefix rather than a null suffix.
+# By default we create strings with a 4-byte size prefix rather than a null suffix.
 # However we still need null-prefixed strings when interacting with the Linux
 # kernel in a few places. This layer implements a function for comparing
-# a null-terminated 'kernel string' with a length-prefixed 'SubX string'.
+# a null-terminated 'kernel string' with a size-prefixed 'SubX string'.
 #
 # To run:
 #   $ ./bootstrap translate init.linux apps/ex11.subx -o apps/ex11
@@ -25,11 +25,11 @@ Entry:  # run all tests
     89/copy                         3/mod/direct    3/rm32/ebx    .           .             .           0/r32/eax   .               .                 # copy eax to ebx
     e8/call  syscall_exit/disp32
 
-# compare a null-terminated ascii string with a more idiomatic length-prefixed byte array
+# compare a null-terminated ascii string with a more idiomatic size-prefixed byte array
 # reason for the name: the only place we should have null-terminated ascii strings is from commandline args
-kernel-string-equal?:  # s: null-terminated ascii string, benchmark: length-prefixed ascii string -> eax: boolean
+kernel-string-equal?:  # s: null-terminated ascii string, benchmark: size-prefixed ascii string -> eax: boolean
     # pseudocode:
-    #   n = benchmark->length
+    #   n = benchmark->size
     #   s1 = s
     #   s2 = benchmark->data
     #   i = 0
@@ -60,7 +60,7 @@ kernel-string-equal?:  # s: null-terminated ascii string, benchmark: length-pref
     57/push-edi
     # s1/edi = s
     8b/copy                         1/mod/*+disp8   5/rm32/ebp    .           .             .           7/r32/edi   8/disp8         .                 # copy *(ebp+8) to edi
-    # n/edx = benchmark->length
+    # n/edx = benchmark->size
     8b/copy                         1/mod/*+disp8   5/rm32/ebp    .           .             .           2/r32/edx   0xc/disp8       .                 # copy *(ebp+12) to edx
     8b/copy                         0/mod/indirect  2/rm32/edx    .           .             .           2/r32/edx   .               .                 # copy *edx to edx
     # s2/esi = benchmark->data
diff --git a/apps/factorial b/apps/factorial
index 3f09218b..0bb8b2c8 100755
--- a/apps/factorial
+++ b/apps/factorial
Binary files differdiff --git a/apps/handle b/apps/handle
index b149425c..51b34f63 100755
--- a/apps/handle
+++ b/apps/handle
Binary files differdiff --git a/apps/hex b/apps/hex
index a9664006..55e10f7f 100755
--- a/apps/hex
+++ b/apps/hex
Binary files differdiff --git a/apps/mu b/apps/mu
index adcf5d8a..d9c0a92c 100755
--- a/apps/mu
+++ b/apps/mu
Binary files differdiff --git a/apps/mu.subx b/apps/mu.subx
index 9965447a..bd35b7e6 100644
--- a/apps/mu.subx
+++ b/apps/mu.subx
@@ -380,7 +380,7 @@ Max-type-id:
 Type-id:  # (stream (address array byte))
   0x1c/imm32/write
   0/imm32/read
-  0x100/imm32/length
+  0x100/imm32/size
   # data
   "literal"/imm32  # 0
   "int"/imm32  # 1
@@ -2478,7 +2478,7 @@ test-convert-index-into-array-with-literal:
     (check-next-stream-line-equal _test-output-stream "$foo:0x00000001:loop:"                       "F - test-convert-index-into-array-with-literal/5")
     (check-next-stream-line-equal _test-output-stream "    ff 6/subop/push %eax"                    "F - test-convert-index-into-array-with-literal/6")
     (check-next-stream-line-equal _test-output-stream "    b8/copy-to-eax 0/imm32"                  "F - test-convert-index-into-array-with-literal/7")
-                                                                                 # 2 * 4 bytes/elem + 4 bytes for length = offset 12
+                                                                                 # 2 * 4 bytes/elem + 4 bytes for size = offset 12
     (check-next-stream-line-equal _test-output-stream "    8d/copy-address *(eax + 0x0000000c) 0x00000000/r32"  "F - test-convert-index-into-array-with-literal/8")
     (check-next-stream-line-equal _test-output-stream "    8f 0/subop/pop %eax"                     "F - test-convert-index-into-array-with-literal/9")
     (check-next-stream-line-equal _test-output-stream "  }"                                         "F - test-convert-index-into-array-with-literal/10")
@@ -3163,7 +3163,7 @@ parse-mu:  # in: (addr buffered-file)
     57/push-edi
     # var line/ecx: (stream byte 512)
     81 5/subop/subtract %esp 0x200/imm32
-    68/push 0x200/imm32/length
+    68/push 0x200/imm32/size
     68/push 0/imm32/read
     68/push 0/imm32/write
     89/<- %ecx 4/r32/esp
@@ -3177,7 +3177,7 @@ parse-mu:  # in: (addr buffered-file)
     be/copy-to-esi _Program-types/imm32
     # var vars/ebx: (stack (addr var) 256)
     81 5/subop/subtract %esp 0x400/imm32
-    68/push 0x400/imm32/length
+    68/push 0x400/imm32/size
     68/push 0/imm32/top
     89/<- %ebx 4/r32/esp
     {
@@ -3486,7 +3486,7 @@ test-function-header-with-arg:
     (zero-out %ecx *Function-size)
     # var vars/ebx: (stack (addr var) 16)
     81 5/subop/subtract %esp 0x10/imm32
-    68/push 0x10/imm32/length
+    68/push 0x10/imm32/size
     68/push 0/imm32/top
     89/<- %ebx 4/r32/esp
     # convert
@@ -3519,7 +3519,7 @@ test-function-header-with-multiple-args:
     (zero-out %ecx *Function-size)
     # var vars/ebx: (stack (addr var) 16)
     81 5/subop/subtract %esp 0x10/imm32
-    68/push 0x10/imm32/length
+    68/push 0x10/imm32/size
     68/push 0/imm32/top
     89/<- %ebx 4/r32/esp
     # convert
@@ -3571,7 +3571,7 @@ test-function-with-multiple-args-and-outputs:
     (zero-out %ecx *Function-size)
     # var vars/ebx: (stack (addr var) 16)
     81 5/subop/subtract %esp 0x10/imm32
-    68/push 0x10/imm32/length
+    68/push 0x10/imm32/size
     68/push 0/imm32/top
     89/<- %ebx 4/r32/esp
     # convert
@@ -4666,7 +4666,7 @@ parse-mu-block:  # in: (addr buffered-file), vars: (addr stack (handle var)), fn
     57/push-edi
     # var line/ecx: (stream byte 512)
     81 5/subop/subtract %esp 0x200/imm32
-    68/push 0x200/imm32/length
+    68/push 0x200/imm32/size
     68/push 0/imm32/read
     68/push 0/imm32/write
     89/<- %ecx 4/r32/esp
@@ -4809,7 +4809,7 @@ new-block-name:  # fn: (handle function) -> result/eax: (handle var)
     # var n/ecx: int = len(fn->name) + 10 for an int + 2 for '$:'
     8b/-> *(ebp+8) 0/r32/eax
     8b/-> *eax 0/r32/eax  # Function-name
-    8b/-> *eax 0/r32/eax  # String-length
+    8b/-> *eax 0/r32/eax  # String-size
     05/add-to-eax 0xd/imm32  # 10 + 2 for '$:'
     89/<- %ecx 0/r32/eax
     # var name/edx: (stream byte n)
@@ -5019,7 +5019,7 @@ test-parse-mu-var-def:
     (write _test-input-stream "n: int\n")  # caller has consumed the 'var'
     # var vars/ecx: (stack (addr var) 4)
     81 5/subop/subtract %esp 0x10/imm32
-    68/push 0x10/imm32/length
+    68/push 0x10/imm32/size
     68/push 0/imm32/top
     89/<- %ecx 4/r32/esp
     (clear-stack %ecx)
@@ -5049,7 +5049,7 @@ test-parse-mu-reg-var-def:
     (write _test-input-stream "n/eax: int <- copy 0\n")  # caller has consumed the 'var'
     # var vars/ecx: (stack (addr var) 4)
     81 5/subop/subtract %esp 0x10/imm32
-    68/push 0x10/imm32/length
+    68/push 0x10/imm32/size
     68/push 0/imm32/top
     89/<- %ecx 4/r32/esp
     (clear-stack %ecx)
@@ -5428,7 +5428,7 @@ lookup-var-helper:  # name: (addr array byte), vars: (addr stack (handle var)) -
     8b/-> *(ebp+0xc) 6/r32/esi
     # ebx = vars->top
     8b/-> *esi 3/r32/ebx
-    # if (vars->top > vars->length) abort
+    # if (vars->top > vars->size) abort
     3b/compare<- *(esi+4) 0/r32/eax
     0f 8f/jump-if-> $lookup-var-helper:error1/disp32
     # var min/edx: (addr handle var) = vars->data
@@ -5548,7 +5548,7 @@ test-parse-mu-stmt:
     (write _test-input-stream "increment n\n")
     # var vars/ecx: (stack (addr var) 4)
     81 5/subop/subtract %esp 0x10/imm32
-    68/push 0x10/imm32/length
+    68/push 0x10/imm32/size
     68/push 0/imm32/top
     89/<- %ecx 4/r32/esp
     (clear-stack %ecx)
@@ -5584,7 +5584,7 @@ test-parse-mu-stmt-with-comma:
     (write _test-input-stream "copy-to n, 3\n")
     # var vars/ecx: (stack (addr var) 4)
     81 5/subop/subtract %esp 0x10/imm32
-    68/push 0x10/imm32/length
+    68/push 0x10/imm32/size
     68/push 0/imm32/top
     89/<- %ecx 4/r32/esp
     (clear-stack %ecx)
@@ -6141,7 +6141,7 @@ populate-mu-type:  # in: (addr stream byte), t: (handle typeinfo)
     8b/-> *(ebp+0xc) 7/r32/edi
     # var line/ecx: (stream byte 512)
     81 5/subop/subtract %esp 0x200/imm32
-    68/push 0x200/imm32/length
+    68/push 0x200/imm32/size
     68/push 0/imm32/read
     68/push 0/imm32/write
     89/<- %ecx 4/r32/esp
@@ -6685,7 +6685,7 @@ size-of-array:  # a: (handle tree type-id) -> result/eax: int
     # return array-size * size-of(elem-type)
     (size-of-type-id %edx)  # => eax
     f7 4/subop/multiply-into-eax %ecx
-    05/add-to-eax 4/imm32  # for array length
+    05/add-to-eax 4/imm32  # for array size
 $size-of-array:end:
     # . restore registers
     5a/pop-to-edx
@@ -6822,7 +6822,7 @@ emit-subx-function:  # out: (addr buffered-file), f: (handle function)
     8b/-> *(ebp+0xc) 1/r32/ecx
     # var vars/edx: (stack (addr var) 256)
     81 5/subop/subtract %esp 0x400/imm32
-    68/push 0x400/imm32/length
+    68/push 0x400/imm32/size
     68/push 0/imm32/top
     89/<- %edx 4/r32/esp
     #
@@ -7223,7 +7223,7 @@ Reverse-branch:  # (table string string)
   # a table is a stream
   0xa0/imm32/write
   0/imm32/read
-  0xa0/imm32/length
+  0xa0/imm32/size
   # data
   "break-if-="/imm32      "0f 85/jump-if-!="/imm32
   "loop-if-="/imm32       "0f 85/jump-if-!="/imm32
@@ -7689,7 +7689,7 @@ emit-subx-var-def:  # out: (addr buffered-file), stmt: (handle stmt)
       (is-mu-array? *(ecx+4))  # Var-type => eax
       3d/compare-eax-and 0/imm32/false
       0f 84/jump-if-= break/disp32
-      # var array-size-without-length/edx: int = n-4
+      # var array-size-without-size/edx: int = n-4
       81 5/subop/subtract %edx 4/imm32
       (emit-indent *(ebp+8) *Curr-block-depth)
       (write-buffered *(ebp+8) "(push-n-zero-bytes ")
@@ -7732,7 +7732,7 @@ emit-subx-stmt:  # out: (addr buffered-file), stmt: (handle stmt), primitives: (
     # - some special-case primitives that don't actually use the 'primitives' data structure
     # ecx = stmt
     8b/-> *(ebp+0xc) 1/r32/ecx
-    # array length
+    # array size
     {
       # if (!string-equal?(stmt->operation, "length")) break
       (string-equal? *(ecx+4) "length")  # Stmt1-operation => eax
diff --git a/apps/pack b/apps/pack
index cc967d24..d9c6b804 100755
--- a/apps/pack
+++ b/apps/pack
Binary files differdiff --git a/apps/sigils b/apps/sigils
index 9f288109..6b79497e 100755
--- a/apps/sigils
+++ b/apps/sigils
Binary files differdiff --git a/apps/survey b/apps/survey
index 98f75e9e..e4f5c1cf 100755
--- a/apps/survey
+++ b/apps/survey
Binary files differdiff --git a/apps/survey.subx b/apps/survey.subx
index e3184815..00218ef2 100644
--- a/apps/survey.subx
+++ b/apps/survey.subx
@@ -133,14 +133,14 @@ subx-survey:  # infile: (addr buffered-file), out: (addr buffered-file)
     56/push-esi
     # var segments/ecx: (stream {string, segment-info} 160)   # 10 rows * 16 bytes/row
     81          5/subop/subtract    3/mod/direct    4/rm32/esp    .           .             .           .           .               0xa0/imm32        # subtract from esp
-    68/push  0xa0/imm32/length
+    68/push  0xa0/imm32/size
     68/push  0/imm32/read
     68/push  0/imm32/write
     89/copy                         3/mod/direct    1/rm32/ecx    .           .             .           4/r32/esp   .               .                 # copy esp to ecx
     # var labels/edx: (stream label-info Max-labels*16)
     # . data
     2b/subtract                     0/mod/indirect  5/rm32/.disp32            .             .           4/r32/esp   Max-labels/disp32                 # subtract *Max-labels from esp
-    # . length
+    # . size
     ff          6/subop/push        0/mod/indirect  5/rm32/.disp32            .             .           .           Max-labels/disp32                 # push *Max-labels
     # . read
     68/push  0/imm32/read
@@ -150,7 +150,7 @@ subx-survey:  # infile: (addr buffered-file), out: (addr buffered-file)
     # var in/esi: (stream byte Input-size)
     # . data
     2b/subtract                     0/mod/indirect  5/rm32/.disp32            .             .           4/r32/esp   Input-size/disp32                 # subtract *Input-size from esp
-    # . length
+    # . size
     ff          6/subop/push        0/mod/indirect  5/rm32/.disp32            .             .           .           Input-size/disp32                 # push *Input-size
     # . read
     68/push  0/imm32/read
@@ -690,7 +690,7 @@ compute-offsets:  # in: (addr stream byte), segments: (addr stream {string, segm
     c7          0/subop/copy        0/mod/indirect  5/rm32/.disp32            .             .           .           compute-offsets:segment-offset/disp32  0/imm32            # copy to *compute-offsets:word-slice
     # var line/ecx: (stream byte 512)
     81          5/subop/subtract    3/mod/direct    4/rm32/esp    .           .             .           .           .               0x200/imm32       # subtract from esp
-    68/push  0x200/imm32/length
+    68/push  0x200/imm32/size
     68/push  0/imm32/read
     68/push  0/imm32/write
     89/copy                         3/mod/direct    1/rm32/ecx    .           .             .           4/r32/esp   .               .                 # copy esp to ecx
@@ -1222,13 +1222,13 @@ test-compute-offsets:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # var segments/ecx: (stream byte 2*16)
     81          5/subop/subtract    3/mod/direct    4/rm32/esp    .           .             .           .           .               0x20/imm32        # subtract from esp
-    68/push  0x20/imm32/length
+    68/push  0x20/imm32/size
     68/push  0/imm32/read
     68/push  0/imm32/write
     89/copy                         3/mod/direct    1/rm32/ecx    .           .             .           4/r32/esp   .               .                 # copy esp to ecx
     # var labels/edx: (stream byte 2*16)
     81          5/subop/subtract    3/mod/direct    4/rm32/esp    .           .             .           .           .               0x20/imm32        # subtract from esp
-    68/push  0x20/imm32/length
+    68/push  0x20/imm32/size
     68/push  0/imm32/read
     68/push  0/imm32/write
     89/copy                         3/mod/direct    2/rm32/edx    .           .             .           4/r32/esp   .               .                 # copy esp to edx
@@ -1624,13 +1624,13 @@ test-compute-addresses:
     # setup
     # . var segments/ecx: (stream byte 10*16)
     81          5/subop/subtract    3/mod/direct    4/rm32/esp    .           .             .           .           .               0xa0/imm32        # subtract from esp
-    68/push  0xa0/imm32/length
+    68/push  0xa0/imm32/size
     68/push  0/imm32/read
     68/push  0/imm32/write
     89/copy                         3/mod/direct    1/rm32/ecx    .           .             .           4/r32/esp   .               .                 # copy esp to ecx
     # . var labels/edx: (stream byte 512*16)
     81          5/subop/subtract    3/mod/direct    4/rm32/esp    .           .             .           .           .               0x2000/imm32      # subtract from esp
-    68/push  0x2000/imm32/length
+    68/push  0x2000/imm32/size
     68/push  0/imm32/read
     68/push  0/imm32/write
     89/copy                         3/mod/direct    2/rm32/edx    .           .             .           4/r32/esp   .               .                 # copy esp to edx
@@ -1793,13 +1793,13 @@ test-compute-addresses-large-segments:
     # setup
     # . var segments/ecx: (stream byte 10*16)
     81          5/subop/subtract    3/mod/direct    4/rm32/esp    .           .             .           .           .               0xa0/imm32        # subtract from esp
-    68/push  0xa0/imm32/length
+    68/push  0xa0/imm32/size
     68/push  0/imm32/read
     68/push  0/imm32/write
     89/copy                         3/mod/direct    1/rm32/ecx    .           .             .           4/r32/esp   .               .                 # copy esp to ecx
     # . var labels/edx: (stream byte 512*16)
     81          5/subop/subtract    3/mod/direct    4/rm32/esp    .           .             .           .           .               0x2000/imm32      # subtract from esp
-    68/push  0x2000/imm32/length
+    68/push  0x2000/imm32/size
     68/push  0/imm32/read
     68/push  0/imm32/write
     89/copy                         3/mod/direct    2/rm32/edx    .           .             .           4/r32/esp   .               .                 # copy esp to edx
@@ -1989,7 +1989,7 @@ emit-segments:  # in: (addr stream byte), out: (addr buffered-file), labels: (ad
     57/push-edi
     # var line/ecx: (stream byte 512)
     81          5/subop/subtract    3/mod/direct    4/rm32/esp    .           .             .           .           .               0x200/imm32       # subtract from esp
-    68/push  0x200/imm32/length
+    68/push  0x200/imm32/size
     68/push  0/imm32/read
     68/push  0/imm32/write
     89/copy                         3/mod/direct    1/rm32/ecx    .           .             .           4/r32/esp   .               .                 # copy esp to ecx
@@ -2156,8 +2156,8 @@ $emit-segments:check-for-segment-header:
     3d/compare-eax-and  0/imm32/false
     0f 85/jump-if-!=  $emit-segments:line-loop/disp32
 $emit-segments:2-character:
-    # if (length(word-slice) != 2) goto next check
-    # . eax = length(word-slice)
+    # if (size(word-slice) != 2) goto next check
+    # . eax = size(word-slice)
     8b/copy                         1/mod/*+disp8   2/rm32/edx    .           .             .           0/r32/eax   4/disp8         .                 # copy *(edx+4) to eax
     2b/subtract                     0/mod/indirect  2/rm32/edx    .           .             .           0/r32/eax   .               .                 # subtract *edx from eax
     # . if (eax != 2) goto next check
@@ -2579,7 +2579,7 @@ test-emit-segments-global-variable:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . var labels/edx: (stream byte 512*16)
     81          5/subop/subtract    3/mod/direct    4/rm32/esp    .           .             .           .           .               0x2000/imm32      # subtract from esp
-    68/push  0x2000/imm32/length
+    68/push  0x2000/imm32/size
     68/push  0/imm32/read
     68/push  0/imm32/write
     89/copy                         3/mod/direct    2/rm32/edx    .           .             .           4/r32/esp   .               .                 # copy esp to edx
@@ -2789,7 +2789,7 @@ test-emit-segments-code-label:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . var labels/edx: (stream byte 512*16)
     81          5/subop/subtract    3/mod/direct    4/rm32/esp    .           .             .           .           .               0x2000/imm32      # subtract from esp
-    68/push  0x2000/imm32/length
+    68/push  0x2000/imm32/size
     68/push  0/imm32/read
     68/push  0/imm32/write
     89/copy                         3/mod/direct    2/rm32/edx    .           .             .           4/r32/esp   .               .                 # copy esp to edx
@@ -2974,7 +2974,7 @@ test-emit-segments-code-label-absolute:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . var labels/edx: (stream byte 512*16)
     81          5/subop/subtract    3/mod/direct    4/rm32/esp    .           .             .           .           .               0x2000/imm32      # subtract from esp
-    68/push  0x2000/imm32/length
+    68/push  0x2000/imm32/size
     68/push  0/imm32/read
     68/push  0/imm32/write
     89/copy                         3/mod/direct    2/rm32/edx    .           .             .           4/r32/esp   .               .                 # copy esp to edx
@@ -3423,8 +3423,8 @@ stream-add4:  # in: (addr stream byte), key: addr, val1: addr, val2: addr, val3:
     8b/copy                         0/mod/indirect  6/rm32/esi    .           .             .           0/r32/eax   .               .                 # copy *esi to eax
     # . eax = esi+eax+12
     8d/copy-address                 1/mod/*+disp8   4/rm32/sib    6/base/esi  0/index/eax   .           0/r32/eax   0xc/disp8       .                 # copy esi+eax+12 to eax
-    # max/edx = &in->data[in->length]
-    # . edx = in->length
+    # max/edx = &in->data[in->size]
+    # . edx = in->size
     8b/copy                         1/mod/*+disp8   6/rm32/esi    .           .             .           2/r32/edx   8/disp8         .                 # copy *(esi+8) to edx
     # . edx = esi+edx+12
     8d/copy-address                 1/mod/*+disp8   4/rm32/sib    6/base/esi  2/index/edx   .           2/r32/edx   0xc/disp8       .                 # copy esi+edx+12 to edx
@@ -4609,7 +4609,7 @@ test-num-bytes-handles-imm32:
 # some fields (the ones with labels capitalized) filled in.
 # http://www.sco.com/developers/gabi/latest/ch4.eheader.html
 Elf_header:
-  # - length
+  # - size
   0x34/imm32
   # - data
 $e_ident:
@@ -4647,7 +4647,7 @@ $e_shstrndx:
 # Some fields need filling in each time.
 # https://docs.oracle.com/cd/E19683-01/816-1386/chapter6-83432/index.html
 Elf_program_header_entry:
-  # - length
+  # - size
   0x20/imm32
   # - data
 $p_type:
diff --git a/apps/tests b/apps/tests
index 68c0753e..9d5a07b4 100755
--- a/apps/tests
+++ b/apps/tests
Binary files differ