summaryrefslogtreecommitdiff
path: root/test/dump
diff options
context:
space:
mode:
Diffstat (limited to 'test/dump')
-rw-r--r--test/dump/basic.txt4
-rw-r--r--test/dump/binary.txt344
-rw-r--r--test/dump/block-257-exprs-br.txt550
-rw-r--r--test/dump/block-257-exprs.txt552
-rw-r--r--test/dump/block.txt12
-rw-r--r--test/dump/br-block-named.txt31
-rw-r--r--test/dump/br-block.txt43
-rw-r--r--test/dump/br-loop-inner-expr.txt54
-rw-r--r--test/dump/br-loop-inner.txt44
-rw-r--r--test/dump/br-loop.txt4
-rw-r--r--test/dump/brif-loop.txt4
-rw-r--r--test/dump/brif.txt4
-rw-r--r--test/dump/brtable-empty.txt4
-rw-r--r--test/dump/brtable.txt41
-rw-r--r--test/dump/call.txt13
-rw-r--r--test/dump/callimport.txt28
-rw-r--r--test/dump/callindirect-after-import.txt35
-rw-r--r--test/dump/callindirect.txt15
-rw-r--r--test/dump/cast.txt43
-rw-r--r--test/dump/compare.txt320
-rw-r--r--test/dump/const.txt301
-rw-r--r--test/dump/convert.txt92
-rw-r--r--test/dump/current-memory.txt4
-rw-r--r--test/dump/debug-names.txt4
-rw-r--r--test/dump/dedupe-sig.txt4
-rw-r--r--test/dump/drop.txt42
-rw-r--r--test/dump/export-multi.txt8
-rw-r--r--test/dump/expr-br.txt4
-rw-r--r--test/dump/expr-brif.txt4
-rw-r--r--test/dump/func-exported.txt4
-rw-r--r--test/dump/func-multi.txt4
-rw-r--r--test/dump/func-named.txt4
-rw-r--r--test/dump/getlocal-param.txt52
-rw-r--r--test/dump/getlocal.txt64
-rw-r--r--test/dump/grow-memory.txt16
-rw-r--r--test/dump/hexfloat_f32.txt132
-rw-r--r--test/dump/hexfloat_f64.txt148
-rw-r--r--test/dump/if-then-else-list.txt38
-rw-r--r--test/dump/if-then-list.txt10
-rw-r--r--test/dump/if.txt47
-rw-r--r--test/dump/import.txt4
-rw-r--r--test/dump/load-aligned.txt360
-rw-r--r--test/dump/load.txt179
-rw-r--r--test/dump/locals.txt4
-rw-r--r--test/dump/loop-257-exprs-br.txt590
-rw-r--r--test/dump/loop-257-exprs.txt552
-rw-r--r--test/dump/loop.txt10
-rw-r--r--test/dump/memory-1-byte.txt4
-rw-r--r--test/dump/memory-data-size.txt8
-rw-r--r--test/dump/memory-hex.txt4
-rw-r--r--test/dump/memory.txt4
-rw-r--r--test/dump/no-canonicalize.txt45
-rw-r--r--test/dump/nocheck.txt2
-rw-r--r--test/dump/nop.txt8
-rw-r--r--test/dump/param-multi.txt4
-rw-r--r--test/dump/result.txt4
-rw-r--r--test/dump/return.txt22
-rw-r--r--test/dump/select.txt70
-rw-r--r--test/dump/setlocal-param.txt4
-rw-r--r--test/dump/setlocal.txt4
-rw-r--r--test/dump/signatures.txt4
-rw-r--r--test/dump/store-aligned.txt4
-rw-r--r--test/dump/store.txt4
-rw-r--r--test/dump/string-escape.txt4
-rw-r--r--test/dump/string-hex.txt4
-rw-r--r--test/dump/table.txt4
-rw-r--r--test/dump/tee_local.txt48
-rw-r--r--test/dump/unary.txt65
-rw-r--r--test/dump/unreachable.txt8
69 files changed, 2730 insertions, 2424 deletions
diff --git a/test/dump/basic.txt b/test/dump/basic.txt
index b8224dd4..18ce2dd6 100644
--- a/test/dump/basic.txt
+++ b/test/dump/basic.txt
@@ -7,7 +7,7 @@
(export "f" $f))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -74,7 +74,7 @@
000003f: 13 ; FIXUP func body size
000003d: 15 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6507 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6507 0140
0000010: 0201 0101 0108 6675 6e63 7469 6f6e 0201
0000020: 0006 6d65 6d6f 7279 0301 0100 0665 7870
0000030: 6f72 7404 0100 0166 0463 6f64 6515 0113
diff --git a/test/dump/binary.txt b/test/dump/binary.txt
index 602d842a..13329b6a 100644
--- a/test/dump/binary.txt
+++ b/test/dump/binary.txt
@@ -1,22 +1,24 @@
;;; FLAGS: -dv
(module
(func
- (i32.add
- (i32.sub
- (i32.mul
- (i32.div_s
- (i32.div_u
- (i32.rem_s
- (i32.rem_u
- (i32.and
- (i32.or
- (i32.xor
- (i32.shl
- (i32.shr_u
- (i32.shr_s
- (i32.rotl
- (i32.rotr
- (i32.const 0)
+ (drop
+ (i32.add
+ (i32.sub
+ (i32.mul
+ (i32.div_s
+ (i32.div_u
+ (i32.rem_s
+ (i32.rem_u
+ (i32.and
+ (i32.or
+ (i32.xor
+ (i32.shl
+ (i32.shr_u
+ (i32.shr_s
+ (i32.rotl
+ (i32.rotr
+ (i32.const 0)
+ (i32.const 0))
(i32.const 0))
(i32.const 0))
(i32.const 0))
@@ -30,25 +32,26 @@
(i32.const 0))
(i32.const 0))
(i32.const 0))
- (i32.const 0))
- (i32.const 0))
+ (i32.const 0)))
- (i64.add
- (i64.sub
- (i64.mul
- (i64.div_s
- (i64.div_u
- (i64.rem_s
- (i64.rem_u
- (i64.and
- (i64.or
- (i64.xor
- (i64.shl
- (i64.shr_u
- (i64.shr_s
- (i64.rotl
- (i64.rotr
- (i64.const 0)
+ (drop
+ (i64.add
+ (i64.sub
+ (i64.mul
+ (i64.div_s
+ (i64.div_u
+ (i64.rem_s
+ (i64.rem_u
+ (i64.and
+ (i64.or
+ (i64.xor
+ (i64.shl
+ (i64.shr_u
+ (i64.shr_s
+ (i64.rotl
+ (i64.rotr
+ (i64.const 0)
+ (i64.const 0))
(i64.const 0))
(i64.const 0))
(i64.const 0))
@@ -62,46 +65,47 @@
(i64.const 0))
(i64.const 0))
(i64.const 0))
- (i64.const 0))
- (i64.const 0))
+ (i64.const 0)))
- (f32.add
- (f32.sub
- (f32.mul
- (f32.div
- (f32.min
- (f32.max
- (f32.copysign
- (f32.const 0)
+ (drop
+ (f32.add
+ (f32.sub
+ (f32.mul
+ (f32.div
+ (f32.min
+ (f32.max
+ (f32.copysign
+ (f32.const 0)
+ (f32.const 0))
(f32.const 0))
(f32.const 0))
(f32.const 0))
(f32.const 0))
(f32.const 0))
- (f32.const 0))
- (f32.const 0))
+ (f32.const 0)))
- (f64.add
- (f64.sub
- (f64.mul
- (f64.div
- (f64.min
- (f64.max
- (f64.copysign
- (f64.const 0)
+ (drop
+ (f64.add
+ (f64.sub
+ (f64.mul
+ (f64.div
+ (f64.min
+ (f64.max
+ (f64.copysign
+ (f64.const 0)
+ (f64.const 0))
(f64.const 0))
(f64.const 0))
(f64.const 0))
(f64.const 0))
(f64.const 0))
- (f64.const 0))
- (f64.const 0))
+ (f64.const 0)))
))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -174,119 +178,123 @@
0000053: 10 ; OPCODE_I32_CONST
0000054: 00 ; i32 literal
0000055: 40 ; OPCODE_I32_ADD
-0000056: 11 ; OPCODE_I64_CONST
-0000057: 00 ; i64 literal
-0000058: 11 ; OPCODE_I64_CONST
-0000059: 00 ; i64 literal
-000005a: b8 ; OPCODE_I64_ROTR
-000005b: 11 ; OPCODE_I64_CONST
-000005c: 00 ; i64 literal
-000005d: b9 ; OPCODE_I64_ROTL
-000005e: 11 ; OPCODE_I64_CONST
-000005f: 00 ; i64 literal
-0000060: 67 ; OPCODE_I64_SHR_S
-0000061: 11 ; OPCODE_I64_CONST
-0000062: 00 ; i64 literal
-0000063: 66 ; OPCODE_I64_SHR_U
-0000064: 11 ; OPCODE_I64_CONST
-0000065: 00 ; i64 literal
-0000066: 65 ; OPCODE_I64_SHL
-0000067: 11 ; OPCODE_I64_CONST
-0000068: 00 ; i64 literal
-0000069: 64 ; OPCODE_I64_XOR
-000006a: 11 ; OPCODE_I64_CONST
-000006b: 00 ; i64 literal
-000006c: 63 ; OPCODE_I64_OR
-000006d: 11 ; OPCODE_I64_CONST
-000006e: 00 ; i64 literal
-000006f: 62 ; OPCODE_I64_AND
-0000070: 11 ; OPCODE_I64_CONST
-0000071: 00 ; i64 literal
-0000072: 61 ; OPCODE_I64_REM_U
-0000073: 11 ; OPCODE_I64_CONST
-0000074: 00 ; i64 literal
-0000075: 60 ; OPCODE_I64_REM_S
-0000076: 11 ; OPCODE_I64_CONST
-0000077: 00 ; i64 literal
-0000078: 5f ; OPCODE_I64_DIV_U
-0000079: 11 ; OPCODE_I64_CONST
-000007a: 00 ; i64 literal
-000007b: 5e ; OPCODE_I64_DIV_S
-000007c: 11 ; OPCODE_I64_CONST
-000007d: 00 ; i64 literal
-000007e: 5d ; OPCODE_I64_MUL
-000007f: 11 ; OPCODE_I64_CONST
-0000080: 00 ; i64 literal
-0000081: 5c ; OPCODE_I64_SUB
-0000082: 11 ; OPCODE_I64_CONST
-0000083: 00 ; i64 literal
-0000084: 5b ; OPCODE_I64_ADD
-0000085: 13 ; OPCODE_F32_CONST
-0000086: 0000 0000 ; f32 literal
-000008a: 13 ; OPCODE_F32_CONST
-000008b: 0000 0000 ; f32 literal
-000008f: 7d ; OPCODE_F32_COPYSIGN
-0000090: 13 ; OPCODE_F32_CONST
-0000091: 0000 0000 ; f32 literal
-0000095: 7a ; OPCODE_F32_MAX
-0000096: 13 ; OPCODE_F32_CONST
-0000097: 0000 0000 ; f32 literal
-000009b: 79 ; OPCODE_F32_MIN
-000009c: 13 ; OPCODE_F32_CONST
-000009d: 0000 0000 ; f32 literal
-00000a1: 78 ; OPCODE_F32_DIV
-00000a2: 13 ; OPCODE_F32_CONST
-00000a3: 0000 0000 ; f32 literal
-00000a7: 77 ; OPCODE_F32_MUL
-00000a8: 13 ; OPCODE_F32_CONST
-00000a9: 0000 0000 ; f32 literal
-00000ad: 76 ; OPCODE_F32_SUB
-00000ae: 13 ; OPCODE_F32_CONST
-00000af: 0000 0000 ; f32 literal
-00000b3: 75 ; OPCODE_F32_ADD
-00000b4: 12 ; OPCODE_F64_CONST
-00000b5: 0000 0000 0000 0000 ; f64 literal
-00000bd: 12 ; OPCODE_F64_CONST
-00000be: 0000 0000 0000 0000 ; f64 literal
-00000c6: 91 ; OPCODE_F64_COPYSIGN
-00000c7: 12 ; OPCODE_F64_CONST
-00000c8: 0000 0000 0000 0000 ; f64 literal
-00000d0: 8e ; OPCODE_F64_MAX
-00000d1: 12 ; OPCODE_F64_CONST
-00000d2: 0000 0000 0000 0000 ; f64 literal
-00000da: 8d ; OPCODE_F64_MIN
-00000db: 12 ; OPCODE_F64_CONST
-00000dc: 0000 0000 0000 0000 ; f64 literal
-00000e4: 8c ; OPCODE_F64_DIV
-00000e5: 12 ; OPCODE_F64_CONST
-00000e6: 0000 0000 0000 0000 ; f64 literal
-00000ee: 8b ; OPCODE_F64_MUL
-00000ef: 12 ; OPCODE_F64_CONST
-00000f0: 0000 0000 0000 0000 ; f64 literal
-00000f8: 8a ; OPCODE_F64_SUB
-00000f9: 12 ; OPCODE_F64_CONST
-00000fa: 0000 0000 0000 0000 ; f64 literal
-0000102: 89 ; OPCODE_F64_ADD
-; move data: [26, 103) -> [27, 104)
-0000025: dd01 ; FIXUP func body size
-; move data: [24, 104) -> [25, 105)
-0000023: e001 ; FIXUP section size
+0000056: 0b ; OPCODE_DROP
+0000057: 11 ; OPCODE_I64_CONST
+0000058: 00 ; i64 literal
+0000059: 11 ; OPCODE_I64_CONST
+000005a: 00 ; i64 literal
+000005b: b8 ; OPCODE_I64_ROTR
+000005c: 11 ; OPCODE_I64_CONST
+000005d: 00 ; i64 literal
+000005e: b9 ; OPCODE_I64_ROTL
+000005f: 11 ; OPCODE_I64_CONST
+0000060: 00 ; i64 literal
+0000061: 67 ; OPCODE_I64_SHR_S
+0000062: 11 ; OPCODE_I64_CONST
+0000063: 00 ; i64 literal
+0000064: 66 ; OPCODE_I64_SHR_U
+0000065: 11 ; OPCODE_I64_CONST
+0000066: 00 ; i64 literal
+0000067: 65 ; OPCODE_I64_SHL
+0000068: 11 ; OPCODE_I64_CONST
+0000069: 00 ; i64 literal
+000006a: 64 ; OPCODE_I64_XOR
+000006b: 11 ; OPCODE_I64_CONST
+000006c: 00 ; i64 literal
+000006d: 63 ; OPCODE_I64_OR
+000006e: 11 ; OPCODE_I64_CONST
+000006f: 00 ; i64 literal
+0000070: 62 ; OPCODE_I64_AND
+0000071: 11 ; OPCODE_I64_CONST
+0000072: 00 ; i64 literal
+0000073: 61 ; OPCODE_I64_REM_U
+0000074: 11 ; OPCODE_I64_CONST
+0000075: 00 ; i64 literal
+0000076: 60 ; OPCODE_I64_REM_S
+0000077: 11 ; OPCODE_I64_CONST
+0000078: 00 ; i64 literal
+0000079: 5f ; OPCODE_I64_DIV_U
+000007a: 11 ; OPCODE_I64_CONST
+000007b: 00 ; i64 literal
+000007c: 5e ; OPCODE_I64_DIV_S
+000007d: 11 ; OPCODE_I64_CONST
+000007e: 00 ; i64 literal
+000007f: 5d ; OPCODE_I64_MUL
+0000080: 11 ; OPCODE_I64_CONST
+0000081: 00 ; i64 literal
+0000082: 5c ; OPCODE_I64_SUB
+0000083: 11 ; OPCODE_I64_CONST
+0000084: 00 ; i64 literal
+0000085: 5b ; OPCODE_I64_ADD
+0000086: 0b ; OPCODE_DROP
+0000087: 13 ; OPCODE_F32_CONST
+0000088: 0000 0000 ; f32 literal
+000008c: 13 ; OPCODE_F32_CONST
+000008d: 0000 0000 ; f32 literal
+0000091: 7d ; OPCODE_F32_COPYSIGN
+0000092: 13 ; OPCODE_F32_CONST
+0000093: 0000 0000 ; f32 literal
+0000097: 7a ; OPCODE_F32_MAX
+0000098: 13 ; OPCODE_F32_CONST
+0000099: 0000 0000 ; f32 literal
+000009d: 79 ; OPCODE_F32_MIN
+000009e: 13 ; OPCODE_F32_CONST
+000009f: 0000 0000 ; f32 literal
+00000a3: 78 ; OPCODE_F32_DIV
+00000a4: 13 ; OPCODE_F32_CONST
+00000a5: 0000 0000 ; f32 literal
+00000a9: 77 ; OPCODE_F32_MUL
+00000aa: 13 ; OPCODE_F32_CONST
+00000ab: 0000 0000 ; f32 literal
+00000af: 76 ; OPCODE_F32_SUB
+00000b0: 13 ; OPCODE_F32_CONST
+00000b1: 0000 0000 ; f32 literal
+00000b5: 75 ; OPCODE_F32_ADD
+00000b6: 0b ; OPCODE_DROP
+00000b7: 12 ; OPCODE_F64_CONST
+00000b8: 0000 0000 0000 0000 ; f64 literal
+00000c0: 12 ; OPCODE_F64_CONST
+00000c1: 0000 0000 0000 0000 ; f64 literal
+00000c9: 91 ; OPCODE_F64_COPYSIGN
+00000ca: 12 ; OPCODE_F64_CONST
+00000cb: 0000 0000 0000 0000 ; f64 literal
+00000d3: 8e ; OPCODE_F64_MAX
+00000d4: 12 ; OPCODE_F64_CONST
+00000d5: 0000 0000 0000 0000 ; f64 literal
+00000dd: 8d ; OPCODE_F64_MIN
+00000de: 12 ; OPCODE_F64_CONST
+00000df: 0000 0000 0000 0000 ; f64 literal
+00000e7: 8c ; OPCODE_F64_DIV
+00000e8: 12 ; OPCODE_F64_CONST
+00000e9: 0000 0000 0000 0000 ; f64 literal
+00000f1: 8b ; OPCODE_F64_MUL
+00000f2: 12 ; OPCODE_F64_CONST
+00000f3: 0000 0000 0000 0000 ; f64 literal
+00000fb: 8a ; OPCODE_F64_SUB
+00000fc: 12 ; OPCODE_F64_CONST
+00000fd: 0000 0000 0000 0000 ; f64 literal
+0000105: 89 ; OPCODE_F64_ADD
+0000106: 0b ; OPCODE_DROP
+; move data: [26, 107) -> [27, 108)
+0000025: e101 ; FIXUP func body size
+; move data: [24, 108) -> [25, 109)
+0000023: e401 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 65e0 0101 dd01 0010 0010 00b6 1000
+0000020: 6f64 65e4 0101 e101 0010 0010 00b6 1000
0000030: b710 004c 1000 4b10 004a 1000 4910 0048
0000040: 1000 4710 0046 1000 4510 0044 1000 4310
-0000050: 0042 1000 4110 0040 1100 1100 b811 00b9
-0000060: 1100 6711 0066 1100 6511 0064 1100 6311
-0000070: 0062 1100 6111 0060 1100 5f11 005e 1100
-0000080: 5d11 005c 1100 5b13 0000 0000 1300 0000
-0000090: 007d 1300 0000 007a 1300 0000 0079 1300
-00000a0: 0000 0078 1300 0000 0077 1300 0000 0076
-00000b0: 1300 0000 0075 1200 0000 0000 0000 0012
-00000c0: 0000 0000 0000 0000 9112 0000 0000 0000
-00000d0: 0000 8e12 0000 0000 0000 0000 8d12 0000
-00000e0: 0000 0000 0000 8c12 0000 0000 0000 0000
-00000f0: 8b12 0000 0000 0000 0000 8a12 0000 0000
-0000100: 0000 0000 89
+0000050: 0042 1000 4110 0040 0b11 0011 00b8 1100
+0000060: b911 0067 1100 6611 0065 1100 6411 0063
+0000070: 1100 6211 0061 1100 6011 005f 1100 5e11
+0000080: 005d 1100 5c11 005b 0b13 0000 0000 1300
+0000090: 0000 007d 1300 0000 007a 1300 0000 0079
+00000a0: 1300 0000 0078 1300 0000 0077 1300 0000
+00000b0: 0076 1300 0000 0075 0b12 0000 0000 0000
+00000c0: 0000 1200 0000 0000 0000 0091 1200 0000
+00000d0: 0000 0000 008e 1200 0000 0000 0000 008d
+00000e0: 1200 0000 0000 0000 008c 1200 0000 0000
+00000f0: 0000 008b 1200 0000 0000 0000 008a 1200
+0000100: 0000 0000 0000 0089 0b
;;; STDOUT ;;)
diff --git a/test/dump/block-257-exprs-br.txt b/test/dump/block-257-exprs-br.txt
index 5b191aea..0757fac6 100644
--- a/test/dump/block-257-exprs-br.txt
+++ b/test/dump/block-257-exprs-br.txt
@@ -48,7 +48,7 @@
)))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -75,262 +75,262 @@
0000025: 00 ; func body size (guess)
0000026: 00 ; local decl count
0000027: 01 ; OPCODE_BLOCK
-0000028: 00 ; OPCODE_NOP
-0000029: 00 ; OPCODE_NOP
-000002a: 00 ; OPCODE_NOP
-000002b: 00 ; OPCODE_NOP
-000002c: 00 ; OPCODE_NOP
-000002d: 00 ; OPCODE_NOP
-000002e: 00 ; OPCODE_NOP
-000002f: 00 ; OPCODE_NOP
-0000030: 00 ; OPCODE_NOP
-0000031: 00 ; OPCODE_NOP
-0000032: 00 ; OPCODE_NOP
-0000033: 00 ; OPCODE_NOP
-0000034: 00 ; OPCODE_NOP
-0000035: 00 ; OPCODE_NOP
-0000036: 00 ; OPCODE_NOP
-0000037: 00 ; OPCODE_NOP
-0000038: 00 ; OPCODE_NOP
-0000039: 00 ; OPCODE_NOP
-000003a: 00 ; OPCODE_NOP
-000003b: 00 ; OPCODE_NOP
-000003c: 00 ; OPCODE_NOP
-000003d: 00 ; OPCODE_NOP
-000003e: 00 ; OPCODE_NOP
-000003f: 00 ; OPCODE_NOP
-0000040: 00 ; OPCODE_NOP
-0000041: 00 ; OPCODE_NOP
-0000042: 00 ; OPCODE_NOP
-0000043: 00 ; OPCODE_NOP
-0000044: 00 ; OPCODE_NOP
-0000045: 00 ; OPCODE_NOP
-0000046: 00 ; OPCODE_NOP
-0000047: 00 ; OPCODE_NOP
-0000048: 00 ; OPCODE_NOP
-0000049: 00 ; OPCODE_NOP
-000004a: 00 ; OPCODE_NOP
-000004b: 00 ; OPCODE_NOP
-000004c: 00 ; OPCODE_NOP
-000004d: 00 ; OPCODE_NOP
-000004e: 00 ; OPCODE_NOP
-000004f: 00 ; OPCODE_NOP
-0000050: 00 ; OPCODE_NOP
-0000051: 00 ; OPCODE_NOP
-0000052: 00 ; OPCODE_NOP
-0000053: 00 ; OPCODE_NOP
-0000054: 00 ; OPCODE_NOP
-0000055: 00 ; OPCODE_NOP
-0000056: 00 ; OPCODE_NOP
-0000057: 00 ; OPCODE_NOP
-0000058: 00 ; OPCODE_NOP
-0000059: 00 ; OPCODE_NOP
-000005a: 00 ; OPCODE_NOP
-000005b: 00 ; OPCODE_NOP
-000005c: 00 ; OPCODE_NOP
-000005d: 00 ; OPCODE_NOP
-000005e: 00 ; OPCODE_NOP
-000005f: 00 ; OPCODE_NOP
-0000060: 00 ; OPCODE_NOP
-0000061: 00 ; OPCODE_NOP
-0000062: 00 ; OPCODE_NOP
-0000063: 00 ; OPCODE_NOP
-0000064: 00 ; OPCODE_NOP
-0000065: 00 ; OPCODE_NOP
-0000066: 00 ; OPCODE_NOP
-0000067: 00 ; OPCODE_NOP
-0000068: 00 ; OPCODE_NOP
-0000069: 00 ; OPCODE_NOP
-000006a: 00 ; OPCODE_NOP
-000006b: 00 ; OPCODE_NOP
-000006c: 00 ; OPCODE_NOP
-000006d: 00 ; OPCODE_NOP
-000006e: 00 ; OPCODE_NOP
-000006f: 00 ; OPCODE_NOP
-0000070: 00 ; OPCODE_NOP
-0000071: 00 ; OPCODE_NOP
-0000072: 00 ; OPCODE_NOP
-0000073: 00 ; OPCODE_NOP
-0000074: 00 ; OPCODE_NOP
-0000075: 00 ; OPCODE_NOP
-0000076: 00 ; OPCODE_NOP
-0000077: 00 ; OPCODE_NOP
-0000078: 00 ; OPCODE_NOP
-0000079: 00 ; OPCODE_NOP
-000007a: 00 ; OPCODE_NOP
-000007b: 00 ; OPCODE_NOP
-000007c: 00 ; OPCODE_NOP
-000007d: 00 ; OPCODE_NOP
-000007e: 00 ; OPCODE_NOP
-000007f: 00 ; OPCODE_NOP
-0000080: 00 ; OPCODE_NOP
-0000081: 00 ; OPCODE_NOP
-0000082: 00 ; OPCODE_NOP
-0000083: 00 ; OPCODE_NOP
-0000084: 00 ; OPCODE_NOP
-0000085: 00 ; OPCODE_NOP
-0000086: 00 ; OPCODE_NOP
-0000087: 00 ; OPCODE_NOP
-0000088: 00 ; OPCODE_NOP
-0000089: 00 ; OPCODE_NOP
-000008a: 00 ; OPCODE_NOP
-000008b: 00 ; OPCODE_NOP
-000008c: 00 ; OPCODE_NOP
-000008d: 00 ; OPCODE_NOP
-000008e: 00 ; OPCODE_NOP
-000008f: 00 ; OPCODE_NOP
-0000090: 00 ; OPCODE_NOP
-0000091: 00 ; OPCODE_NOP
-0000092: 00 ; OPCODE_NOP
-0000093: 00 ; OPCODE_NOP
-0000094: 00 ; OPCODE_NOP
-0000095: 00 ; OPCODE_NOP
-0000096: 00 ; OPCODE_NOP
-0000097: 00 ; OPCODE_NOP
-0000098: 00 ; OPCODE_NOP
-0000099: 00 ; OPCODE_NOP
-000009a: 00 ; OPCODE_NOP
-000009b: 00 ; OPCODE_NOP
-000009c: 00 ; OPCODE_NOP
-000009d: 00 ; OPCODE_NOP
-000009e: 00 ; OPCODE_NOP
-000009f: 00 ; OPCODE_NOP
-00000a0: 00 ; OPCODE_NOP
-00000a1: 00 ; OPCODE_NOP
-00000a2: 00 ; OPCODE_NOP
-00000a3: 00 ; OPCODE_NOP
-00000a4: 00 ; OPCODE_NOP
-00000a5: 00 ; OPCODE_NOP
-00000a6: 00 ; OPCODE_NOP
-00000a7: 00 ; OPCODE_NOP
-00000a8: 00 ; OPCODE_NOP
-00000a9: 00 ; OPCODE_NOP
-00000aa: 00 ; OPCODE_NOP
-00000ab: 00 ; OPCODE_NOP
-00000ac: 00 ; OPCODE_NOP
-00000ad: 00 ; OPCODE_NOP
-00000ae: 00 ; OPCODE_NOP
-00000af: 00 ; OPCODE_NOP
-00000b0: 00 ; OPCODE_NOP
-00000b1: 00 ; OPCODE_NOP
-00000b2: 00 ; OPCODE_NOP
-00000b3: 00 ; OPCODE_NOP
-00000b4: 00 ; OPCODE_NOP
-00000b5: 00 ; OPCODE_NOP
-00000b6: 00 ; OPCODE_NOP
-00000b7: 00 ; OPCODE_NOP
-00000b8: 00 ; OPCODE_NOP
-00000b9: 00 ; OPCODE_NOP
-00000ba: 00 ; OPCODE_NOP
-00000bb: 00 ; OPCODE_NOP
-00000bc: 00 ; OPCODE_NOP
-00000bd: 00 ; OPCODE_NOP
-00000be: 00 ; OPCODE_NOP
-00000bf: 00 ; OPCODE_NOP
-00000c0: 00 ; OPCODE_NOP
-00000c1: 00 ; OPCODE_NOP
-00000c2: 00 ; OPCODE_NOP
-00000c3: 00 ; OPCODE_NOP
-00000c4: 00 ; OPCODE_NOP
-00000c5: 00 ; OPCODE_NOP
-00000c6: 00 ; OPCODE_NOP
-00000c7: 00 ; OPCODE_NOP
-00000c8: 00 ; OPCODE_NOP
-00000c9: 00 ; OPCODE_NOP
-00000ca: 00 ; OPCODE_NOP
-00000cb: 00 ; OPCODE_NOP
-00000cc: 00 ; OPCODE_NOP
-00000cd: 00 ; OPCODE_NOP
-00000ce: 00 ; OPCODE_NOP
-00000cf: 00 ; OPCODE_NOP
-00000d0: 00 ; OPCODE_NOP
-00000d1: 00 ; OPCODE_NOP
-00000d2: 00 ; OPCODE_NOP
-00000d3: 00 ; OPCODE_NOP
-00000d4: 00 ; OPCODE_NOP
-00000d5: 00 ; OPCODE_NOP
-00000d6: 00 ; OPCODE_NOP
-00000d7: 00 ; OPCODE_NOP
-00000d8: 00 ; OPCODE_NOP
-00000d9: 00 ; OPCODE_NOP
-00000da: 00 ; OPCODE_NOP
-00000db: 00 ; OPCODE_NOP
-00000dc: 00 ; OPCODE_NOP
-00000dd: 00 ; OPCODE_NOP
-00000de: 00 ; OPCODE_NOP
-00000df: 00 ; OPCODE_NOP
-00000e0: 00 ; OPCODE_NOP
-00000e1: 00 ; OPCODE_NOP
-00000e2: 00 ; OPCODE_NOP
-00000e3: 00 ; OPCODE_NOP
-00000e4: 00 ; OPCODE_NOP
-00000e5: 00 ; OPCODE_NOP
-00000e6: 00 ; OPCODE_NOP
-00000e7: 00 ; OPCODE_NOP
-00000e8: 00 ; OPCODE_NOP
-00000e9: 00 ; OPCODE_NOP
-00000ea: 00 ; OPCODE_NOP
-00000eb: 00 ; OPCODE_NOP
-00000ec: 00 ; OPCODE_NOP
-00000ed: 00 ; OPCODE_NOP
-00000ee: 00 ; OPCODE_NOP
-00000ef: 00 ; OPCODE_NOP
-00000f0: 00 ; OPCODE_NOP
-00000f1: 00 ; OPCODE_NOP
-00000f2: 00 ; OPCODE_NOP
-00000f3: 00 ; OPCODE_NOP
-00000f4: 00 ; OPCODE_NOP
-00000f5: 00 ; OPCODE_NOP
-00000f6: 00 ; OPCODE_NOP
-00000f7: 00 ; OPCODE_NOP
-00000f8: 00 ; OPCODE_NOP
-00000f9: 00 ; OPCODE_NOP
-00000fa: 00 ; OPCODE_NOP
-00000fb: 00 ; OPCODE_NOP
-00000fc: 00 ; OPCODE_NOP
-00000fd: 00 ; OPCODE_NOP
-00000fe: 00 ; OPCODE_NOP
-00000ff: 00 ; OPCODE_NOP
-0000100: 00 ; OPCODE_NOP
-0000101: 00 ; OPCODE_NOP
-0000102: 00 ; OPCODE_NOP
-0000103: 00 ; OPCODE_NOP
-0000104: 00 ; OPCODE_NOP
-0000105: 00 ; OPCODE_NOP
-0000106: 00 ; OPCODE_NOP
-0000107: 00 ; OPCODE_NOP
-0000108: 00 ; OPCODE_NOP
-0000109: 00 ; OPCODE_NOP
-000010a: 00 ; OPCODE_NOP
-000010b: 00 ; OPCODE_NOP
-000010c: 00 ; OPCODE_NOP
-000010d: 00 ; OPCODE_NOP
-000010e: 00 ; OPCODE_NOP
-000010f: 00 ; OPCODE_NOP
-0000110: 00 ; OPCODE_NOP
-0000111: 00 ; OPCODE_NOP
-0000112: 00 ; OPCODE_NOP
-0000113: 00 ; OPCODE_NOP
-0000114: 00 ; OPCODE_NOP
-0000115: 00 ; OPCODE_NOP
-0000116: 00 ; OPCODE_NOP
-0000117: 00 ; OPCODE_NOP
-0000118: 00 ; OPCODE_NOP
-0000119: 00 ; OPCODE_NOP
-000011a: 00 ; OPCODE_NOP
-000011b: 00 ; OPCODE_NOP
-000011c: 00 ; OPCODE_NOP
-000011d: 00 ; OPCODE_NOP
-000011e: 00 ; OPCODE_NOP
-000011f: 00 ; OPCODE_NOP
-0000120: 00 ; OPCODE_NOP
-0000121: 00 ; OPCODE_NOP
-0000122: 00 ; OPCODE_NOP
-0000123: 00 ; OPCODE_NOP
-0000124: 00 ; OPCODE_NOP
-0000125: 00 ; OPCODE_NOP
-0000126: 00 ; OPCODE_NOP
-0000127: 00 ; OPCODE_NOP
+0000028: 0a ; OPCODE_NOP
+0000029: 0a ; OPCODE_NOP
+000002a: 0a ; OPCODE_NOP
+000002b: 0a ; OPCODE_NOP
+000002c: 0a ; OPCODE_NOP
+000002d: 0a ; OPCODE_NOP
+000002e: 0a ; OPCODE_NOP
+000002f: 0a ; OPCODE_NOP
+0000030: 0a ; OPCODE_NOP
+0000031: 0a ; OPCODE_NOP
+0000032: 0a ; OPCODE_NOP
+0000033: 0a ; OPCODE_NOP
+0000034: 0a ; OPCODE_NOP
+0000035: 0a ; OPCODE_NOP
+0000036: 0a ; OPCODE_NOP
+0000037: 0a ; OPCODE_NOP
+0000038: 0a ; OPCODE_NOP
+0000039: 0a ; OPCODE_NOP
+000003a: 0a ; OPCODE_NOP
+000003b: 0a ; OPCODE_NOP
+000003c: 0a ; OPCODE_NOP
+000003d: 0a ; OPCODE_NOP
+000003e: 0a ; OPCODE_NOP
+000003f: 0a ; OPCODE_NOP
+0000040: 0a ; OPCODE_NOP
+0000041: 0a ; OPCODE_NOP
+0000042: 0a ; OPCODE_NOP
+0000043: 0a ; OPCODE_NOP
+0000044: 0a ; OPCODE_NOP
+0000045: 0a ; OPCODE_NOP
+0000046: 0a ; OPCODE_NOP
+0000047: 0a ; OPCODE_NOP
+0000048: 0a ; OPCODE_NOP
+0000049: 0a ; OPCODE_NOP
+000004a: 0a ; OPCODE_NOP
+000004b: 0a ; OPCODE_NOP
+000004c: 0a ; OPCODE_NOP
+000004d: 0a ; OPCODE_NOP
+000004e: 0a ; OPCODE_NOP
+000004f: 0a ; OPCODE_NOP
+0000050: 0a ; OPCODE_NOP
+0000051: 0a ; OPCODE_NOP
+0000052: 0a ; OPCODE_NOP
+0000053: 0a ; OPCODE_NOP
+0000054: 0a ; OPCODE_NOP
+0000055: 0a ; OPCODE_NOP
+0000056: 0a ; OPCODE_NOP
+0000057: 0a ; OPCODE_NOP
+0000058: 0a ; OPCODE_NOP
+0000059: 0a ; OPCODE_NOP
+000005a: 0a ; OPCODE_NOP
+000005b: 0a ; OPCODE_NOP
+000005c: 0a ; OPCODE_NOP
+000005d: 0a ; OPCODE_NOP
+000005e: 0a ; OPCODE_NOP
+000005f: 0a ; OPCODE_NOP
+0000060: 0a ; OPCODE_NOP
+0000061: 0a ; OPCODE_NOP
+0000062: 0a ; OPCODE_NOP
+0000063: 0a ; OPCODE_NOP
+0000064: 0a ; OPCODE_NOP
+0000065: 0a ; OPCODE_NOP
+0000066: 0a ; OPCODE_NOP
+0000067: 0a ; OPCODE_NOP
+0000068: 0a ; OPCODE_NOP
+0000069: 0a ; OPCODE_NOP
+000006a: 0a ; OPCODE_NOP
+000006b: 0a ; OPCODE_NOP
+000006c: 0a ; OPCODE_NOP
+000006d: 0a ; OPCODE_NOP
+000006e: 0a ; OPCODE_NOP
+000006f: 0a ; OPCODE_NOP
+0000070: 0a ; OPCODE_NOP
+0000071: 0a ; OPCODE_NOP
+0000072: 0a ; OPCODE_NOP
+0000073: 0a ; OPCODE_NOP
+0000074: 0a ; OPCODE_NOP
+0000075: 0a ; OPCODE_NOP
+0000076: 0a ; OPCODE_NOP
+0000077: 0a ; OPCODE_NOP
+0000078: 0a ; OPCODE_NOP
+0000079: 0a ; OPCODE_NOP
+000007a: 0a ; OPCODE_NOP
+000007b: 0a ; OPCODE_NOP
+000007c: 0a ; OPCODE_NOP
+000007d: 0a ; OPCODE_NOP
+000007e: 0a ; OPCODE_NOP
+000007f: 0a ; OPCODE_NOP
+0000080: 0a ; OPCODE_NOP
+0000081: 0a ; OPCODE_NOP
+0000082: 0a ; OPCODE_NOP
+0000083: 0a ; OPCODE_NOP
+0000084: 0a ; OPCODE_NOP
+0000085: 0a ; OPCODE_NOP
+0000086: 0a ; OPCODE_NOP
+0000087: 0a ; OPCODE_NOP
+0000088: 0a ; OPCODE_NOP
+0000089: 0a ; OPCODE_NOP
+000008a: 0a ; OPCODE_NOP
+000008b: 0a ; OPCODE_NOP
+000008c: 0a ; OPCODE_NOP
+000008d: 0a ; OPCODE_NOP
+000008e: 0a ; OPCODE_NOP
+000008f: 0a ; OPCODE_NOP
+0000090: 0a ; OPCODE_NOP
+0000091: 0a ; OPCODE_NOP
+0000092: 0a ; OPCODE_NOP
+0000093: 0a ; OPCODE_NOP
+0000094: 0a ; OPCODE_NOP
+0000095: 0a ; OPCODE_NOP
+0000096: 0a ; OPCODE_NOP
+0000097: 0a ; OPCODE_NOP
+0000098: 0a ; OPCODE_NOP
+0000099: 0a ; OPCODE_NOP
+000009a: 0a ; OPCODE_NOP
+000009b: 0a ; OPCODE_NOP
+000009c: 0a ; OPCODE_NOP
+000009d: 0a ; OPCODE_NOP
+000009e: 0a ; OPCODE_NOP
+000009f: 0a ; OPCODE_NOP
+00000a0: 0a ; OPCODE_NOP
+00000a1: 0a ; OPCODE_NOP
+00000a2: 0a ; OPCODE_NOP
+00000a3: 0a ; OPCODE_NOP
+00000a4: 0a ; OPCODE_NOP
+00000a5: 0a ; OPCODE_NOP
+00000a6: 0a ; OPCODE_NOP
+00000a7: 0a ; OPCODE_NOP
+00000a8: 0a ; OPCODE_NOP
+00000a9: 0a ; OPCODE_NOP
+00000aa: 0a ; OPCODE_NOP
+00000ab: 0a ; OPCODE_NOP
+00000ac: 0a ; OPCODE_NOP
+00000ad: 0a ; OPCODE_NOP
+00000ae: 0a ; OPCODE_NOP
+00000af: 0a ; OPCODE_NOP
+00000b0: 0a ; OPCODE_NOP
+00000b1: 0a ; OPCODE_NOP
+00000b2: 0a ; OPCODE_NOP
+00000b3: 0a ; OPCODE_NOP
+00000b4: 0a ; OPCODE_NOP
+00000b5: 0a ; OPCODE_NOP
+00000b6: 0a ; OPCODE_NOP
+00000b7: 0a ; OPCODE_NOP
+00000b8: 0a ; OPCODE_NOP
+00000b9: 0a ; OPCODE_NOP
+00000ba: 0a ; OPCODE_NOP
+00000bb: 0a ; OPCODE_NOP
+00000bc: 0a ; OPCODE_NOP
+00000bd: 0a ; OPCODE_NOP
+00000be: 0a ; OPCODE_NOP
+00000bf: 0a ; OPCODE_NOP
+00000c0: 0a ; OPCODE_NOP
+00000c1: 0a ; OPCODE_NOP
+00000c2: 0a ; OPCODE_NOP
+00000c3: 0a ; OPCODE_NOP
+00000c4: 0a ; OPCODE_NOP
+00000c5: 0a ; OPCODE_NOP
+00000c6: 0a ; OPCODE_NOP
+00000c7: 0a ; OPCODE_NOP
+00000c8: 0a ; OPCODE_NOP
+00000c9: 0a ; OPCODE_NOP
+00000ca: 0a ; OPCODE_NOP
+00000cb: 0a ; OPCODE_NOP
+00000cc: 0a ; OPCODE_NOP
+00000cd: 0a ; OPCODE_NOP
+00000ce: 0a ; OPCODE_NOP
+00000cf: 0a ; OPCODE_NOP
+00000d0: 0a ; OPCODE_NOP
+00000d1: 0a ; OPCODE_NOP
+00000d2: 0a ; OPCODE_NOP
+00000d3: 0a ; OPCODE_NOP
+00000d4: 0a ; OPCODE_NOP
+00000d5: 0a ; OPCODE_NOP
+00000d6: 0a ; OPCODE_NOP
+00000d7: 0a ; OPCODE_NOP
+00000d8: 0a ; OPCODE_NOP
+00000d9: 0a ; OPCODE_NOP
+00000da: 0a ; OPCODE_NOP
+00000db: 0a ; OPCODE_NOP
+00000dc: 0a ; OPCODE_NOP
+00000dd: 0a ; OPCODE_NOP
+00000de: 0a ; OPCODE_NOP
+00000df: 0a ; OPCODE_NOP
+00000e0: 0a ; OPCODE_NOP
+00000e1: 0a ; OPCODE_NOP
+00000e2: 0a ; OPCODE_NOP
+00000e3: 0a ; OPCODE_NOP
+00000e4: 0a ; OPCODE_NOP
+00000e5: 0a ; OPCODE_NOP
+00000e6: 0a ; OPCODE_NOP
+00000e7: 0a ; OPCODE_NOP
+00000e8: 0a ; OPCODE_NOP
+00000e9: 0a ; OPCODE_NOP
+00000ea: 0a ; OPCODE_NOP
+00000eb: 0a ; OPCODE_NOP
+00000ec: 0a ; OPCODE_NOP
+00000ed: 0a ; OPCODE_NOP
+00000ee: 0a ; OPCODE_NOP
+00000ef: 0a ; OPCODE_NOP
+00000f0: 0a ; OPCODE_NOP
+00000f1: 0a ; OPCODE_NOP
+00000f2: 0a ; OPCODE_NOP
+00000f3: 0a ; OPCODE_NOP
+00000f4: 0a ; OPCODE_NOP
+00000f5: 0a ; OPCODE_NOP
+00000f6: 0a ; OPCODE_NOP
+00000f7: 0a ; OPCODE_NOP
+00000f8: 0a ; OPCODE_NOP
+00000f9: 0a ; OPCODE_NOP
+00000fa: 0a ; OPCODE_NOP
+00000fb: 0a ; OPCODE_NOP
+00000fc: 0a ; OPCODE_NOP
+00000fd: 0a ; OPCODE_NOP
+00000fe: 0a ; OPCODE_NOP
+00000ff: 0a ; OPCODE_NOP
+0000100: 0a ; OPCODE_NOP
+0000101: 0a ; OPCODE_NOP
+0000102: 0a ; OPCODE_NOP
+0000103: 0a ; OPCODE_NOP
+0000104: 0a ; OPCODE_NOP
+0000105: 0a ; OPCODE_NOP
+0000106: 0a ; OPCODE_NOP
+0000107: 0a ; OPCODE_NOP
+0000108: 0a ; OPCODE_NOP
+0000109: 0a ; OPCODE_NOP
+000010a: 0a ; OPCODE_NOP
+000010b: 0a ; OPCODE_NOP
+000010c: 0a ; OPCODE_NOP
+000010d: 0a ; OPCODE_NOP
+000010e: 0a ; OPCODE_NOP
+000010f: 0a ; OPCODE_NOP
+0000110: 0a ; OPCODE_NOP
+0000111: 0a ; OPCODE_NOP
+0000112: 0a ; OPCODE_NOP
+0000113: 0a ; OPCODE_NOP
+0000114: 0a ; OPCODE_NOP
+0000115: 0a ; OPCODE_NOP
+0000116: 0a ; OPCODE_NOP
+0000117: 0a ; OPCODE_NOP
+0000118: 0a ; OPCODE_NOP
+0000119: 0a ; OPCODE_NOP
+000011a: 0a ; OPCODE_NOP
+000011b: 0a ; OPCODE_NOP
+000011c: 0a ; OPCODE_NOP
+000011d: 0a ; OPCODE_NOP
+000011e: 0a ; OPCODE_NOP
+000011f: 0a ; OPCODE_NOP
+0000120: 0a ; OPCODE_NOP
+0000121: 0a ; OPCODE_NOP
+0000122: 0a ; OPCODE_NOP
+0000123: 0a ; OPCODE_NOP
+0000124: 0a ; OPCODE_NOP
+0000125: 0a ; OPCODE_NOP
+0000126: 0a ; OPCODE_NOP
+0000127: 0a ; OPCODE_NOP
0000128: 06 ; OPCODE_BR
0000129: 00 ; br arity
000012a: 00 ; break depth
@@ -343,24 +343,24 @@
; move data: [24, 130) -> [25, 131)
0000023: 8c02 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 658c 0201 8902 0001 0000 0000 0000
-0000030: 0000 0000 0000 0000 0000 0000 0000 0000
-0000040: 0000 0000 0000 0000 0000 0000 0000 0000
-0000050: 0000 0000 0000 0000 0000 0000 0000 0000
-0000060: 0000 0000 0000 0000 0000 0000 0000 0000
-0000070: 0000 0000 0000 0000 0000 0000 0000 0000
-0000080: 0000 0000 0000 0000 0000 0000 0000 0000
-0000090: 0000 0000 0000 0000 0000 0000 0000 0000
-00000a0: 0000 0000 0000 0000 0000 0000 0000 0000
-00000b0: 0000 0000 0000 0000 0000 0000 0000 0000
-00000c0: 0000 0000 0000 0000 0000 0000 0000 0000
-00000d0: 0000 0000 0000 0000 0000 0000 0000 0000
-00000e0: 0000 0000 0000 0000 0000 0000 0000 0000
-00000f0: 0000 0000 0000 0000 0000 0000 0000 0000
-0000100: 0000 0000 0000 0000 0000 0000 0000 0000
-0000110: 0000 0000 0000 0000 0000 0000 0000 0000
-0000120: 0000 0000 0000 0000 0000 0600 0006 0000
+0000020: 6f64 658c 0201 8902 0001 0a0a 0a0a 0a0a
+0000030: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000040: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000050: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000060: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000070: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000080: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000090: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+00000a0: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+00000b0: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+00000c0: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+00000d0: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+00000e0: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+00000f0: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000100: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000110: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000120: 0a0a 0a0a 0a0a 0a0a 0a0a 0600 0006 0000
0000130: 0f
;;; STDOUT ;;)
diff --git a/test/dump/block-257-exprs.txt b/test/dump/block-257-exprs.txt
index 38e57053..78929d7e 100644
--- a/test/dump/block-257-exprs.txt
+++ b/test/dump/block-257-exprs.txt
@@ -46,7 +46,7 @@
(nop))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -73,286 +73,286 @@
0000025: 00 ; func body size (guess)
0000026: 00 ; local decl count
0000027: 01 ; OPCODE_BLOCK
-0000028: 00 ; OPCODE_NOP
-0000029: 00 ; OPCODE_NOP
-000002a: 00 ; OPCODE_NOP
-000002b: 00 ; OPCODE_NOP
-000002c: 00 ; OPCODE_NOP
-000002d: 00 ; OPCODE_NOP
-000002e: 00 ; OPCODE_NOP
-000002f: 00 ; OPCODE_NOP
-0000030: 00 ; OPCODE_NOP
-0000031: 00 ; OPCODE_NOP
-0000032: 00 ; OPCODE_NOP
-0000033: 00 ; OPCODE_NOP
-0000034: 00 ; OPCODE_NOP
-0000035: 00 ; OPCODE_NOP
-0000036: 00 ; OPCODE_NOP
-0000037: 00 ; OPCODE_NOP
-0000038: 00 ; OPCODE_NOP
-0000039: 00 ; OPCODE_NOP
-000003a: 00 ; OPCODE_NOP
-000003b: 00 ; OPCODE_NOP
-000003c: 00 ; OPCODE_NOP
-000003d: 00 ; OPCODE_NOP
-000003e: 00 ; OPCODE_NOP
-000003f: 00 ; OPCODE_NOP
-0000040: 00 ; OPCODE_NOP
-0000041: 00 ; OPCODE_NOP
-0000042: 00 ; OPCODE_NOP
-0000043: 00 ; OPCODE_NOP
-0000044: 00 ; OPCODE_NOP
-0000045: 00 ; OPCODE_NOP
-0000046: 00 ; OPCODE_NOP
-0000047: 00 ; OPCODE_NOP
-0000048: 00 ; OPCODE_NOP
-0000049: 00 ; OPCODE_NOP
-000004a: 00 ; OPCODE_NOP
-000004b: 00 ; OPCODE_NOP
-000004c: 00 ; OPCODE_NOP
-000004d: 00 ; OPCODE_NOP
-000004e: 00 ; OPCODE_NOP
-000004f: 00 ; OPCODE_NOP
-0000050: 00 ; OPCODE_NOP
-0000051: 00 ; OPCODE_NOP
-0000052: 00 ; OPCODE_NOP
-0000053: 00 ; OPCODE_NOP
-0000054: 00 ; OPCODE_NOP
-0000055: 00 ; OPCODE_NOP
-0000056: 00 ; OPCODE_NOP
-0000057: 00 ; OPCODE_NOP
-0000058: 00 ; OPCODE_NOP
-0000059: 00 ; OPCODE_NOP
-000005a: 00 ; OPCODE_NOP
-000005b: 00 ; OPCODE_NOP
-000005c: 00 ; OPCODE_NOP
-000005d: 00 ; OPCODE_NOP
-000005e: 00 ; OPCODE_NOP
-000005f: 00 ; OPCODE_NOP
-0000060: 00 ; OPCODE_NOP
-0000061: 00 ; OPCODE_NOP
-0000062: 00 ; OPCODE_NOP
-0000063: 00 ; OPCODE_NOP
-0000064: 00 ; OPCODE_NOP
-0000065: 00 ; OPCODE_NOP
-0000066: 00 ; OPCODE_NOP
-0000067: 00 ; OPCODE_NOP
-0000068: 00 ; OPCODE_NOP
-0000069: 00 ; OPCODE_NOP
-000006a: 00 ; OPCODE_NOP
-000006b: 00 ; OPCODE_NOP
-000006c: 00 ; OPCODE_NOP
-000006d: 00 ; OPCODE_NOP
-000006e: 00 ; OPCODE_NOP
-000006f: 00 ; OPCODE_NOP
-0000070: 00 ; OPCODE_NOP
-0000071: 00 ; OPCODE_NOP
-0000072: 00 ; OPCODE_NOP
-0000073: 00 ; OPCODE_NOP
-0000074: 00 ; OPCODE_NOP
-0000075: 00 ; OPCODE_NOP
-0000076: 00 ; OPCODE_NOP
-0000077: 00 ; OPCODE_NOP
-0000078: 00 ; OPCODE_NOP
-0000079: 00 ; OPCODE_NOP
-000007a: 00 ; OPCODE_NOP
-000007b: 00 ; OPCODE_NOP
-000007c: 00 ; OPCODE_NOP
-000007d: 00 ; OPCODE_NOP
-000007e: 00 ; OPCODE_NOP
-000007f: 00 ; OPCODE_NOP
-0000080: 00 ; OPCODE_NOP
-0000081: 00 ; OPCODE_NOP
-0000082: 00 ; OPCODE_NOP
-0000083: 00 ; OPCODE_NOP
-0000084: 00 ; OPCODE_NOP
-0000085: 00 ; OPCODE_NOP
-0000086: 00 ; OPCODE_NOP
-0000087: 00 ; OPCODE_NOP
-0000088: 00 ; OPCODE_NOP
-0000089: 00 ; OPCODE_NOP
-000008a: 00 ; OPCODE_NOP
-000008b: 00 ; OPCODE_NOP
-000008c: 00 ; OPCODE_NOP
-000008d: 00 ; OPCODE_NOP
-000008e: 00 ; OPCODE_NOP
-000008f: 00 ; OPCODE_NOP
-0000090: 00 ; OPCODE_NOP
-0000091: 00 ; OPCODE_NOP
-0000092: 00 ; OPCODE_NOP
-0000093: 00 ; OPCODE_NOP
-0000094: 00 ; OPCODE_NOP
-0000095: 00 ; OPCODE_NOP
-0000096: 00 ; OPCODE_NOP
-0000097: 00 ; OPCODE_NOP
-0000098: 00 ; OPCODE_NOP
-0000099: 00 ; OPCODE_NOP
-000009a: 00 ; OPCODE_NOP
-000009b: 00 ; OPCODE_NOP
-000009c: 00 ; OPCODE_NOP
-000009d: 00 ; OPCODE_NOP
-000009e: 00 ; OPCODE_NOP
-000009f: 00 ; OPCODE_NOP
-00000a0: 00 ; OPCODE_NOP
-00000a1: 00 ; OPCODE_NOP
-00000a2: 00 ; OPCODE_NOP
-00000a3: 00 ; OPCODE_NOP
-00000a4: 00 ; OPCODE_NOP
-00000a5: 00 ; OPCODE_NOP
-00000a6: 00 ; OPCODE_NOP
-00000a7: 00 ; OPCODE_NOP
-00000a8: 00 ; OPCODE_NOP
-00000a9: 00 ; OPCODE_NOP
-00000aa: 00 ; OPCODE_NOP
-00000ab: 00 ; OPCODE_NOP
-00000ac: 00 ; OPCODE_NOP
-00000ad: 00 ; OPCODE_NOP
-00000ae: 00 ; OPCODE_NOP
-00000af: 00 ; OPCODE_NOP
-00000b0: 00 ; OPCODE_NOP
-00000b1: 00 ; OPCODE_NOP
-00000b2: 00 ; OPCODE_NOP
-00000b3: 00 ; OPCODE_NOP
-00000b4: 00 ; OPCODE_NOP
-00000b5: 00 ; OPCODE_NOP
-00000b6: 00 ; OPCODE_NOP
-00000b7: 00 ; OPCODE_NOP
-00000b8: 00 ; OPCODE_NOP
-00000b9: 00 ; OPCODE_NOP
-00000ba: 00 ; OPCODE_NOP
-00000bb: 00 ; OPCODE_NOP
-00000bc: 00 ; OPCODE_NOP
-00000bd: 00 ; OPCODE_NOP
-00000be: 00 ; OPCODE_NOP
-00000bf: 00 ; OPCODE_NOP
-00000c0: 00 ; OPCODE_NOP
-00000c1: 00 ; OPCODE_NOP
-00000c2: 00 ; OPCODE_NOP
-00000c3: 00 ; OPCODE_NOP
-00000c4: 00 ; OPCODE_NOP
-00000c5: 00 ; OPCODE_NOP
-00000c6: 00 ; OPCODE_NOP
-00000c7: 00 ; OPCODE_NOP
-00000c8: 00 ; OPCODE_NOP
-00000c9: 00 ; OPCODE_NOP
-00000ca: 00 ; OPCODE_NOP
-00000cb: 00 ; OPCODE_NOP
-00000cc: 00 ; OPCODE_NOP
-00000cd: 00 ; OPCODE_NOP
-00000ce: 00 ; OPCODE_NOP
-00000cf: 00 ; OPCODE_NOP
-00000d0: 00 ; OPCODE_NOP
-00000d1: 00 ; OPCODE_NOP
-00000d2: 00 ; OPCODE_NOP
-00000d3: 00 ; OPCODE_NOP
-00000d4: 00 ; OPCODE_NOP
-00000d5: 00 ; OPCODE_NOP
-00000d6: 00 ; OPCODE_NOP
-00000d7: 00 ; OPCODE_NOP
-00000d8: 00 ; OPCODE_NOP
-00000d9: 00 ; OPCODE_NOP
-00000da: 00 ; OPCODE_NOP
-00000db: 00 ; OPCODE_NOP
-00000dc: 00 ; OPCODE_NOP
-00000dd: 00 ; OPCODE_NOP
-00000de: 00 ; OPCODE_NOP
-00000df: 00 ; OPCODE_NOP
-00000e0: 00 ; OPCODE_NOP
-00000e1: 00 ; OPCODE_NOP
-00000e2: 00 ; OPCODE_NOP
-00000e3: 00 ; OPCODE_NOP
-00000e4: 00 ; OPCODE_NOP
-00000e5: 00 ; OPCODE_NOP
-00000e6: 00 ; OPCODE_NOP
-00000e7: 00 ; OPCODE_NOP
-00000e8: 00 ; OPCODE_NOP
-00000e9: 00 ; OPCODE_NOP
-00000ea: 00 ; OPCODE_NOP
-00000eb: 00 ; OPCODE_NOP
-00000ec: 00 ; OPCODE_NOP
-00000ed: 00 ; OPCODE_NOP
-00000ee: 00 ; OPCODE_NOP
-00000ef: 00 ; OPCODE_NOP
-00000f0: 00 ; OPCODE_NOP
-00000f1: 00 ; OPCODE_NOP
-00000f2: 00 ; OPCODE_NOP
-00000f3: 00 ; OPCODE_NOP
-00000f4: 00 ; OPCODE_NOP
-00000f5: 00 ; OPCODE_NOP
-00000f6: 00 ; OPCODE_NOP
-00000f7: 00 ; OPCODE_NOP
-00000f8: 00 ; OPCODE_NOP
-00000f9: 00 ; OPCODE_NOP
-00000fa: 00 ; OPCODE_NOP
-00000fb: 00 ; OPCODE_NOP
-00000fc: 00 ; OPCODE_NOP
-00000fd: 00 ; OPCODE_NOP
-00000fe: 00 ; OPCODE_NOP
-00000ff: 00 ; OPCODE_NOP
-0000100: 00 ; OPCODE_NOP
-0000101: 00 ; OPCODE_NOP
-0000102: 00 ; OPCODE_NOP
-0000103: 00 ; OPCODE_NOP
-0000104: 00 ; OPCODE_NOP
-0000105: 00 ; OPCODE_NOP
-0000106: 00 ; OPCODE_NOP
-0000107: 00 ; OPCODE_NOP
-0000108: 00 ; OPCODE_NOP
-0000109: 00 ; OPCODE_NOP
-000010a: 00 ; OPCODE_NOP
-000010b: 00 ; OPCODE_NOP
-000010c: 00 ; OPCODE_NOP
-000010d: 00 ; OPCODE_NOP
-000010e: 00 ; OPCODE_NOP
-000010f: 00 ; OPCODE_NOP
-0000110: 00 ; OPCODE_NOP
-0000111: 00 ; OPCODE_NOP
-0000112: 00 ; OPCODE_NOP
-0000113: 00 ; OPCODE_NOP
-0000114: 00 ; OPCODE_NOP
-0000115: 00 ; OPCODE_NOP
-0000116: 00 ; OPCODE_NOP
-0000117: 00 ; OPCODE_NOP
-0000118: 00 ; OPCODE_NOP
-0000119: 00 ; OPCODE_NOP
-000011a: 00 ; OPCODE_NOP
-000011b: 00 ; OPCODE_NOP
-000011c: 00 ; OPCODE_NOP
-000011d: 00 ; OPCODE_NOP
-000011e: 00 ; OPCODE_NOP
-000011f: 00 ; OPCODE_NOP
-0000120: 00 ; OPCODE_NOP
-0000121: 00 ; OPCODE_NOP
-0000122: 00 ; OPCODE_NOP
-0000123: 00 ; OPCODE_NOP
-0000124: 00 ; OPCODE_NOP
-0000125: 00 ; OPCODE_NOP
-0000126: 00 ; OPCODE_NOP
-0000127: 00 ; OPCODE_NOP
-0000128: 00 ; OPCODE_NOP
+0000028: 0a ; OPCODE_NOP
+0000029: 0a ; OPCODE_NOP
+000002a: 0a ; OPCODE_NOP
+000002b: 0a ; OPCODE_NOP
+000002c: 0a ; OPCODE_NOP
+000002d: 0a ; OPCODE_NOP
+000002e: 0a ; OPCODE_NOP
+000002f: 0a ; OPCODE_NOP
+0000030: 0a ; OPCODE_NOP
+0000031: 0a ; OPCODE_NOP
+0000032: 0a ; OPCODE_NOP
+0000033: 0a ; OPCODE_NOP
+0000034: 0a ; OPCODE_NOP
+0000035: 0a ; OPCODE_NOP
+0000036: 0a ; OPCODE_NOP
+0000037: 0a ; OPCODE_NOP
+0000038: 0a ; OPCODE_NOP
+0000039: 0a ; OPCODE_NOP
+000003a: 0a ; OPCODE_NOP
+000003b: 0a ; OPCODE_NOP
+000003c: 0a ; OPCODE_NOP
+000003d: 0a ; OPCODE_NOP
+000003e: 0a ; OPCODE_NOP
+000003f: 0a ; OPCODE_NOP
+0000040: 0a ; OPCODE_NOP
+0000041: 0a ; OPCODE_NOP
+0000042: 0a ; OPCODE_NOP
+0000043: 0a ; OPCODE_NOP
+0000044: 0a ; OPCODE_NOP
+0000045: 0a ; OPCODE_NOP
+0000046: 0a ; OPCODE_NOP
+0000047: 0a ; OPCODE_NOP
+0000048: 0a ; OPCODE_NOP
+0000049: 0a ; OPCODE_NOP
+000004a: 0a ; OPCODE_NOP
+000004b: 0a ; OPCODE_NOP
+000004c: 0a ; OPCODE_NOP
+000004d: 0a ; OPCODE_NOP
+000004e: 0a ; OPCODE_NOP
+000004f: 0a ; OPCODE_NOP
+0000050: 0a ; OPCODE_NOP
+0000051: 0a ; OPCODE_NOP
+0000052: 0a ; OPCODE_NOP
+0000053: 0a ; OPCODE_NOP
+0000054: 0a ; OPCODE_NOP
+0000055: 0a ; OPCODE_NOP
+0000056: 0a ; OPCODE_NOP
+0000057: 0a ; OPCODE_NOP
+0000058: 0a ; OPCODE_NOP
+0000059: 0a ; OPCODE_NOP
+000005a: 0a ; OPCODE_NOP
+000005b: 0a ; OPCODE_NOP
+000005c: 0a ; OPCODE_NOP
+000005d: 0a ; OPCODE_NOP
+000005e: 0a ; OPCODE_NOP
+000005f: 0a ; OPCODE_NOP
+0000060: 0a ; OPCODE_NOP
+0000061: 0a ; OPCODE_NOP
+0000062: 0a ; OPCODE_NOP
+0000063: 0a ; OPCODE_NOP
+0000064: 0a ; OPCODE_NOP
+0000065: 0a ; OPCODE_NOP
+0000066: 0a ; OPCODE_NOP
+0000067: 0a ; OPCODE_NOP
+0000068: 0a ; OPCODE_NOP
+0000069: 0a ; OPCODE_NOP
+000006a: 0a ; OPCODE_NOP
+000006b: 0a ; OPCODE_NOP
+000006c: 0a ; OPCODE_NOP
+000006d: 0a ; OPCODE_NOP
+000006e: 0a ; OPCODE_NOP
+000006f: 0a ; OPCODE_NOP
+0000070: 0a ; OPCODE_NOP
+0000071: 0a ; OPCODE_NOP
+0000072: 0a ; OPCODE_NOP
+0000073: 0a ; OPCODE_NOP
+0000074: 0a ; OPCODE_NOP
+0000075: 0a ; OPCODE_NOP
+0000076: 0a ; OPCODE_NOP
+0000077: 0a ; OPCODE_NOP
+0000078: 0a ; OPCODE_NOP
+0000079: 0a ; OPCODE_NOP
+000007a: 0a ; OPCODE_NOP
+000007b: 0a ; OPCODE_NOP
+000007c: 0a ; OPCODE_NOP
+000007d: 0a ; OPCODE_NOP
+000007e: 0a ; OPCODE_NOP
+000007f: 0a ; OPCODE_NOP
+0000080: 0a ; OPCODE_NOP
+0000081: 0a ; OPCODE_NOP
+0000082: 0a ; OPCODE_NOP
+0000083: 0a ; OPCODE_NOP
+0000084: 0a ; OPCODE_NOP
+0000085: 0a ; OPCODE_NOP
+0000086: 0a ; OPCODE_NOP
+0000087: 0a ; OPCODE_NOP
+0000088: 0a ; OPCODE_NOP
+0000089: 0a ; OPCODE_NOP
+000008a: 0a ; OPCODE_NOP
+000008b: 0a ; OPCODE_NOP
+000008c: 0a ; OPCODE_NOP
+000008d: 0a ; OPCODE_NOP
+000008e: 0a ; OPCODE_NOP
+000008f: 0a ; OPCODE_NOP
+0000090: 0a ; OPCODE_NOP
+0000091: 0a ; OPCODE_NOP
+0000092: 0a ; OPCODE_NOP
+0000093: 0a ; OPCODE_NOP
+0000094: 0a ; OPCODE_NOP
+0000095: 0a ; OPCODE_NOP
+0000096: 0a ; OPCODE_NOP
+0000097: 0a ; OPCODE_NOP
+0000098: 0a ; OPCODE_NOP
+0000099: 0a ; OPCODE_NOP
+000009a: 0a ; OPCODE_NOP
+000009b: 0a ; OPCODE_NOP
+000009c: 0a ; OPCODE_NOP
+000009d: 0a ; OPCODE_NOP
+000009e: 0a ; OPCODE_NOP
+000009f: 0a ; OPCODE_NOP
+00000a0: 0a ; OPCODE_NOP
+00000a1: 0a ; OPCODE_NOP
+00000a2: 0a ; OPCODE_NOP
+00000a3: 0a ; OPCODE_NOP
+00000a4: 0a ; OPCODE_NOP
+00000a5: 0a ; OPCODE_NOP
+00000a6: 0a ; OPCODE_NOP
+00000a7: 0a ; OPCODE_NOP
+00000a8: 0a ; OPCODE_NOP
+00000a9: 0a ; OPCODE_NOP
+00000aa: 0a ; OPCODE_NOP
+00000ab: 0a ; OPCODE_NOP
+00000ac: 0a ; OPCODE_NOP
+00000ad: 0a ; OPCODE_NOP
+00000ae: 0a ; OPCODE_NOP
+00000af: 0a ; OPCODE_NOP
+00000b0: 0a ; OPCODE_NOP
+00000b1: 0a ; OPCODE_NOP
+00000b2: 0a ; OPCODE_NOP
+00000b3: 0a ; OPCODE_NOP
+00000b4: 0a ; OPCODE_NOP
+00000b5: 0a ; OPCODE_NOP
+00000b6: 0a ; OPCODE_NOP
+00000b7: 0a ; OPCODE_NOP
+00000b8: 0a ; OPCODE_NOP
+00000b9: 0a ; OPCODE_NOP
+00000ba: 0a ; OPCODE_NOP
+00000bb: 0a ; OPCODE_NOP
+00000bc: 0a ; OPCODE_NOP
+00000bd: 0a ; OPCODE_NOP
+00000be: 0a ; OPCODE_NOP
+00000bf: 0a ; OPCODE_NOP
+00000c0: 0a ; OPCODE_NOP
+00000c1: 0a ; OPCODE_NOP
+00000c2: 0a ; OPCODE_NOP
+00000c3: 0a ; OPCODE_NOP
+00000c4: 0a ; OPCODE_NOP
+00000c5: 0a ; OPCODE_NOP
+00000c6: 0a ; OPCODE_NOP
+00000c7: 0a ; OPCODE_NOP
+00000c8: 0a ; OPCODE_NOP
+00000c9: 0a ; OPCODE_NOP
+00000ca: 0a ; OPCODE_NOP
+00000cb: 0a ; OPCODE_NOP
+00000cc: 0a ; OPCODE_NOP
+00000cd: 0a ; OPCODE_NOP
+00000ce: 0a ; OPCODE_NOP
+00000cf: 0a ; OPCODE_NOP
+00000d0: 0a ; OPCODE_NOP
+00000d1: 0a ; OPCODE_NOP
+00000d2: 0a ; OPCODE_NOP
+00000d3: 0a ; OPCODE_NOP
+00000d4: 0a ; OPCODE_NOP
+00000d5: 0a ; OPCODE_NOP
+00000d6: 0a ; OPCODE_NOP
+00000d7: 0a ; OPCODE_NOP
+00000d8: 0a ; OPCODE_NOP
+00000d9: 0a ; OPCODE_NOP
+00000da: 0a ; OPCODE_NOP
+00000db: 0a ; OPCODE_NOP
+00000dc: 0a ; OPCODE_NOP
+00000dd: 0a ; OPCODE_NOP
+00000de: 0a ; OPCODE_NOP
+00000df: 0a ; OPCODE_NOP
+00000e0: 0a ; OPCODE_NOP
+00000e1: 0a ; OPCODE_NOP
+00000e2: 0a ; OPCODE_NOP
+00000e3: 0a ; OPCODE_NOP
+00000e4: 0a ; OPCODE_NOP
+00000e5: 0a ; OPCODE_NOP
+00000e6: 0a ; OPCODE_NOP
+00000e7: 0a ; OPCODE_NOP
+00000e8: 0a ; OPCODE_NOP
+00000e9: 0a ; OPCODE_NOP
+00000ea: 0a ; OPCODE_NOP
+00000eb: 0a ; OPCODE_NOP
+00000ec: 0a ; OPCODE_NOP
+00000ed: 0a ; OPCODE_NOP
+00000ee: 0a ; OPCODE_NOP
+00000ef: 0a ; OPCODE_NOP
+00000f0: 0a ; OPCODE_NOP
+00000f1: 0a ; OPCODE_NOP
+00000f2: 0a ; OPCODE_NOP
+00000f3: 0a ; OPCODE_NOP
+00000f4: 0a ; OPCODE_NOP
+00000f5: 0a ; OPCODE_NOP
+00000f6: 0a ; OPCODE_NOP
+00000f7: 0a ; OPCODE_NOP
+00000f8: 0a ; OPCODE_NOP
+00000f9: 0a ; OPCODE_NOP
+00000fa: 0a ; OPCODE_NOP
+00000fb: 0a ; OPCODE_NOP
+00000fc: 0a ; OPCODE_NOP
+00000fd: 0a ; OPCODE_NOP
+00000fe: 0a ; OPCODE_NOP
+00000ff: 0a ; OPCODE_NOP
+0000100: 0a ; OPCODE_NOP
+0000101: 0a ; OPCODE_NOP
+0000102: 0a ; OPCODE_NOP
+0000103: 0a ; OPCODE_NOP
+0000104: 0a ; OPCODE_NOP
+0000105: 0a ; OPCODE_NOP
+0000106: 0a ; OPCODE_NOP
+0000107: 0a ; OPCODE_NOP
+0000108: 0a ; OPCODE_NOP
+0000109: 0a ; OPCODE_NOP
+000010a: 0a ; OPCODE_NOP
+000010b: 0a ; OPCODE_NOP
+000010c: 0a ; OPCODE_NOP
+000010d: 0a ; OPCODE_NOP
+000010e: 0a ; OPCODE_NOP
+000010f: 0a ; OPCODE_NOP
+0000110: 0a ; OPCODE_NOP
+0000111: 0a ; OPCODE_NOP
+0000112: 0a ; OPCODE_NOP
+0000113: 0a ; OPCODE_NOP
+0000114: 0a ; OPCODE_NOP
+0000115: 0a ; OPCODE_NOP
+0000116: 0a ; OPCODE_NOP
+0000117: 0a ; OPCODE_NOP
+0000118: 0a ; OPCODE_NOP
+0000119: 0a ; OPCODE_NOP
+000011a: 0a ; OPCODE_NOP
+000011b: 0a ; OPCODE_NOP
+000011c: 0a ; OPCODE_NOP
+000011d: 0a ; OPCODE_NOP
+000011e: 0a ; OPCODE_NOP
+000011f: 0a ; OPCODE_NOP
+0000120: 0a ; OPCODE_NOP
+0000121: 0a ; OPCODE_NOP
+0000122: 0a ; OPCODE_NOP
+0000123: 0a ; OPCODE_NOP
+0000124: 0a ; OPCODE_NOP
+0000125: 0a ; OPCODE_NOP
+0000126: 0a ; OPCODE_NOP
+0000127: 0a ; OPCODE_NOP
+0000128: 0a ; OPCODE_NOP
0000129: 0f ; OPCODE_END
; move data: [26, 12a) -> [27, 12b)
0000025: 8402 ; FIXUP func body size
; move data: [24, 12b) -> [25, 12c)
0000023: 8702 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 6587 0201 8402 0001 0000 0000 0000
-0000030: 0000 0000 0000 0000 0000 0000 0000 0000
-0000040: 0000 0000 0000 0000 0000 0000 0000 0000
-0000050: 0000 0000 0000 0000 0000 0000 0000 0000
-0000060: 0000 0000 0000 0000 0000 0000 0000 0000
-0000070: 0000 0000 0000 0000 0000 0000 0000 0000
-0000080: 0000 0000 0000 0000 0000 0000 0000 0000
-0000090: 0000 0000 0000 0000 0000 0000 0000 0000
-00000a0: 0000 0000 0000 0000 0000 0000 0000 0000
-00000b0: 0000 0000 0000 0000 0000 0000 0000 0000
-00000c0: 0000 0000 0000 0000 0000 0000 0000 0000
-00000d0: 0000 0000 0000 0000 0000 0000 0000 0000
-00000e0: 0000 0000 0000 0000 0000 0000 0000 0000
-00000f0: 0000 0000 0000 0000 0000 0000 0000 0000
-0000100: 0000 0000 0000 0000 0000 0000 0000 0000
-0000110: 0000 0000 0000 0000 0000 0000 0000 0000
-0000120: 0000 0000 0000 0000 0000 000f
+0000020: 6f64 6587 0201 8402 0001 0a0a 0a0a 0a0a
+0000030: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000040: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000050: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000060: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000070: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000080: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000090: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+00000a0: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+00000b0: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+00000c0: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+00000d0: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+00000e0: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+00000f0: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000100: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000110: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000120: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0f
;;; STDOUT ;;)
diff --git a/test/dump/block.txt b/test/dump/block.txt
index 01ea5866..c3d7ea1e 100644
--- a/test/dump/block.txt
+++ b/test/dump/block.txt
@@ -11,7 +11,7 @@
(i32.const 1))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -44,9 +44,9 @@
000002a: 00 ; func body size (guess)
000002b: 00 ; local decl count
000002c: 01 ; OPCODE_BLOCK
-000002d: 00 ; OPCODE_NOP
-000002e: 00 ; OPCODE_NOP
-000002f: 00 ; OPCODE_NOP
+000002d: 0a ; OPCODE_NOP
+000002e: 0a ; OPCODE_NOP
+000002f: 0a ; OPCODE_NOP
0000030: 0f ; OPCODE_END
000002a: 06 ; FIXUP func body size
; function body 1
@@ -59,8 +59,8 @@
0000031: 05 ; FIXUP func body size
0000028: 0e ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6508 0240
+0000000: 0061 736d 0c00 0000 0474 7970 6508 0240
0000010: 0000 4000 0101 0866 756e 6374 696f 6e03
-0000020: 0200 0104 636f 6465 0e02 0600 0100 0000
+0000020: 0200 0104 636f 6465 0e02 0600 010a 0a0a
0000030: 0f05 0001 1001 0f
;;; STDOUT ;;)
diff --git a/test/dump/br-block-named.txt b/test/dump/br-block-named.txt
index 23719b75..0c238c49 100644
--- a/test/dump/br-block-named.txt
+++ b/test/dump/br-block-named.txt
@@ -4,13 +4,13 @@
(block $outer ;; 3
(loop ;; 2
(block ;; 1
- (i32.const 0)
+ (drop (i32.const 0))
(block $inner ;; 0
(br $inner)
(br $outer)))))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -41,22 +41,23 @@
0000029: 01 ; OPCODE_BLOCK
000002a: 10 ; OPCODE_I32_CONST
000002b: 00 ; i32 literal
-000002c: 01 ; OPCODE_BLOCK
-000002d: 06 ; OPCODE_BR
-000002e: 00 ; br arity
-000002f: 00 ; break depth
-0000030: 06 ; OPCODE_BR
-0000031: 00 ; br arity
-0000032: 04 ; break depth
-0000033: 0f ; OPCODE_END
+000002c: 0b ; OPCODE_DROP
+000002d: 01 ; OPCODE_BLOCK
+000002e: 06 ; OPCODE_BR
+000002f: 00 ; br arity
+0000030: 00 ; break depth
+0000031: 06 ; OPCODE_BR
+0000032: 00 ; br arity
+0000033: 03 ; break depth
0000034: 0f ; OPCODE_END
0000035: 0f ; OPCODE_END
0000036: 0f ; OPCODE_END
-0000025: 11 ; FIXUP func body size
-0000023: 13 ; FIXUP section size
+0000037: 0f ; OPCODE_END
+0000025: 12 ; FIXUP func body size
+0000023: 14 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 6513 0111 0001 0201 1000 0106 0000
-0000030: 0600 040f 0f0f 0f
+0000020: 6f64 6514 0112 0001 0201 1000 0b01 0600
+0000030: 0006 0003 0f0f 0f0f
;;; STDOUT ;;)
diff --git a/test/dump/br-block.txt b/test/dump/br-block.txt
index ac730b68..bd4d1b55 100644
--- a/test/dump/br-block.txt
+++ b/test/dump/br-block.txt
@@ -4,7 +4,7 @@
(block $outer ;; 4
(loop ;; 2 loop, 3 exit
(block ;; 1
- (i32.const 0)
+ (drop (i32.const 0))
(block $inner ;; 0
(br 0)
(br 1)
@@ -12,7 +12,7 @@
(br 3)))))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -43,28 +43,29 @@
0000029: 01 ; OPCODE_BLOCK
000002a: 10 ; OPCODE_I32_CONST
000002b: 00 ; i32 literal
-000002c: 01 ; OPCODE_BLOCK
-000002d: 06 ; OPCODE_BR
-000002e: 00 ; br arity
-000002f: 00 ; break depth
-0000030: 06 ; OPCODE_BR
-0000031: 00 ; br arity
-0000032: 01 ; break depth
-0000033: 06 ; OPCODE_BR
-0000034: 00 ; br arity
-0000035: 02 ; break depth
-0000036: 06 ; OPCODE_BR
-0000037: 00 ; br arity
-0000038: 03 ; break depth
-0000039: 0f ; OPCODE_END
+000002c: 0b ; OPCODE_DROP
+000002d: 01 ; OPCODE_BLOCK
+000002e: 06 ; OPCODE_BR
+000002f: 00 ; br arity
+0000030: 00 ; break depth
+0000031: 06 ; OPCODE_BR
+0000032: 00 ; br arity
+0000033: 01 ; break depth
+0000034: 06 ; OPCODE_BR
+0000035: 00 ; br arity
+0000036: 02 ; break depth
+0000037: 06 ; OPCODE_BR
+0000038: 00 ; br arity
+0000039: 03 ; break depth
000003a: 0f ; OPCODE_END
000003b: 0f ; OPCODE_END
000003c: 0f ; OPCODE_END
-0000025: 17 ; FIXUP func body size
-0000023: 19 ; FIXUP section size
+000003d: 0f ; OPCODE_END
+0000025: 18 ; FIXUP func body size
+0000023: 1a ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 6519 0117 0001 0201 1000 0106 0000
-0000030: 0600 0106 0002 0600 030f 0f0f 0f
+0000020: 6f64 651a 0118 0001 0201 1000 0b01 0600
+0000030: 0006 0001 0600 0206 0003 0f0f 0f0f
;;; STDOUT ;;)
diff --git a/test/dump/br-loop-inner-expr.txt b/test/dump/br-loop-inner-expr.txt
index 1c38bbd2..2318280a 100644
--- a/test/dump/br-loop-inner-expr.txt
+++ b/test/dump/br-loop-inner-expr.txt
@@ -9,7 +9,7 @@
(i32.const 5))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -36,31 +36,33 @@
; function body 0
0000026: 00 ; func body size (guess)
0000027: 00 ; local decl count
-0000028: 02 ; OPCODE_LOOP
-0000029: 10 ; OPCODE_I32_CONST
-000002a: 01 ; i32 literal
-000002b: 03 ; OPCODE_IF
-000002c: 06 ; OPCODE_BR
-000002d: 00 ; br arity
-000002e: 01 ; break depth
-000002f: 0f ; OPCODE_END
-0000030: 10 ; OPCODE_I32_CONST
-0000031: 03 ; i32 literal
-0000032: 03 ; OPCODE_IF
-0000033: 10 ; OPCODE_I32_CONST
-0000034: 04 ; i32 literal
-0000035: 06 ; OPCODE_BR
-0000036: 01 ; br arity
-0000037: 02 ; break depth
-0000038: 0f ; OPCODE_END
-0000039: 10 ; OPCODE_I32_CONST
-000003a: 05 ; i32 literal
-000003b: 0f ; OPCODE_END
-0000026: 15 ; FIXUP func body size
-0000024: 17 ; FIXUP section size
+0000028: 01 ; OPCODE_BLOCK
+0000029: 02 ; OPCODE_LOOP
+000002a: 10 ; OPCODE_I32_CONST
+000002b: 01 ; i32 literal
+000002c: 03 ; OPCODE_IF
+000002d: 06 ; OPCODE_BR
+000002e: 00 ; br arity
+000002f: 01 ; break depth
+0000030: 0f ; OPCODE_END
+0000031: 10 ; OPCODE_I32_CONST
+0000032: 03 ; i32 literal
+0000033: 03 ; OPCODE_IF
+0000034: 10 ; OPCODE_I32_CONST
+0000035: 04 ; i32 literal
+0000036: 06 ; OPCODE_BR
+0000037: 01 ; br arity
+0000038: 02 ; break depth
+0000039: 0f ; OPCODE_END
+000003a: 10 ; OPCODE_I32_CONST
+000003b: 05 ; i32 literal
+000003c: 0f ; OPCODE_END
+000003d: 0f ; OPCODE_END
+0000026: 17 ; FIXUP func body size
+0000024: 19 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6505 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6505 0140
0000010: 0001 0108 6675 6e63 7469 6f6e 0201 0004
-0000020: 636f 6465 1701 1500 0210 0103 0600 010f
-0000030: 1003 0310 0406 0102 0f10 050f
+0000020: 636f 6465 1901 1700 0102 1001 0306 0001
+0000030: 0f10 0303 1004 0601 020f 1005 0f0f
;;; STDOUT ;;)
diff --git a/test/dump/br-loop-inner.txt b/test/dump/br-loop-inner.txt
index 5934822e..af9446c0 100644
--- a/test/dump/br-loop-inner.txt
+++ b/test/dump/br-loop-inner.txt
@@ -8,7 +8,7 @@
(br $cont)))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -34,27 +34,29 @@
; function body 0
0000025: 00 ; func body size (guess)
0000026: 00 ; local decl count
-0000027: 02 ; OPCODE_LOOP
-0000028: 10 ; OPCODE_I32_CONST
-0000029: 01 ; i32 literal
-000002a: 03 ; OPCODE_IF
-000002b: 06 ; OPCODE_BR
-000002c: 00 ; br arity
-000002d: 02 ; break depth
-000002e: 0f ; OPCODE_END
-000002f: 10 ; OPCODE_I32_CONST
-0000030: 02 ; i32 literal
-0000031: 03 ; OPCODE_IF
-0000032: 06 ; OPCODE_BR
-0000033: 00 ; br arity
-0000034: 01 ; break depth
-0000035: 0f ; OPCODE_END
+0000027: 01 ; OPCODE_BLOCK
+0000028: 02 ; OPCODE_LOOP
+0000029: 10 ; OPCODE_I32_CONST
+000002a: 01 ; i32 literal
+000002b: 03 ; OPCODE_IF
+000002c: 06 ; OPCODE_BR
+000002d: 00 ; br arity
+000002e: 02 ; break depth
+000002f: 0f ; OPCODE_END
+0000030: 10 ; OPCODE_I32_CONST
+0000031: 02 ; i32 literal
+0000032: 03 ; OPCODE_IF
+0000033: 06 ; OPCODE_BR
+0000034: 00 ; br arity
+0000035: 01 ; break depth
0000036: 0f ; OPCODE_END
-0000025: 11 ; FIXUP func body size
-0000023: 13 ; FIXUP section size
+0000037: 0f ; OPCODE_END
+0000038: 0f ; OPCODE_END
+0000025: 13 ; FIXUP func body size
+0000023: 15 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 6513 0111 0002 1001 0306 0002 0f10
-0000030: 0203 0600 010f 0f
+0000020: 6f64 6515 0113 0001 0210 0103 0600 020f
+0000030: 1002 0306 0001 0f0f 0f
;;; STDOUT ;;)
diff --git a/test/dump/br-loop.txt b/test/dump/br-loop.txt
index d09b622f..7ac41269 100644
--- a/test/dump/br-loop.txt
+++ b/test/dump/br-loop.txt
@@ -6,7 +6,7 @@
(br $cont)))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -44,7 +44,7 @@
0000025: 0a ; FIXUP func body size
0000023: 0c ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
0000020: 6f64 650c 010a 0002 1001 0306 0001 0f0f
;;; STDOUT ;;)
diff --git a/test/dump/brif-loop.txt b/test/dump/brif-loop.txt
index eb604778..cca2c872 100644
--- a/test/dump/brif-loop.txt
+++ b/test/dump/brif-loop.txt
@@ -5,7 +5,7 @@
(br_if $cont (i32.const 0)))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -41,7 +41,7 @@
0000025: 08 ; FIXUP func body size
0000023: 0a ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
0000020: 6f64 650a 0108 0002 1000 0700 000f
;;; STDOUT ;;)
diff --git a/test/dump/brif.txt b/test/dump/brif.txt
index 4a6d0415..3a525fcc 100644
--- a/test/dump/brif.txt
+++ b/test/dump/brif.txt
@@ -5,7 +5,7 @@
(br_if $foo (i32.const 1)))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -41,7 +41,7 @@
0000025: 08 ; FIXUP func body size
0000023: 0a ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
0000020: 6f64 650a 0108 0001 1001 0700 000f
;;; STDOUT ;;)
diff --git a/test/dump/brtable-empty.txt b/test/dump/brtable-empty.txt
index 35c4b008..cbbb52b4 100644
--- a/test/dump/brtable-empty.txt
+++ b/test/dump/brtable-empty.txt
@@ -5,7 +5,7 @@
(br_table 0 (i32.const 0)))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -42,7 +42,7 @@
0000025: 0c ; FIXUP func body size
0000023: 0e ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
0000020: 6f64 650e 010c 0001 1000 0800 0000 0000
0000030: 000f
diff --git a/test/dump/brtable.txt b/test/dump/brtable.txt
index 66395627..6acded66 100644
--- a/test/dump/brtable.txt
+++ b/test/dump/brtable.txt
@@ -5,17 +5,17 @@
(block
(block (br_table 0 1 0 (i32.const 0)))
;; case 0
- (i32.const 1)
- (i32.const 2)
+ (drop (i32.const 1))
+ (drop (i32.const 2))
(br 1) ;; topmost block
)
;; case 1
;; fallthrough
)
- (i32.const 3)))
+ (drop (i32.const 3))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -55,21 +55,24 @@
000003b: 0f ; OPCODE_END
000003c: 10 ; OPCODE_I32_CONST
000003d: 01 ; i32 literal
-000003e: 10 ; OPCODE_I32_CONST
-000003f: 02 ; i32 literal
-0000040: 06 ; OPCODE_BR
-0000041: 00 ; br arity
-0000042: 01 ; break depth
-0000043: 0f ; OPCODE_END
-0000044: 0f ; OPCODE_END
-0000045: 10 ; OPCODE_I32_CONST
-0000046: 03 ; i32 literal
-0000025: 21 ; FIXUP func body size
-0000023: 23 ; FIXUP section size
+000003e: 0b ; OPCODE_DROP
+000003f: 10 ; OPCODE_I32_CONST
+0000040: 02 ; i32 literal
+0000041: 0b ; OPCODE_DROP
+0000042: 06 ; OPCODE_BR
+0000043: 00 ; br arity
+0000044: 01 ; break depth
+0000045: 0f ; OPCODE_END
+0000046: 0f ; OPCODE_END
+0000047: 10 ; OPCODE_I32_CONST
+0000048: 03 ; i32 literal
+0000049: 0b ; OPCODE_DROP
+0000025: 24 ; FIXUP func body size
+0000023: 26 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 6523 0121 0001 0101 1000 0800 0200
-0000030: 0000 0001 0000 0000 0000 000f 1001 1002
-0000040: 0600 010f 0f10 03
+0000020: 6f64 6526 0124 0001 0101 1000 0800 0200
+0000030: 0000 0001 0000 0000 0000 000f 1001 0b10
+0000040: 020b 0600 010f 0f10 030b
;;; STDOUT ;;)
diff --git a/test/dump/call.txt b/test/dump/call.txt
index 13dfb8d7..d65b9513 100644
--- a/test/dump/call.txt
+++ b/test/dump/call.txt
@@ -4,7 +4,7 @@
(call 0 (i32.const 1))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -34,12 +34,11 @@
0000028: 10 ; OPCODE_I32_CONST
0000029: 01 ; i32 literal
000002a: 16 ; OPCODE_CALL_FUNCTION
-000002b: 01 ; call arity
-000002c: 00 ; func index
-0000026: 06 ; FIXUP func body size
-0000024: 08 ; FIXUP section size
+000002b: 00 ; func index
+0000026: 05 ; FIXUP func body size
+0000024: 07 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6505 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6505 0140
0000010: 0101 0008 6675 6e63 7469 6f6e 0201 0004
-0000020: 636f 6465 0801 0600 1001 1601 00
+0000020: 636f 6465 0701 0500 1001 1600
;;; STDOUT ;;)
diff --git a/test/dump/callimport.txt b/test/dump/callimport.txt
index de7e4e88..b785f515 100644
--- a/test/dump/callimport.txt
+++ b/test/dump/callimport.txt
@@ -2,16 +2,13 @@
(module
(import "foo" "bar" (param i32 f32) (result i32))
(func (result i32)
- ;; input import 0 -> output func 0
- (call_import 0 (i32.const 1) (f32.const 2))
- ;; input func 0 -> output func 1
- ;; imports and funcs have different name/number spaces in the input format,
- ;; but use the same number-space for the output format. Imports always come
- ;; first.
+ ;; call import 0
+ (drop (call_import 0 (i32.const 1) (f32.const 2)))
+ ;; call func 0
(call 0)))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -62,17 +59,16 @@
0000042: 13 ; OPCODE_F32_CONST
0000043: 0000 0040 ; f32 literal
0000047: 18 ; OPCODE_CALL_IMPORT
-0000048: 02 ; call_import arity
-0000049: 00 ; import index
+0000048: 00 ; import index
+0000049: 0b ; OPCODE_DROP
000004a: 16 ; OPCODE_CALL_FUNCTION
-000004b: 00 ; call arity
-000004c: 00 ; func index
-000003e: 0e ; FIXUP func body size
-000003c: 10 ; FIXUP section size
+000004b: 00 ; func index
+000003e: 0d ; FIXUP func body size
+000003c: 0f ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 650b 0240
+0000000: 0061 736d 0c00 0000 0474 7970 650b 0240
0000010: 0201 0301 0140 0001 0106 696d 706f 7274
0000020: 0a01 0003 666f 6f03 6261 7208 6675 6e63
-0000030: 7469 6f6e 0201 0104 636f 6465 1001 0e00
-0000040: 1001 1300 0000 4018 0200 1600 00
+0000030: 7469 6f6e 0201 0104 636f 6465 0f01 0d00
+0000040: 1001 1300 0000 4018 000b 1600
;;; STDOUT ;;)
diff --git a/test/dump/callindirect-after-import.txt b/test/dump/callindirect-after-import.txt
index bb7400e4..fb9114d2 100644
--- a/test/dump/callindirect-after-import.txt
+++ b/test/dump/callindirect-after-import.txt
@@ -1,25 +1,23 @@
;;; FLAGS: -dv
-
-;; Make sure the function table entries skip over the imported functions.
(module
(type $f_v (func (param f32)))
- ;; function 0
+ ;; import 0
(import $imported "foo" "bar" (result i32))
- ;; function 1
+ ;; func 0
(func $indirect (param f32)
(nop))
- ;; function 2
+ ;; func 1
(func $caller
- (call_indirect $f_v (i32.const 0) (f32.const 1.0)))
+ (call_indirect $f_v (f32.const 1.0) (i32.const 0)))
;; should be function 1.
(table $indirect))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -75,25 +73,24 @@
; function body 0
0000049: 00 ; func body size (guess)
000004a: 00 ; local decl count
-000004b: 00 ; OPCODE_NOP
+000004b: 0a ; OPCODE_NOP
0000049: 02 ; FIXUP func body size
; function body 1
000004c: 00 ; func body size (guess)
000004d: 00 ; local decl count
-000004e: 10 ; OPCODE_I32_CONST
-000004f: 00 ; i32 literal
-0000050: 13 ; OPCODE_F32_CONST
-0000051: 0000 803f ; f32 literal
+000004e: 13 ; OPCODE_F32_CONST
+000004f: 0000 803f ; f32 literal
+0000053: 10 ; OPCODE_I32_CONST
+0000054: 00 ; i32 literal
0000055: 17 ; OPCODE_CALL_INDIRECT
-0000056: 01 ; call_indirect arity
-0000057: 00 ; signature index
-000004c: 0b ; FIXUP func body size
-0000047: 10 ; FIXUP section size
+0000056: 00 ; signature index
+000004c: 0a ; FIXUP func body size
+0000047: 0f ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 650c 0340
+0000000: 0061 736d 0c00 0000 0474 7970 650c 0340
0000010: 0103 0040 0001 0140 0000 0669 6d70 6f72
0000020: 740a 0101 0366 6f6f 0362 6172 0866 756e
0000030: 6374 696f 6e03 0200 0205 7461 626c 6502
-0000040: 0100 0463 6f64 6510 0202 0000 0b00 1000
-0000050: 1300 0080 3f17 0100
+0000040: 0100 0463 6f64 650f 0202 000a 0a00 1300
+0000050: 0080 3f10 0017 00
;;; STDOUT ;;)
diff --git a/test/dump/callindirect.txt b/test/dump/callindirect.txt
index 8494a951..20d6b7f5 100644
--- a/test/dump/callindirect.txt
+++ b/test/dump/callindirect.txt
@@ -6,7 +6,7 @@
(table $f))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -45,13 +45,12 @@
0000033: 10 ; OPCODE_I32_CONST
0000034: 00 ; i32 literal
0000035: 17 ; OPCODE_CALL_INDIRECT
-0000036: 01 ; call_indirect arity
-0000037: 00 ; signature index
-000002f: 08 ; FIXUP func body size
-000002d: 0a ; FIXUP section size
+0000036: 00 ; signature index
+000002f: 07 ; FIXUP func body size
+000002d: 09 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6505 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6505 0140
0000010: 0101 0008 6675 6e63 7469 6f6e 0201 0005
-0000020: 7461 626c 6502 0100 0463 6f64 650a 0108
-0000030: 0010 0010 0017 0100
+0000020: 7461 626c 6502 0100 0463 6f64 6509 0107
+0000030: 0010 0010 0017 00
;;; STDOUT ;;)
diff --git a/test/dump/cast.txt b/test/dump/cast.txt
index 70beb409..b29d05ef 100644
--- a/test/dump/cast.txt
+++ b/test/dump/cast.txt
@@ -1,13 +1,13 @@
;;; FLAGS: -dv
(module
(func
- (f32.reinterpret/i32 (i32.const 0))
- (i32.reinterpret/f32 (f32.const 0))
- (f64.reinterpret/i64 (i64.const 0))
- (i64.reinterpret/f64 (f64.const 0))))
+ (drop (f32.reinterpret/i32 (i32.const 0)))
+ (drop (i32.reinterpret/f32 (f32.const 0)))
+ (drop (f64.reinterpret/i64 (i64.const 0)))
+ (drop (i64.reinterpret/f64 (f64.const 0)))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -36,20 +36,25 @@
0000027: 10 ; OPCODE_I32_CONST
0000028: 00 ; i32 literal
0000029: ad ; OPCODE_F32_REINTERPRET_I32
-000002a: 13 ; OPCODE_F32_CONST
-000002b: 0000 0000 ; f32 literal
-000002f: b4 ; OPCODE_I32_REINTERPRET_F32
-0000030: 11 ; OPCODE_I64_CONST
-0000031: 00 ; i64 literal
-0000032: b3 ; OPCODE_F64_REINTERPRET_I64
-0000033: 12 ; OPCODE_F64_CONST
-0000034: 0000 0000 0000 0000 ; f64 literal
-000003c: b5 ; OPCODE_I64_REINTERPRET_F64
-0000025: 17 ; FIXUP func body size
-0000023: 19 ; FIXUP section size
+000002a: 0b ; OPCODE_DROP
+000002b: 13 ; OPCODE_F32_CONST
+000002c: 0000 0000 ; f32 literal
+0000030: b4 ; OPCODE_I32_REINTERPRET_F32
+0000031: 0b ; OPCODE_DROP
+0000032: 11 ; OPCODE_I64_CONST
+0000033: 00 ; i64 literal
+0000034: b3 ; OPCODE_F64_REINTERPRET_I64
+0000035: 0b ; OPCODE_DROP
+0000036: 12 ; OPCODE_F64_CONST
+0000037: 0000 0000 0000 0000 ; f64 literal
+000003f: b5 ; OPCODE_I64_REINTERPRET_F64
+0000040: 0b ; OPCODE_DROP
+0000025: 1b ; FIXUP func body size
+0000023: 1d ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 6519 0117 0010 00ad 1300 0000 00b4
-0000030: 1100 b312 0000 0000 0000 0000 b5
+0000020: 6f64 651d 011b 0010 00ad 0b13 0000 0000
+0000030: b40b 1100 b30b 1200 0000 0000 0000 00b5
+0000040: 0b
;;; STDOUT ;;)
diff --git a/test/dump/compare.txt b/test/dump/compare.txt
index e47a36af..d0565831 100644
--- a/test/dump/compare.txt
+++ b/test/dump/compare.txt
@@ -1,17 +1,19 @@
;;; FLAGS: -dv
(module
(func
- (i32.eq
- (i32.ne
- (i32.lt_s
- (i32.lt_u
- (i32.le_s
- (i32.le_u
- (i32.gt_s
- (i32.gt_u
- (i32.ge_s
- (i32.ge_u
- (i32.const 0)
+ (drop
+ (i32.eq
+ (i32.ne
+ (i32.lt_s
+ (i32.lt_u
+ (i32.le_s
+ (i32.le_u
+ (i32.gt_s
+ (i32.gt_u
+ (i32.ge_s
+ (i32.ge_u
+ (i32.const 0)
+ (i32.const 0))
(i32.const 0))
(i32.const 0))
(i32.const 0))
@@ -20,38 +22,37 @@
(i32.const 0))
(i32.const 0))
(i32.const 0))
- (i32.const 0))
- (i32.const 0))
+ (i32.const 0)))
;; all comparisons return i32, so these tests can't be chained like the one
;; above
- (i64.eq (i64.const 0) (i64.const 0))
- (i64.ne (i64.const 0) (i64.const 0))
- (i64.lt_s (i64.const 0) (i64.const 0))
- (i64.lt_u (i64.const 0) (i64.const 0))
- (i64.le_s (i64.const 0) (i64.const 0))
- (i64.le_u (i64.const 0) (i64.const 0))
- (i64.gt_s (i64.const 0) (i64.const 0))
- (i64.gt_u (i64.const 0) (i64.const 0))
- (i64.ge_s (i64.const 0) (i64.const 0))
- (i64.ge_u (i64.const 0) (i64.const 0))
+ (drop (i64.eq (i64.const 0) (i64.const 0)))
+ (drop (i64.ne (i64.const 0) (i64.const 0)))
+ (drop (i64.lt_s (i64.const 0) (i64.const 0)))
+ (drop (i64.lt_u (i64.const 0) (i64.const 0)))
+ (drop (i64.le_s (i64.const 0) (i64.const 0)))
+ (drop (i64.le_u (i64.const 0) (i64.const 0)))
+ (drop (i64.gt_s (i64.const 0) (i64.const 0)))
+ (drop (i64.gt_u (i64.const 0) (i64.const 0)))
+ (drop (i64.ge_s (i64.const 0) (i64.const 0)))
+ (drop (i64.ge_u (i64.const 0) (i64.const 0)))
- (f32.eq (f32.const 0) (f32.const 0))
- (f32.ne (f32.const 0) (f32.const 0))
- (f32.lt (f32.const 0) (f32.const 0))
- (f32.le (f32.const 0) (f32.const 0))
- (f32.gt (f32.const 0) (f32.const 0))
- (f32.ge (f32.const 0) (f32.const 0))
+ (drop (f32.eq (f32.const 0) (f32.const 0)))
+ (drop (f32.ne (f32.const 0) (f32.const 0)))
+ (drop (f32.lt (f32.const 0) (f32.const 0)))
+ (drop (f32.le (f32.const 0) (f32.const 0)))
+ (drop (f32.gt (f32.const 0) (f32.const 0)))
+ (drop (f32.ge (f32.const 0) (f32.const 0)))
- (f64.eq (f64.const 0) (f64.const 0))
- (f64.ne (f64.const 0) (f64.const 0))
- (f64.lt (f64.const 0) (f64.const 0))
- (f64.le (f64.const 0) (f64.const 0))
- (f64.gt (f64.const 0) (f64.const 0))
- (f64.ge (f64.const 0) (f64.const 0))))
+ (drop (f64.eq (f64.const 0) (f64.const 0)))
+ (drop (f64.ne (f64.const 0) (f64.const 0)))
+ (drop (f64.lt (f64.const 0) (f64.const 0)))
+ (drop (f64.le (f64.const 0) (f64.const 0)))
+ (drop (f64.gt (f64.const 0) (f64.const 0)))
+ (drop (f64.ge (f64.const 0) (f64.const 0)))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -109,138 +110,163 @@
0000044: 10 ; OPCODE_I32_CONST
0000045: 00 ; i32 literal
0000046: 4d ; OPCODE_I32_EQ
-0000047: 11 ; OPCODE_I64_CONST
-0000048: 00 ; i64 literal
-0000049: 11 ; OPCODE_I64_CONST
-000004a: 00 ; i64 literal
-000004b: 68 ; OPCODE_I64_EQ
-000004c: 11 ; OPCODE_I64_CONST
-000004d: 00 ; i64 literal
+0000047: 0b ; OPCODE_DROP
+0000048: 11 ; OPCODE_I64_CONST
+0000049: 00 ; i64 literal
+000004a: 11 ; OPCODE_I64_CONST
+000004b: 00 ; i64 literal
+000004c: 68 ; OPCODE_I64_EQ
+000004d: 0b ; OPCODE_DROP
000004e: 11 ; OPCODE_I64_CONST
000004f: 00 ; i64 literal
-0000050: 69 ; OPCODE_I64_NE
-0000051: 11 ; OPCODE_I64_CONST
-0000052: 00 ; i64 literal
-0000053: 11 ; OPCODE_I64_CONST
-0000054: 00 ; i64 literal
-0000055: 6a ; OPCODE_I64_LT_S
+0000050: 11 ; OPCODE_I64_CONST
+0000051: 00 ; i64 literal
+0000052: 69 ; OPCODE_I64_NE
+0000053: 0b ; OPCODE_DROP
+0000054: 11 ; OPCODE_I64_CONST
+0000055: 00 ; i64 literal
0000056: 11 ; OPCODE_I64_CONST
0000057: 00 ; i64 literal
-0000058: 11 ; OPCODE_I64_CONST
-0000059: 00 ; i64 literal
-000005a: 6c ; OPCODE_I64_LT_U
-000005b: 11 ; OPCODE_I64_CONST
-000005c: 00 ; i64 literal
-000005d: 11 ; OPCODE_I64_CONST
-000005e: 00 ; i64 literal
-000005f: 6b ; OPCODE_I64_LE_S
+0000058: 6a ; OPCODE_I64_LT_S
+0000059: 0b ; OPCODE_DROP
+000005a: 11 ; OPCODE_I64_CONST
+000005b: 00 ; i64 literal
+000005c: 11 ; OPCODE_I64_CONST
+000005d: 00 ; i64 literal
+000005e: 6c ; OPCODE_I64_LT_U
+000005f: 0b ; OPCODE_DROP
0000060: 11 ; OPCODE_I64_CONST
0000061: 00 ; i64 literal
0000062: 11 ; OPCODE_I64_CONST
0000063: 00 ; i64 literal
-0000064: 6d ; OPCODE_I64_LE_U
-0000065: 11 ; OPCODE_I64_CONST
-0000066: 00 ; i64 literal
-0000067: 11 ; OPCODE_I64_CONST
-0000068: 00 ; i64 literal
-0000069: 6e ; OPCODE_I64_GT_S
-000006a: 11 ; OPCODE_I64_CONST
-000006b: 00 ; i64 literal
+0000064: 6b ; OPCODE_I64_LE_S
+0000065: 0b ; OPCODE_DROP
+0000066: 11 ; OPCODE_I64_CONST
+0000067: 00 ; i64 literal
+0000068: 11 ; OPCODE_I64_CONST
+0000069: 00 ; i64 literal
+000006a: 6d ; OPCODE_I64_LE_U
+000006b: 0b ; OPCODE_DROP
000006c: 11 ; OPCODE_I64_CONST
000006d: 00 ; i64 literal
-000006e: 70 ; OPCODE_I64_GT_U
-000006f: 11 ; OPCODE_I64_CONST
-0000070: 00 ; i64 literal
-0000071: 11 ; OPCODE_I64_CONST
-0000072: 00 ; i64 literal
-0000073: 6f ; OPCODE_I64_GE_S
+000006e: 11 ; OPCODE_I64_CONST
+000006f: 00 ; i64 literal
+0000070: 6e ; OPCODE_I64_GT_S
+0000071: 0b ; OPCODE_DROP
+0000072: 11 ; OPCODE_I64_CONST
+0000073: 00 ; i64 literal
0000074: 11 ; OPCODE_I64_CONST
0000075: 00 ; i64 literal
-0000076: 11 ; OPCODE_I64_CONST
-0000077: 00 ; i64 literal
-0000078: 71 ; OPCODE_I64_GE_U
-0000079: 13 ; OPCODE_F32_CONST
-000007a: 0000 0000 ; f32 literal
-000007e: 13 ; OPCODE_F32_CONST
-000007f: 0000 0000 ; f32 literal
-0000083: 83 ; OPCODE_F32_EQ
+0000076: 70 ; OPCODE_I64_GT_U
+0000077: 0b ; OPCODE_DROP
+0000078: 11 ; OPCODE_I64_CONST
+0000079: 00 ; i64 literal
+000007a: 11 ; OPCODE_I64_CONST
+000007b: 00 ; i64 literal
+000007c: 6f ; OPCODE_I64_GE_S
+000007d: 0b ; OPCODE_DROP
+000007e: 11 ; OPCODE_I64_CONST
+000007f: 00 ; i64 literal
+0000080: 11 ; OPCODE_I64_CONST
+0000081: 00 ; i64 literal
+0000082: 71 ; OPCODE_I64_GE_U
+0000083: 0b ; OPCODE_DROP
0000084: 13 ; OPCODE_F32_CONST
0000085: 0000 0000 ; f32 literal
0000089: 13 ; OPCODE_F32_CONST
000008a: 0000 0000 ; f32 literal
-000008e: 84 ; OPCODE_F32_NE
-000008f: 13 ; OPCODE_F32_CONST
-0000090: 0000 0000 ; f32 literal
-0000094: 13 ; OPCODE_F32_CONST
-0000095: 0000 0000 ; f32 literal
-0000099: 85 ; OPCODE_F32_LT
-000009a: 13 ; OPCODE_F32_CONST
-000009b: 0000 0000 ; f32 literal
-000009f: 13 ; OPCODE_F32_CONST
-00000a0: 0000 0000 ; f32 literal
-00000a4: 86 ; OPCODE_F32_LE
-00000a5: 13 ; OPCODE_F32_CONST
-00000a6: 0000 0000 ; f32 literal
-00000aa: 13 ; OPCODE_F32_CONST
-00000ab: 0000 0000 ; f32 literal
-00000af: 87 ; OPCODE_F32_GT
-00000b0: 13 ; OPCODE_F32_CONST
-00000b1: 0000 0000 ; f32 literal
-00000b5: 13 ; OPCODE_F32_CONST
-00000b6: 0000 0000 ; f32 literal
-00000ba: 88 ; OPCODE_F32_GE
-00000bb: 12 ; OPCODE_F64_CONST
-00000bc: 0000 0000 0000 0000 ; f64 literal
-00000c4: 12 ; OPCODE_F64_CONST
-00000c5: 0000 0000 0000 0000 ; f64 literal
-00000cd: 97 ; OPCODE_F64_EQ
-00000ce: 12 ; OPCODE_F64_CONST
-00000cf: 0000 0000 0000 0000 ; f64 literal
-00000d7: 12 ; OPCODE_F64_CONST
-00000d8: 0000 0000 0000 0000 ; f64 literal
-00000e0: 98 ; OPCODE_F64_NE
-00000e1: 12 ; OPCODE_F64_CONST
-00000e2: 0000 0000 0000 0000 ; f64 literal
-00000ea: 12 ; OPCODE_F64_CONST
-00000eb: 0000 0000 0000 0000 ; f64 literal
-00000f3: 99 ; OPCODE_F64_LT
+000008e: 83 ; OPCODE_F32_EQ
+000008f: 0b ; OPCODE_DROP
+0000090: 13 ; OPCODE_F32_CONST
+0000091: 0000 0000 ; f32 literal
+0000095: 13 ; OPCODE_F32_CONST
+0000096: 0000 0000 ; f32 literal
+000009a: 84 ; OPCODE_F32_NE
+000009b: 0b ; OPCODE_DROP
+000009c: 13 ; OPCODE_F32_CONST
+000009d: 0000 0000 ; f32 literal
+00000a1: 13 ; OPCODE_F32_CONST
+00000a2: 0000 0000 ; f32 literal
+00000a6: 85 ; OPCODE_F32_LT
+00000a7: 0b ; OPCODE_DROP
+00000a8: 13 ; OPCODE_F32_CONST
+00000a9: 0000 0000 ; f32 literal
+00000ad: 13 ; OPCODE_F32_CONST
+00000ae: 0000 0000 ; f32 literal
+00000b2: 86 ; OPCODE_F32_LE
+00000b3: 0b ; OPCODE_DROP
+00000b4: 13 ; OPCODE_F32_CONST
+00000b5: 0000 0000 ; f32 literal
+00000b9: 13 ; OPCODE_F32_CONST
+00000ba: 0000 0000 ; f32 literal
+00000be: 87 ; OPCODE_F32_GT
+00000bf: 0b ; OPCODE_DROP
+00000c0: 13 ; OPCODE_F32_CONST
+00000c1: 0000 0000 ; f32 literal
+00000c5: 13 ; OPCODE_F32_CONST
+00000c6: 0000 0000 ; f32 literal
+00000ca: 88 ; OPCODE_F32_GE
+00000cb: 0b ; OPCODE_DROP
+00000cc: 12 ; OPCODE_F64_CONST
+00000cd: 0000 0000 0000 0000 ; f64 literal
+00000d5: 12 ; OPCODE_F64_CONST
+00000d6: 0000 0000 0000 0000 ; f64 literal
+00000de: 97 ; OPCODE_F64_EQ
+00000df: 0b ; OPCODE_DROP
+00000e0: 12 ; OPCODE_F64_CONST
+00000e1: 0000 0000 0000 0000 ; f64 literal
+00000e9: 12 ; OPCODE_F64_CONST
+00000ea: 0000 0000 0000 0000 ; f64 literal
+00000f2: 98 ; OPCODE_F64_NE
+00000f3: 0b ; OPCODE_DROP
00000f4: 12 ; OPCODE_F64_CONST
00000f5: 0000 0000 0000 0000 ; f64 literal
00000fd: 12 ; OPCODE_F64_CONST
00000fe: 0000 0000 0000 0000 ; f64 literal
-0000106: 9a ; OPCODE_F64_LE
-0000107: 12 ; OPCODE_F64_CONST
-0000108: 0000 0000 0000 0000 ; f64 literal
-0000110: 12 ; OPCODE_F64_CONST
-0000111: 0000 0000 0000 0000 ; f64 literal
-0000119: 9b ; OPCODE_F64_GT
-000011a: 12 ; OPCODE_F64_CONST
-000011b: 0000 0000 0000 0000 ; f64 literal
-0000123: 12 ; OPCODE_F64_CONST
-0000124: 0000 0000 0000 0000 ; f64 literal
-000012c: 9c ; OPCODE_F64_GE
-; move data: [26, 12d) -> [27, 12e)
-0000025: 8702 ; FIXUP func body size
-; move data: [24, 12e) -> [25, 12f)
-0000023: 8a02 ; FIXUP section size
+0000106: 99 ; OPCODE_F64_LT
+0000107: 0b ; OPCODE_DROP
+0000108: 12 ; OPCODE_F64_CONST
+0000109: 0000 0000 0000 0000 ; f64 literal
+0000111: 12 ; OPCODE_F64_CONST
+0000112: 0000 0000 0000 0000 ; f64 literal
+000011a: 9a ; OPCODE_F64_LE
+000011b: 0b ; OPCODE_DROP
+000011c: 12 ; OPCODE_F64_CONST
+000011d: 0000 0000 0000 0000 ; f64 literal
+0000125: 12 ; OPCODE_F64_CONST
+0000126: 0000 0000 0000 0000 ; f64 literal
+000012e: 9b ; OPCODE_F64_GT
+000012f: 0b ; OPCODE_DROP
+0000130: 12 ; OPCODE_F64_CONST
+0000131: 0000 0000 0000 0000 ; f64 literal
+0000139: 12 ; OPCODE_F64_CONST
+000013a: 0000 0000 0000 0000 ; f64 literal
+0000142: 9c ; OPCODE_F64_GE
+0000143: 0b ; OPCODE_DROP
+; move data: [26, 144) -> [27, 145)
+0000025: 9e02 ; FIXUP func body size
+; move data: [24, 145) -> [25, 146)
+0000023: a102 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 658a 0201 8702 0010 0010 0056 1000
+0000020: 6f64 65a1 0201 9e02 0010 0010 0056 1000
0000030: 5410 0055 1000 5310 0052 1000 5010 0051
-0000040: 1000 4f10 004e 1000 4d11 0011 0068 1100
-0000050: 1100 6911 0011 006a 1100 1100 6c11 0011
-0000060: 006b 1100 1100 6d11 0011 006e 1100 1100
-0000070: 7011 0011 006f 1100 1100 7113 0000 0000
-0000080: 1300 0000 0083 1300 0000 0013 0000 0000
-0000090: 8413 0000 0000 1300 0000 0085 1300 0000
-00000a0: 0013 0000 0000 8613 0000 0000 1300 0000
-00000b0: 0087 1300 0000 0013 0000 0000 8812 0000
-00000c0: 0000 0000 0000 1200 0000 0000 0000 0097
-00000d0: 1200 0000 0000 0000 0012 0000 0000 0000
-00000e0: 0000 9812 0000 0000 0000 0000 1200 0000
-00000f0: 0000 0000 0099 1200 0000 0000 0000 0012
-0000100: 0000 0000 0000 0000 9a12 0000 0000 0000
-0000110: 0000 1200 0000 0000 0000 009b 1200 0000
-0000120: 0000 0000 0012 0000 0000 0000 0000 9c
+0000040: 1000 4f10 004e 1000 4d0b 1100 1100 680b
+0000050: 1100 1100 690b 1100 1100 6a0b 1100 1100
+0000060: 6c0b 1100 1100 6b0b 1100 1100 6d0b 1100
+0000070: 1100 6e0b 1100 1100 700b 1100 1100 6f0b
+0000080: 1100 1100 710b 1300 0000 0013 0000 0000
+0000090: 830b 1300 0000 0013 0000 0000 840b 1300
+00000a0: 0000 0013 0000 0000 850b 1300 0000 0013
+00000b0: 0000 0000 860b 1300 0000 0013 0000 0000
+00000c0: 870b 1300 0000 0013 0000 0000 880b 1200
+00000d0: 0000 0000 0000 0012 0000 0000 0000 0000
+00000e0: 970b 1200 0000 0000 0000 0012 0000 0000
+00000f0: 0000 0000 980b 1200 0000 0000 0000 0012
+0000100: 0000 0000 0000 0000 990b 1200 0000 0000
+0000110: 0000 0012 0000 0000 0000 0000 9a0b 1200
+0000120: 0000 0000 0000 0012 0000 0000 0000 0000
+0000130: 9b0b 1200 0000 0000 0000 0012 0000 0000
+0000140: 0000 0000 9c0b
;;; STDOUT ;;)
diff --git a/test/dump/const.txt b/test/dump/const.txt
index c8695fbf..3d6b0db1 100644
--- a/test/dump/const.txt
+++ b/test/dump/const.txt
@@ -1,50 +1,50 @@
;;; FLAGS: -dv
(module
(func
- (i32.const 0)
- (i32.const -2147483648)
- (i32.const 4294967295)
- (i32.const -0x80000000)
- (i32.const 0xffffffff)
+ (drop (i32.const 0))
+ (drop (i32.const -2147483648))
+ (drop (i32.const 4294967295))
+ (drop (i32.const -0x80000000))
+ (drop (i32.const 0xffffffff))
- (i64.const 0)
- (i64.const -9223372036854775808)
- (i64.const 18446744073709551615)
- (i64.const -0x8000000000000000)
- (i64.const 0xffffffffffffffff)
+ (drop (i64.const 0))
+ (drop (i64.const -9223372036854775808))
+ (drop (i64.const 18446744073709551615))
+ (drop (i64.const -0x8000000000000000))
+ (drop (i64.const 0xffffffffffffffff))
- (f32.const 0.0)
- (f32.const 1e23)
- (f32.const 1.234567e-5)
- (f32.const nan)
- (f32.const -nan)
- (f32.const +nan)
- (f32.const nan:0xabc)
- (f32.const -nan:0xabc)
- (f32.const +nan:0xabc)
- (f32.const infinity)
- (f32.const -infinity)
- (f32.const +infinity)
- (f32.const -0x1p-1)
- (f32.const 0x1.921fb6p+2)
+ (drop (f32.const 0.0))
+ (drop (f32.const 1e23))
+ (drop (f32.const 1.234567e-5))
+ (drop (f32.const nan))
+ (drop (f32.const -nan))
+ (drop (f32.const +nan))
+ (drop (f32.const nan:0xabc))
+ (drop (f32.const -nan:0xabc))
+ (drop (f32.const +nan:0xabc))
+ (drop (f32.const infinity))
+ (drop (f32.const -infinity))
+ (drop (f32.const +infinity))
+ (drop (f32.const -0x1p-1))
+ (drop (f32.const 0x1.921fb6p+2))
- (f64.const 0.0)
- (f64.const -0.987654321)
- (f64.const 6.283185307179586)
- (f64.const nan)
- (f64.const -nan)
- (f64.const +nan)
- (f64.const nan:0xabc)
- (f64.const -nan:0xabc)
- (f64.const +nan:0xabc)
- (f64.const infinity)
- (f64.const -infinity)
- (f64.const +infinity)
- (f64.const -0x1p-1)
- (f64.const 0x1.921fb54442d18p+2)))
+ (drop (f64.const 0.0))
+ (drop (f64.const -0.987654321))
+ (drop (f64.const 6.283185307179586))
+ (drop (f64.const nan))
+ (drop (f64.const -nan))
+ (drop (f64.const +nan))
+ (drop (f64.const nan:0xabc))
+ (drop (f64.const -nan:0xabc))
+ (drop (f64.const +nan:0xabc))
+ (drop (f64.const infinity))
+ (drop (f64.const -infinity))
+ (drop (f64.const +infinity))
+ (drop (f64.const -0x1p-1))
+ (drop (f64.const 0x1.921fb54442d18p+2))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -72,101 +72,142 @@
0000026: 00 ; local decl count
0000027: 10 ; OPCODE_I32_CONST
0000028: 00 ; i32 literal
-0000029: 10 ; OPCODE_I32_CONST
-000002a: 8080 8080 78 ; i32 literal
-000002f: 10 ; OPCODE_I32_CONST
-0000030: 7f ; i32 literal
+0000029: 0b ; OPCODE_DROP
+000002a: 10 ; OPCODE_I32_CONST
+000002b: 8080 8080 78 ; i32 literal
+0000030: 0b ; OPCODE_DROP
0000031: 10 ; OPCODE_I32_CONST
-0000032: 8080 8080 78 ; i32 literal
-0000037: 10 ; OPCODE_I32_CONST
-0000038: 7f ; i32 literal
-0000039: 11 ; OPCODE_I64_CONST
-000003a: 00 ; i64 literal
-000003b: 11 ; OPCODE_I64_CONST
-000003c: 8080 8080 8080 8080 807f ; i64 literal
-0000046: 11 ; OPCODE_I64_CONST
-0000047: 7f ; i64 literal
-0000048: 11 ; OPCODE_I64_CONST
-0000049: 8080 8080 8080 8080 807f ; i64 literal
-0000053: 11 ; OPCODE_I64_CONST
-0000054: 7f ; i64 literal
-0000055: 13 ; OPCODE_F32_CONST
-0000056: 0000 0000 ; f32 literal
-000005a: 13 ; OPCODE_F32_CONST
-000005b: 1668 a965 ; f32 literal
+0000032: 7f ; i32 literal
+0000033: 0b ; OPCODE_DROP
+0000034: 10 ; OPCODE_I32_CONST
+0000035: 8080 8080 78 ; i32 literal
+000003a: 0b ; OPCODE_DROP
+000003b: 10 ; OPCODE_I32_CONST
+000003c: 7f ; i32 literal
+000003d: 0b ; OPCODE_DROP
+000003e: 11 ; OPCODE_I64_CONST
+000003f: 00 ; i64 literal
+0000040: 0b ; OPCODE_DROP
+0000041: 11 ; OPCODE_I64_CONST
+0000042: 8080 8080 8080 8080 807f ; i64 literal
+000004c: 0b ; OPCODE_DROP
+000004d: 11 ; OPCODE_I64_CONST
+000004e: 7f ; i64 literal
+000004f: 0b ; OPCODE_DROP
+0000050: 11 ; OPCODE_I64_CONST
+0000051: 8080 8080 8080 8080 807f ; i64 literal
+000005b: 0b ; OPCODE_DROP
+000005c: 11 ; OPCODE_I64_CONST
+000005d: 7f ; i64 literal
+000005e: 0b ; OPCODE_DROP
000005f: 13 ; OPCODE_F32_CONST
-0000060: 4020 4f37 ; f32 literal
-0000064: 13 ; OPCODE_F32_CONST
-0000065: 0000 c07f ; f32 literal
-0000069: 13 ; OPCODE_F32_CONST
-000006a: 0000 c0ff ; f32 literal
-000006e: 13 ; OPCODE_F32_CONST
-000006f: 0000 c07f ; f32 literal
-0000073: 13 ; OPCODE_F32_CONST
-0000074: bc0a 807f ; f32 literal
-0000078: 13 ; OPCODE_F32_CONST
-0000079: bc0a 80ff ; f32 literal
+0000060: 0000 0000 ; f32 literal
+0000064: 0b ; OPCODE_DROP
+0000065: 13 ; OPCODE_F32_CONST
+0000066: 1668 a965 ; f32 literal
+000006a: 0b ; OPCODE_DROP
+000006b: 13 ; OPCODE_F32_CONST
+000006c: 4020 4f37 ; f32 literal
+0000070: 0b ; OPCODE_DROP
+0000071: 13 ; OPCODE_F32_CONST
+0000072: 0000 c07f ; f32 literal
+0000076: 0b ; OPCODE_DROP
+0000077: 13 ; OPCODE_F32_CONST
+0000078: 0000 c0ff ; f32 literal
+000007c: 0b ; OPCODE_DROP
000007d: 13 ; OPCODE_F32_CONST
-000007e: bc0a 807f ; f32 literal
-0000082: 13 ; OPCODE_F32_CONST
-0000083: 0000 807f ; f32 literal
-0000087: 13 ; OPCODE_F32_CONST
-0000088: 0000 80ff ; f32 literal
-000008c: 13 ; OPCODE_F32_CONST
-000008d: 0000 807f ; f32 literal
-0000091: 13 ; OPCODE_F32_CONST
-0000092: 0000 00bf ; f32 literal
-0000096: 13 ; OPCODE_F32_CONST
-0000097: db0f c940 ; f32 literal
-000009b: 12 ; OPCODE_F64_CONST
-000009c: 0000 0000 0000 0000 ; f64 literal
-00000a4: 12 ; OPCODE_F64_CONST
-00000a5: b856 0e3c dd9a efbf ; f64 literal
-00000ad: 12 ; OPCODE_F64_CONST
-00000ae: 182d 4454 fb21 1940 ; f64 literal
-00000b6: 12 ; OPCODE_F64_CONST
-00000b7: 0000 0000 0000 f87f ; f64 literal
-00000bf: 12 ; OPCODE_F64_CONST
-00000c0: 0000 0000 0000 f8ff ; f64 literal
-00000c8: 12 ; OPCODE_F64_CONST
-00000c9: 0000 0000 0000 f87f ; f64 literal
+000007e: 0000 c07f ; f32 literal
+0000082: 0b ; OPCODE_DROP
+0000083: 13 ; OPCODE_F32_CONST
+0000084: bc0a 807f ; f32 literal
+0000088: 0b ; OPCODE_DROP
+0000089: 13 ; OPCODE_F32_CONST
+000008a: bc0a 80ff ; f32 literal
+000008e: 0b ; OPCODE_DROP
+000008f: 13 ; OPCODE_F32_CONST
+0000090: bc0a 807f ; f32 literal
+0000094: 0b ; OPCODE_DROP
+0000095: 13 ; OPCODE_F32_CONST
+0000096: 0000 807f ; f32 literal
+000009a: 0b ; OPCODE_DROP
+000009b: 13 ; OPCODE_F32_CONST
+000009c: 0000 80ff ; f32 literal
+00000a0: 0b ; OPCODE_DROP
+00000a1: 13 ; OPCODE_F32_CONST
+00000a2: 0000 807f ; f32 literal
+00000a6: 0b ; OPCODE_DROP
+00000a7: 13 ; OPCODE_F32_CONST
+00000a8: 0000 00bf ; f32 literal
+00000ac: 0b ; OPCODE_DROP
+00000ad: 13 ; OPCODE_F32_CONST
+00000ae: db0f c940 ; f32 literal
+00000b2: 0b ; OPCODE_DROP
+00000b3: 12 ; OPCODE_F64_CONST
+00000b4: 0000 0000 0000 0000 ; f64 literal
+00000bc: 0b ; OPCODE_DROP
+00000bd: 12 ; OPCODE_F64_CONST
+00000be: b856 0e3c dd9a efbf ; f64 literal
+00000c6: 0b ; OPCODE_DROP
+00000c7: 12 ; OPCODE_F64_CONST
+00000c8: 182d 4454 fb21 1940 ; f64 literal
+00000d0: 0b ; OPCODE_DROP
00000d1: 12 ; OPCODE_F64_CONST
-00000d2: bc0a 0000 0000 f07f ; f64 literal
-00000da: 12 ; OPCODE_F64_CONST
-00000db: bc0a 0000 0000 f0ff ; f64 literal
-00000e3: 12 ; OPCODE_F64_CONST
-00000e4: bc0a 0000 0000 f07f ; f64 literal
-00000ec: 12 ; OPCODE_F64_CONST
-00000ed: 0000 0000 0000 f07f ; f64 literal
-00000f5: 12 ; OPCODE_F64_CONST
-00000f6: 0000 0000 0000 f0ff ; f64 literal
-00000fe: 12 ; OPCODE_F64_CONST
-00000ff: 0000 0000 0000 f07f ; f64 literal
-0000107: 12 ; OPCODE_F64_CONST
-0000108: 0000 0000 0000 e0bf ; f64 literal
-0000110: 12 ; OPCODE_F64_CONST
-0000111: 182d 4454 fb21 1940 ; f64 literal
-; move data: [26, 119) -> [27, 11a)
-0000025: f301 ; FIXUP func body size
-; move data: [24, 11a) -> [25, 11b)
-0000023: f601 ; FIXUP section size
+00000d2: 0000 0000 0000 f87f ; f64 literal
+00000da: 0b ; OPCODE_DROP
+00000db: 12 ; OPCODE_F64_CONST
+00000dc: 0000 0000 0000 f8ff ; f64 literal
+00000e4: 0b ; OPCODE_DROP
+00000e5: 12 ; OPCODE_F64_CONST
+00000e6: 0000 0000 0000 f87f ; f64 literal
+00000ee: 0b ; OPCODE_DROP
+00000ef: 12 ; OPCODE_F64_CONST
+00000f0: bc0a 0000 0000 f07f ; f64 literal
+00000f8: 0b ; OPCODE_DROP
+00000f9: 12 ; OPCODE_F64_CONST
+00000fa: bc0a 0000 0000 f0ff ; f64 literal
+0000102: 0b ; OPCODE_DROP
+0000103: 12 ; OPCODE_F64_CONST
+0000104: bc0a 0000 0000 f07f ; f64 literal
+000010c: 0b ; OPCODE_DROP
+000010d: 12 ; OPCODE_F64_CONST
+000010e: 0000 0000 0000 f07f ; f64 literal
+0000116: 0b ; OPCODE_DROP
+0000117: 12 ; OPCODE_F64_CONST
+0000118: 0000 0000 0000 f0ff ; f64 literal
+0000120: 0b ; OPCODE_DROP
+0000121: 12 ; OPCODE_F64_CONST
+0000122: 0000 0000 0000 f07f ; f64 literal
+000012a: 0b ; OPCODE_DROP
+000012b: 12 ; OPCODE_F64_CONST
+000012c: 0000 0000 0000 e0bf ; f64 literal
+0000134: 0b ; OPCODE_DROP
+0000135: 12 ; OPCODE_F64_CONST
+0000136: 182d 4454 fb21 1940 ; f64 literal
+000013e: 0b ; OPCODE_DROP
+; move data: [26, 13f) -> [27, 140)
+0000025: 9902 ; FIXUP func body size
+; move data: [24, 140) -> [25, 141)
+0000023: 9c02 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 65f6 0101 f301 0010 0010 8080 8080
-0000030: 7810 7f10 8080 8080 7810 7f11 0011 8080
-0000040: 8080 8080 8080 807f 117f 1180 8080 8080
-0000050: 8080 8080 7f11 7f13 0000 0000 1316 68a9
-0000060: 6513 4020 4f37 1300 00c0 7f13 0000 c0ff
-0000070: 1300 00c0 7f13 bc0a 807f 13bc 0a80 ff13
-0000080: bc0a 807f 1300 0080 7f13 0000 80ff 1300
-0000090: 0080 7f13 0000 00bf 13db 0fc9 4012 0000
-00000a0: 0000 0000 0000 12b8 560e 3cdd 9aef bf12
-00000b0: 182d 4454 fb21 1940 1200 0000 0000 00f8
-00000c0: 7f12 0000 0000 0000 f8ff 1200 0000 0000
-00000d0: 00f8 7f12 bc0a 0000 0000 f07f 12bc 0a00
-00000e0: 0000 00f0 ff12 bc0a 0000 0000 f07f 1200
-00000f0: 0000 0000 00f0 7f12 0000 0000 0000 f0ff
-0000100: 1200 0000 0000 00f0 7f12 0000 0000 0000
-0000110: e0bf 1218 2d44 54fb 2119 40
+0000020: 6f64 659c 0201 9902 0010 000b 1080 8080
+0000030: 8078 0b10 7f0b 1080 8080 8078 0b10 7f0b
+0000040: 1100 0b11 8080 8080 8080 8080 807f 0b11
+0000050: 7f0b 1180 8080 8080 8080 8080 7f0b 117f
+0000060: 0b13 0000 0000 0b13 1668 a965 0b13 4020
+0000070: 4f37 0b13 0000 c07f 0b13 0000 c0ff 0b13
+0000080: 0000 c07f 0b13 bc0a 807f 0b13 bc0a 80ff
+0000090: 0b13 bc0a 807f 0b13 0000 807f 0b13 0000
+00000a0: 80ff 0b13 0000 807f 0b13 0000 00bf 0b13
+00000b0: db0f c940 0b12 0000 0000 0000 0000 0b12
+00000c0: b856 0e3c dd9a efbf 0b12 182d 4454 fb21
+00000d0: 1940 0b12 0000 0000 0000 f87f 0b12 0000
+00000e0: 0000 0000 f8ff 0b12 0000 0000 0000 f87f
+00000f0: 0b12 bc0a 0000 0000 f07f 0b12 bc0a 0000
+0000100: 0000 f0ff 0b12 bc0a 0000 0000 f07f 0b12
+0000110: 0000 0000 0000 f07f 0b12 0000 0000 0000
+0000120: f0ff 0b12 0000 0000 0000 f07f 0b12 0000
+0000130: 0000 0000 e0bf 0b12 182d 4454 fb21 1940
+0000140: 0b
;;; STDOUT ;;)
diff --git a/test/dump/convert.txt b/test/dump/convert.txt
index 1e5fc0d2..b4234a69 100644
--- a/test/dump/convert.txt
+++ b/test/dump/convert.txt
@@ -1,32 +1,35 @@
;;; FLAGS: -dv
(module
(func
- (i32.wrap/i64
- (i64.extend_u/i32
- (i32.trunc_s/f32
- (f32.convert_s/i32
- (i32.trunc_u/f32
- (f32.convert_u/i32
- (i32.trunc_s/f64
- (f64.convert_s/i32
- (i32.trunc_u/f64
- (f64.convert_u/i32 (i32.const 0)))))))))))
+ (drop
+ (i32.wrap/i64
+ (i64.extend_u/i32
+ (i32.trunc_s/f32
+ (f32.convert_s/i32
+ (i32.trunc_u/f32
+ (f32.convert_u/i32
+ (i32.trunc_s/f64
+ (f64.convert_s/i32
+ (i32.trunc_u/f64
+ (f64.convert_u/i32 (i32.const 0))))))))))))
- (i64.trunc_s/f32
- (f32.convert_s/i64
- (i64.trunc_u/f32
- (f32.convert_u/i64
- (i64.trunc_s/f64
- (f64.convert_s/i64
- (i64.trunc_u/f64
- (f64.convert_u/i64
- (i64.extend_s/i32 (i32.const 0))))))))))
+ (drop
+ (i64.trunc_s/f32
+ (f32.convert_s/i64
+ (i64.trunc_u/f32
+ (f32.convert_u/i64
+ (i64.trunc_s/f64
+ (f64.convert_s/i64
+ (i64.trunc_u/f64
+ (f64.convert_u/i64
+ (i64.extend_s/i32 (i32.const 0)))))))))))
- (f32.demote/f64
- (f64.promote/f32 (f32.const 0)))))
+ (drop
+ (f32.demote/f64
+ (f64.promote/f32 (f32.const 0))))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -64,27 +67,30 @@
0000030: 9d ; OPCODE_I32_TRUNC_S_F32
0000031: a7 ; OPCODE_I64_EXTEND_U_I32
0000032: a1 ; OPCODE_I32_WRAP_I64
-0000033: 10 ; OPCODE_I32_CONST
-0000034: 00 ; i32 literal
-0000035: a6 ; OPCODE_I64_EXTEND_S_I32
-0000036: b1 ; OPCODE_F64_CONVERT_U_I64
-0000037: a5 ; OPCODE_I64_TRUNC_U_F64
-0000038: b0 ; OPCODE_F64_CONVERT_S_I64
-0000039: a3 ; OPCODE_I64_TRUNC_S_F64
-000003a: ab ; OPCODE_F32_CONVERT_U_I64
-000003b: a4 ; OPCODE_I64_TRUNC_U_F32
-000003c: aa ; OPCODE_F32_CONVERT_S_I64
-000003d: a2 ; OPCODE_I64_TRUNC_S_F32
-000003e: 13 ; OPCODE_F32_CONST
-000003f: 0000 0000 ; f32 literal
-0000043: b2 ; OPCODE_F64_PROMOTE_F32
-0000044: ac ; OPCODE_F32_DEMOTE_F64
-0000025: 1f ; FIXUP func body size
-0000023: 21 ; FIXUP section size
+0000033: 0b ; OPCODE_DROP
+0000034: 10 ; OPCODE_I32_CONST
+0000035: 00 ; i32 literal
+0000036: a6 ; OPCODE_I64_EXTEND_S_I32
+0000037: b1 ; OPCODE_F64_CONVERT_U_I64
+0000038: a5 ; OPCODE_I64_TRUNC_U_F64
+0000039: b0 ; OPCODE_F64_CONVERT_S_I64
+000003a: a3 ; OPCODE_I64_TRUNC_S_F64
+000003b: ab ; OPCODE_F32_CONVERT_U_I64
+000003c: a4 ; OPCODE_I64_TRUNC_U_F32
+000003d: aa ; OPCODE_F32_CONVERT_S_I64
+000003e: a2 ; OPCODE_I64_TRUNC_S_F32
+000003f: 0b ; OPCODE_DROP
+0000040: 13 ; OPCODE_F32_CONST
+0000041: 0000 0000 ; f32 literal
+0000045: b2 ; OPCODE_F64_PROMOTE_F32
+0000046: ac ; OPCODE_F32_DEMOTE_F64
+0000047: 0b ; OPCODE_DROP
+0000025: 22 ; FIXUP func body size
+0000023: 24 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 6521 011f 0010 00af a0ae 9ea9 9fa8
-0000030: 9da7 a110 00a6 b1a5 b0a3 aba4 aaa2 1300
-0000040: 0000 00b2 ac
+0000020: 6f64 6524 0122 0010 00af a0ae 9ea9 9fa8
+0000030: 9da7 a10b 1000 a6b1 a5b0 a3ab a4aa a20b
+0000040: 1300 0000 00b2 ac0b
;;; STDOUT ;;)
diff --git a/test/dump/current-memory.txt b/test/dump/current-memory.txt
index c93882aa..77bc448c 100644
--- a/test/dump/current-memory.txt
+++ b/test/dump/current-memory.txt
@@ -5,7 +5,7 @@
(current_memory)))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -44,7 +44,7 @@
0000031: 02 ; FIXUP func body size
000002f: 04 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6505 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6505 0140
0000010: 0001 0108 6675 6e63 7469 6f6e 0201 0006
0000020: 6d65 6d6f 7279 0301 0100 0463 6f64 6504
0000030: 0102 003b
diff --git a/test/dump/debug-names.txt b/test/dump/debug-names.txt
index 11ef5552..dc26c8d7 100644
--- a/test/dump/debug-names.txt
+++ b/test/dump/debug-names.txt
@@ -11,7 +11,7 @@
(local $F2L3 i64)))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -85,7 +85,7 @@
0000069: 2446 324c 33 $F2L3 ; local name 3
000003c: 31 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6509 0240
+0000000: 0061 736d 0c00 0000 0474 7970 6509 0240
0000010: 0101 0040 0103 0008 6675 6e63 7469 6f6e
0000020: 0302 0001 0463 6f64 650d 0205 0201 0302
0000030: 0105 0201 0402 0204 6e61 6d65 3102 0324
diff --git a/test/dump/dedupe-sig.txt b/test/dump/dedupe-sig.txt
index c8a50f92..6072ddab 100644
--- a/test/dump/dedupe-sig.txt
+++ b/test/dump/dedupe-sig.txt
@@ -5,7 +5,7 @@
(import "foo" "bar" (param i32) (result i64)))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -50,7 +50,7 @@
0000039: 03 ; FIXUP func body size
0000037: 05 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6506 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6506 0140
0000010: 0101 0102 0669 6d70 6f72 740a 0100 0366
0000020: 6f6f 0362 6172 0866 756e 6374 696f 6e02
0000030: 0100 0463 6f64 6505 0103 0011 00
diff --git a/test/dump/drop.txt b/test/dump/drop.txt
new file mode 100644
index 00000000..ebc4c558
--- /dev/null
+++ b/test/dump/drop.txt
@@ -0,0 +1,42 @@
+;;; FLAGS: -dv
+(module
+ (func
+ (drop (i32.const 0))))
+(;; STDOUT ;;;
+0000000: 0061 736d ; WASM_BINARY_MAGIC
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
+; section "type"
+0000008: 04 ; string length
+0000009: 7479 7065 ; section id: "type"
+000000d: 00 ; section size (guess)
+000000e: 01 ; num types
+; type 0
+000000f: 40 ; function form
+0000010: 00 ; num params
+0000011: 00 ; num results
+000000d: 04 ; FIXUP section size
+; section "function"
+0000012: 08 ; string length
+0000013: 6675 6e63 7469 6f6e ; section id: "function"
+000001b: 00 ; section size (guess)
+000001c: 01 ; num functions
+000001d: 00 ; function 0 signature index
+000001b: 02 ; FIXUP section size
+; section "code"
+000001e: 04 ; string length
+000001f: 636f 6465 ; section id: "code"
+0000023: 00 ; section size (guess)
+0000024: 01 ; num functions
+; function body 0
+0000025: 00 ; func body size (guess)
+0000026: 00 ; local decl count
+0000027: 10 ; OPCODE_I32_CONST
+0000028: 00 ; i32 literal
+0000029: 0b ; OPCODE_DROP
+0000025: 04 ; FIXUP func body size
+0000023: 06 ; FIXUP section size
+;; dump
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
+0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
+0000020: 6f64 6506 0104 0010 000b
+;;; STDOUT ;;)
diff --git a/test/dump/export-multi.txt b/test/dump/export-multi.txt
index b77f3199..dc9398c0 100644
--- a/test/dump/export-multi.txt
+++ b/test/dump/export-multi.txt
@@ -5,7 +5,7 @@
(export "b" 0))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -43,12 +43,12 @@
; function body 0
0000034: 00 ; func body size (guess)
0000035: 00 ; local decl count
-0000036: 00 ; OPCODE_NOP
+0000036: 0a ; OPCODE_NOP
0000034: 02 ; FIXUP func body size
0000032: 04 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0665
0000020: 7870 6f72 7407 0200 0161 0001 6204 636f
-0000030: 6465 0401 0200 00
+0000030: 6465 0401 0200 0a
;;; STDOUT ;;)
diff --git a/test/dump/expr-br.txt b/test/dump/expr-br.txt
index 99231cc6..81dac816 100644
--- a/test/dump/expr-br.txt
+++ b/test/dump/expr-br.txt
@@ -5,7 +5,7 @@
(br 0 (i32.const 1)))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -42,7 +42,7 @@
0000026: 08 ; FIXUP func body size
0000024: 0a ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6505 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6505 0140
0000010: 0001 0108 6675 6e63 7469 6f6e 0201 0004
0000020: 636f 6465 0a01 0800 0110 0106 0100 0f
;;; STDOUT ;;)
diff --git a/test/dump/expr-brif.txt b/test/dump/expr-brif.txt
index 4d09cc46..244b585c 100644
--- a/test/dump/expr-brif.txt
+++ b/test/dump/expr-brif.txt
@@ -6,7 +6,7 @@
(i32.const 29))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -47,7 +47,7 @@
0000026: 0c ; FIXUP func body size
0000024: 0e ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6505 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6505 0140
0000010: 0001 0108 6675 6e63 7469 6f6e 0201 0004
0000020: 636f 6465 0e01 0c00 0110 2a10 0007 0100
0000030: 101d 0f
diff --git a/test/dump/func-exported.txt b/test/dump/func-exported.txt
index 1b6a6f10..1e58b69a 100644
--- a/test/dump/func-exported.txt
+++ b/test/dump/func-exported.txt
@@ -4,7 +4,7 @@
(export "foo" 0))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -42,7 +42,7 @@
0000033: 01 ; FIXUP func body size
0000031: 03 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0665
0000020: 7870 6f72 7406 0100 0366 6f6f 0463 6f64
0000030: 6503 0101 00
diff --git a/test/dump/func-multi.txt b/test/dump/func-multi.txt
index c4731ca8..86c1f236 100644
--- a/test/dump/func-multi.txt
+++ b/test/dump/func-multi.txt
@@ -5,7 +5,7 @@
(func))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -44,7 +44,7 @@
000002b: 01 ; FIXUP func body size
0000025: 07 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e04 0300 0000
0000020: 0463 6f64 6507 0301 0001 0001 00
;;; STDOUT ;;)
diff --git a/test/dump/func-named.txt b/test/dump/func-named.txt
index aece2867..ced01e1b 100644
--- a/test/dump/func-named.txt
+++ b/test/dump/func-named.txt
@@ -3,7 +3,7 @@
(func $my-func))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -32,7 +32,7 @@
0000025: 01 ; FIXUP func body size
0000023: 03 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
0000020: 6f64 6503 0101 00
;;; STDOUT ;;)
diff --git a/test/dump/getlocal-param.txt b/test/dump/getlocal-param.txt
index eb8454f3..ea99d68e 100644
--- a/test/dump/getlocal-param.txt
+++ b/test/dump/getlocal-param.txt
@@ -1,20 +1,23 @@
;;; FLAGS: -dv
(module
+ ;; parameters are always first
;; 0 1
(func (param i32 f32)
+ ;; by default, sexpr-wasm will remap locals so all similar types are
+ ;; grouped together, in the order i32, i64, f32, f64.
;; i32 2
;; i64 3
;; f32 4 5
(local i64 f32 i32 f32)
- (get_local 0)
- (get_local 1)
- (get_local 2)
- (get_local 3)
- (get_local 4)
- (get_local 5)))
+ (drop (get_local 0))
+ (drop (get_local 1))
+ (drop (get_local 2))
+ (drop (get_local 3))
+ (drop (get_local 4))
+ (drop (get_local 5))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -52,21 +55,28 @@
0000030: 03 ; WASM_TYPE_F32
0000031: 14 ; OPCODE_GET_LOCAL
0000032: 00 ; local index
-0000033: 14 ; OPCODE_GET_LOCAL
-0000034: 01 ; local index
-0000035: 14 ; OPCODE_GET_LOCAL
-0000036: 02 ; local index
+0000033: 0b ; OPCODE_DROP
+0000034: 14 ; OPCODE_GET_LOCAL
+0000035: 01 ; local index
+0000036: 0b ; OPCODE_DROP
0000037: 14 ; OPCODE_GET_LOCAL
-0000038: 03 ; local index
-0000039: 14 ; OPCODE_GET_LOCAL
-000003a: 04 ; local index
-000003b: 14 ; OPCODE_GET_LOCAL
-000003c: 05 ; local index
-0000027: 15 ; FIXUP func body size
-0000025: 17 ; FIXUP section size
+0000038: 02 ; local index
+0000039: 0b ; OPCODE_DROP
+000003a: 14 ; OPCODE_GET_LOCAL
+000003b: 03 ; local index
+000003c: 0b ; OPCODE_DROP
+000003d: 14 ; OPCODE_GET_LOCAL
+000003e: 04 ; local index
+000003f: 0b ; OPCODE_DROP
+0000040: 14 ; OPCODE_GET_LOCAL
+0000041: 05 ; local index
+0000042: 0b ; OPCODE_DROP
+0000027: 1b ; FIXUP func body size
+0000025: 1d ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6506 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6506 0140
0000010: 0201 0300 0866 756e 6374 696f 6e02 0100
-0000020: 0463 6f64 6517 0115 0401 0201 0301 0101
-0000030: 0314 0014 0114 0214 0314 0414 05
+0000020: 0463 6f64 651d 011b 0401 0201 0301 0101
+0000030: 0314 000b 1401 0b14 020b 1403 0b14 040b
+0000040: 1405 0b
;;; STDOUT ;;)
diff --git a/test/dump/getlocal.txt b/test/dump/getlocal.txt
index 00c0766c..e327d6b7 100644
--- a/test/dump/getlocal.txt
+++ b/test/dump/getlocal.txt
@@ -1,22 +1,24 @@
;;; FLAGS: -dv
(module
(func
+ ;; by default, sexpr-wasm will remap locals so all similar types are
+ ;; grouped together, in the order i32, i64, f32, f64.
;; i32 0 1
;; i64 2 3
;; f32 4 5
;; f64 6 7
(local f64 f32 i64 i32 i32 f32 f64 i64)
- (get_local 0)
- (get_local 1)
- (get_local 2)
- (get_local 3)
- (get_local 4)
- (get_local 5)
- (get_local 6)
- (get_local 7)))
+ (drop (get_local 0))
+ (drop (get_local 1))
+ (drop (get_local 2))
+ (drop (get_local 3))
+ (drop (get_local 4))
+ (drop (get_local 5))
+ (drop (get_local 6))
+ (drop (get_local 7))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -58,26 +60,34 @@
0000034: 02 ; WASM_TYPE_I64
0000035: 14 ; OPCODE_GET_LOCAL
0000036: 00 ; local index
-0000037: 14 ; OPCODE_GET_LOCAL
-0000038: 01 ; local index
-0000039: 14 ; OPCODE_GET_LOCAL
-000003a: 02 ; local index
+0000037: 0b ; OPCODE_DROP
+0000038: 14 ; OPCODE_GET_LOCAL
+0000039: 01 ; local index
+000003a: 0b ; OPCODE_DROP
000003b: 14 ; OPCODE_GET_LOCAL
-000003c: 03 ; local index
-000003d: 14 ; OPCODE_GET_LOCAL
-000003e: 04 ; local index
-000003f: 14 ; OPCODE_GET_LOCAL
-0000040: 05 ; local index
+000003c: 02 ; local index
+000003d: 0b ; OPCODE_DROP
+000003e: 14 ; OPCODE_GET_LOCAL
+000003f: 03 ; local index
+0000040: 0b ; OPCODE_DROP
0000041: 14 ; OPCODE_GET_LOCAL
-0000042: 06 ; local index
-0000043: 14 ; OPCODE_GET_LOCAL
-0000044: 07 ; local index
-0000025: 1f ; FIXUP func body size
-0000023: 21 ; FIXUP section size
+0000042: 04 ; local index
+0000043: 0b ; OPCODE_DROP
+0000044: 14 ; OPCODE_GET_LOCAL
+0000045: 05 ; local index
+0000046: 0b ; OPCODE_DROP
+0000047: 14 ; OPCODE_GET_LOCAL
+0000048: 06 ; local index
+0000049: 0b ; OPCODE_DROP
+000004a: 14 ; OPCODE_GET_LOCAL
+000004b: 07 ; local index
+000004c: 0b ; OPCODE_DROP
+0000025: 27 ; FIXUP func body size
+0000023: 29 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 6521 011f 0701 0401 0301 0202 0101
-0000030: 0301 0401 0214 0014 0114 0214 0314 0414
-0000040: 0514 0614 07
+0000020: 6f64 6529 0127 0701 0401 0301 0202 0101
+0000030: 0301 0401 0214 000b 1401 0b14 020b 1403
+0000040: 0b14 040b 1405 0b14 060b 1407 0b
;;; STDOUT ;;)
diff --git a/test/dump/grow-memory.txt b/test/dump/grow-memory.txt
index 0cbb63a7..dc51056a 100644
--- a/test/dump/grow-memory.txt
+++ b/test/dump/grow-memory.txt
@@ -2,10 +2,11 @@
(module
(memory 1 2)
(func (param i32)
- (grow_memory (get_local 0))))
+ (drop
+ (grow_memory (get_local 0)))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -43,11 +44,12 @@
0000033: 14 ; OPCODE_GET_LOCAL
0000034: 00 ; local index
0000035: 39 ; OPCODE_GROW_MEMORY
-0000031: 04 ; FIXUP func body size
-000002f: 06 ; FIXUP section size
+0000036: 0b ; OPCODE_DROP
+0000031: 05 ; FIXUP func body size
+000002f: 07 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6505 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6505 0140
0000010: 0101 0008 6675 6e63 7469 6f6e 0201 0006
-0000020: 6d65 6d6f 7279 0301 0200 0463 6f64 6506
-0000030: 0104 0014 0039
+0000020: 6d65 6d6f 7279 0301 0200 0463 6f64 6507
+0000030: 0105 0014 0039 0b
;;; STDOUT ;;)
diff --git a/test/dump/hexfloat_f32.txt b/test/dump/hexfloat_f32.txt
index d196354b..2f414204 100644
--- a/test/dump/hexfloat_f32.txt
+++ b/test/dump/hexfloat_f32.txt
@@ -1,28 +1,28 @@
;;; FLAGS: -dv
(module
(func
- (f32.const 0x0p0)
- (f32.const 0x1234.5p6)
- (f32.const 0xffffffffp20)
- (f32.const 0x1p127)
- (f32.const 0x0.08p127)
- (f32.const 0x2.46p+123)
- (f32.const 0x0.fffffp127)
- (f32.const 0x0.7fffffp127)
- (f32.const 0x0.ffffffffp128)
- (f32.const 0x1.ffff88p127)
- (f32.const 0x1.fffff1p127)
- (f32.const 0xfffff98p-133)
- (f32.const 0xfffff88p-133)
- (f32.const 0xfffffffffp-155)
- (f32.const 0x000000001.10000000000p0)
- (f32.const 0x1000000000.p4)
- (f32.const -0x1.ff01p1)
+ (drop (f32.const 0x0p0))
+ (drop (f32.const 0x1234.5p6))
+ (drop (f32.const 0xffffffffp20))
+ (drop (f32.const 0x1p127))
+ (drop (f32.const 0x0.08p127))
+ (drop (f32.const 0x2.46p+123))
+ (drop (f32.const 0x0.fffffp127))
+ (drop (f32.const 0x0.7fffffp127))
+ (drop (f32.const 0x0.ffffffffp128))
+ (drop (f32.const 0x1.ffff88p127))
+ (drop (f32.const 0x1.fffff1p127))
+ (drop (f32.const 0xfffff98p-133))
+ (drop (f32.const 0xfffff88p-133))
+ (drop (f32.const 0xfffffffffp-155))
+ (drop (f32.const 0x000000001.10000000000p0))
+ (drop (f32.const 0x1000000000.p4))
+ (drop (f32.const -0x1.ff01p1))
)
)
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -50,47 +50,65 @@
0000026: 00 ; local decl count
0000027: 13 ; OPCODE_F32_CONST
0000028: 0000 0000 ; f32 literal
-000002c: 13 ; OPCODE_F32_CONST
-000002d: 80a2 9148 ; f32 literal
-0000031: 13 ; OPCODE_F32_CONST
-0000032: 0000 8059 ; f32 literal
-0000036: 13 ; OPCODE_F32_CONST
-0000037: 0000 007f ; f32 literal
-000003b: 13 ; OPCODE_F32_CONST
-000003c: 0000 807c ; f32 literal
-0000040: 13 ; OPCODE_F32_CONST
-0000041: 0080 917d ; f32 literal
+000002c: 0b ; OPCODE_DROP
+000002d: 13 ; OPCODE_F32_CONST
+000002e: 80a2 9148 ; f32 literal
+0000032: 0b ; OPCODE_DROP
+0000033: 13 ; OPCODE_F32_CONST
+0000034: 0000 8059 ; f32 literal
+0000038: 0b ; OPCODE_DROP
+0000039: 13 ; OPCODE_F32_CONST
+000003a: 0000 007f ; f32 literal
+000003e: 0b ; OPCODE_DROP
+000003f: 13 ; OPCODE_F32_CONST
+0000040: 0000 807c ; f32 literal
+0000044: 0b ; OPCODE_DROP
0000045: 13 ; OPCODE_F32_CONST
-0000046: f0ff ff7e ; f32 literal
-000004a: 13 ; OPCODE_F32_CONST
-000004b: feff 7f7e ; f32 literal
-000004f: 13 ; OPCODE_F32_CONST
-0000050: 0000 807f ; f32 literal
-0000054: 13 ; OPCODE_F32_CONST
-0000055: c4ff 7f7f ; f32 literal
-0000059: 13 ; OPCODE_F32_CONST
-000005a: f8ff 7f7f ; f32 literal
-000005e: 13 ; OPCODE_F32_CONST
-000005f: faff ff0a ; f32 literal
+0000046: 0080 917d ; f32 literal
+000004a: 0b ; OPCODE_DROP
+000004b: 13 ; OPCODE_F32_CONST
+000004c: f0ff ff7e ; f32 literal
+0000050: 0b ; OPCODE_DROP
+0000051: 13 ; OPCODE_F32_CONST
+0000052: feff 7f7e ; f32 literal
+0000056: 0b ; OPCODE_DROP
+0000057: 13 ; OPCODE_F32_CONST
+0000058: 0000 807f ; f32 literal
+000005c: 0b ; OPCODE_DROP
+000005d: 13 ; OPCODE_F32_CONST
+000005e: c4ff 7f7f ; f32 literal
+0000062: 0b ; OPCODE_DROP
0000063: 13 ; OPCODE_F32_CONST
-0000064: f8ff ff0a ; f32 literal
-0000068: 13 ; OPCODE_F32_CONST
-0000069: 0000 0004 ; f32 literal
-000006d: 13 ; OPCODE_F32_CONST
-000006e: 0000 883f ; f32 literal
-0000072: 13 ; OPCODE_F32_CONST
-0000073: 0000 8053 ; f32 literal
-0000077: 13 ; OPCODE_F32_CONST
-0000078: 8080 7fc0 ; f32 literal
-0000025: 56 ; FIXUP func body size
-0000023: 58 ; FIXUP section size
+0000064: f8ff 7f7f ; f32 literal
+0000068: 0b ; OPCODE_DROP
+0000069: 13 ; OPCODE_F32_CONST
+000006a: faff ff0a ; f32 literal
+000006e: 0b ; OPCODE_DROP
+000006f: 13 ; OPCODE_F32_CONST
+0000070: f8ff ff0a ; f32 literal
+0000074: 0b ; OPCODE_DROP
+0000075: 13 ; OPCODE_F32_CONST
+0000076: 0000 0004 ; f32 literal
+000007a: 0b ; OPCODE_DROP
+000007b: 13 ; OPCODE_F32_CONST
+000007c: 0000 883f ; f32 literal
+0000080: 0b ; OPCODE_DROP
+0000081: 13 ; OPCODE_F32_CONST
+0000082: 0000 8053 ; f32 literal
+0000086: 0b ; OPCODE_DROP
+0000087: 13 ; OPCODE_F32_CONST
+0000088: 8080 7fc0 ; f32 literal
+000008c: 0b ; OPCODE_DROP
+0000025: 67 ; FIXUP func body size
+0000023: 69 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 6558 0156 0013 0000 0000 1380 a291
-0000030: 4813 0000 8059 1300 0000 7f13 0000 807c
-0000040: 1300 8091 7d13 f0ff ff7e 13fe ff7f 7e13
-0000050: 0000 807f 13c4 ff7f 7f13 f8ff 7f7f 13fa
-0000060: ffff 0a13 f8ff ff0a 1300 0000 0413 0000
-0000070: 883f 1300 0080 5313 8080 7fc0
+0000020: 6f64 6569 0167 0013 0000 0000 0b13 80a2
+0000030: 9148 0b13 0000 8059 0b13 0000 007f 0b13
+0000040: 0000 807c 0b13 0080 917d 0b13 f0ff ff7e
+0000050: 0b13 feff 7f7e 0b13 0000 807f 0b13 c4ff
+0000060: 7f7f 0b13 f8ff 7f7f 0b13 faff ff0a 0b13
+0000070: f8ff ff0a 0b13 0000 0004 0b13 0000 883f
+0000080: 0b13 0000 8053 0b13 8080 7fc0 0b
;;; STDOUT ;;)
diff --git a/test/dump/hexfloat_f64.txt b/test/dump/hexfloat_f64.txt
index 1cce0266..df5e0dce 100644
--- a/test/dump/hexfloat_f64.txt
+++ b/test/dump/hexfloat_f64.txt
@@ -1,28 +1,28 @@
;;; FLAGS: -dv
(module
(func
- (f64.const 0x0p0)
- (f64.const 0x1234.5p6)
- (f64.const 0xffffffffffffffffp20)
- (f64.const 0x1p1023)
- (f64.const 0x0.08p1023)
- (f64.const 0x2.46p+1020)
- (f64.const 0x0.ffffffffffp1023)
- (f64.const 0x0.7fffffffffffp1023)
- (f64.const 0x0.ffffffffffffffffp1024)
- (f64.const 0x1.ffffffffffffcp1023)
- (f64.const 0x1.ffffffffffffep1023)
- (f64.const 0xffffffffffff88p-1033)
- (f64.const 0xffffffffffff98p-1033)
- (f64.const 0xffffffffffffffp-1055)
- (f64.const 0x000000001.10000000000p0)
- (f64.const 0x1000000000.p4)
- (f64.const -0x1.ff01p1)
+ (drop (f64.const 0x0p0))
+ (drop (f64.const 0x1234.5p6))
+ (drop (f64.const 0xffffffffffffffffp20))
+ (drop (f64.const 0x1p1023))
+ (drop (f64.const 0x0.08p1023))
+ (drop (f64.const 0x2.46p+1020))
+ (drop (f64.const 0x0.ffffffffffp1023))
+ (drop (f64.const 0x0.7fffffffffffp1023))
+ (drop (f64.const 0x0.ffffffffffffffffp1024))
+ (drop (f64.const 0x1.ffffffffffffcp1023))
+ (drop (f64.const 0x1.ffffffffffffep1023))
+ (drop (f64.const 0xffffffffffff88p-1033))
+ (drop (f64.const 0xffffffffffff98p-1033))
+ (drop (f64.const 0xffffffffffffffp-1055))
+ (drop (f64.const 0x000000001.10000000000p0))
+ (drop (f64.const 0x1000000000.p4))
+ (drop (f64.const -0x1.ff01p1))
)
)
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -50,54 +50,72 @@
0000026: 00 ; local decl count
0000027: 12 ; OPCODE_F64_CONST
0000028: 0000 0000 0000 0000 ; f64 literal
-0000030: 12 ; OPCODE_F64_CONST
-0000031: 0000 0000 5034 1241 ; f64 literal
-0000039: 12 ; OPCODE_F64_CONST
-000003a: 0000 0000 0000 3045 ; f64 literal
-0000042: 12 ; OPCODE_F64_CONST
-0000043: 0000 0000 0000 e07f ; f64 literal
-000004b: 12 ; OPCODE_F64_CONST
-000004c: 0000 0000 0000 907f ; f64 literal
-0000054: 12 ; OPCODE_F64_CONST
-0000055: 0000 0000 0030 c27f ; f64 literal
-000005d: 12 ; OPCODE_F64_CONST
-000005e: 00e0 ffff ffff df7f ; f64 literal
-0000066: 12 ; OPCODE_F64_CONST
-0000067: c0ff ffff ffff cf7f ; f64 literal
-000006f: 12 ; OPCODE_F64_CONST
-0000070: 0000 0000 0000 f07f ; f64 literal
-0000078: 12 ; OPCODE_F64_CONST
-0000079: fcff ffff ffff ef7f ; f64 literal
+0000030: 0b ; OPCODE_DROP
+0000031: 12 ; OPCODE_F64_CONST
+0000032: 0000 0000 5034 1241 ; f64 literal
+000003a: 0b ; OPCODE_DROP
+000003b: 12 ; OPCODE_F64_CONST
+000003c: 0000 0000 0000 3045 ; f64 literal
+0000044: 0b ; OPCODE_DROP
+0000045: 12 ; OPCODE_F64_CONST
+0000046: 0000 0000 0000 e07f ; f64 literal
+000004e: 0b ; OPCODE_DROP
+000004f: 12 ; OPCODE_F64_CONST
+0000050: 0000 0000 0000 907f ; f64 literal
+0000058: 0b ; OPCODE_DROP
+0000059: 12 ; OPCODE_F64_CONST
+000005a: 0000 0000 0030 c27f ; f64 literal
+0000062: 0b ; OPCODE_DROP
+0000063: 12 ; OPCODE_F64_CONST
+0000064: 00e0 ffff ffff df7f ; f64 literal
+000006c: 0b ; OPCODE_DROP
+000006d: 12 ; OPCODE_F64_CONST
+000006e: c0ff ffff ffff cf7f ; f64 literal
+0000076: 0b ; OPCODE_DROP
+0000077: 12 ; OPCODE_F64_CONST
+0000078: 0000 0000 0000 f07f ; f64 literal
+0000080: 0b ; OPCODE_DROP
0000081: 12 ; OPCODE_F64_CONST
-0000082: feff ffff ffff ef7f ; f64 literal
-000008a: 12 ; OPCODE_F64_CONST
-000008b: f1ff ffff ffff df02 ; f64 literal
-0000093: 12 ; OPCODE_F64_CONST
-0000094: f3ff ffff ffff df02 ; f64 literal
-000009c: 12 ; OPCODE_F64_CONST
-000009d: 0000 0000 0000 8001 ; f64 literal
-00000a5: 12 ; OPCODE_F64_CONST
-00000a6: 0000 0000 0000 f13f ; f64 literal
-00000ae: 12 ; OPCODE_F64_CONST
-00000af: 0000 0000 0000 7042 ; f64 literal
-00000b7: 12 ; OPCODE_F64_CONST
-00000b8: 0000 0000 10f0 0fc0 ; f64 literal
-; move data: [26, c0) -> [27, c1)
-0000025: 9a01 ; FIXUP func body size
-; move data: [24, c1) -> [25, c2)
-0000023: 9d01 ; FIXUP section size
+0000082: fcff ffff ffff ef7f ; f64 literal
+000008a: 0b ; OPCODE_DROP
+000008b: 12 ; OPCODE_F64_CONST
+000008c: feff ffff ffff ef7f ; f64 literal
+0000094: 0b ; OPCODE_DROP
+0000095: 12 ; OPCODE_F64_CONST
+0000096: f1ff ffff ffff df02 ; f64 literal
+000009e: 0b ; OPCODE_DROP
+000009f: 12 ; OPCODE_F64_CONST
+00000a0: f3ff ffff ffff df02 ; f64 literal
+00000a8: 0b ; OPCODE_DROP
+00000a9: 12 ; OPCODE_F64_CONST
+00000aa: 0000 0000 0000 8001 ; f64 literal
+00000b2: 0b ; OPCODE_DROP
+00000b3: 12 ; OPCODE_F64_CONST
+00000b4: 0000 0000 0000 f13f ; f64 literal
+00000bc: 0b ; OPCODE_DROP
+00000bd: 12 ; OPCODE_F64_CONST
+00000be: 0000 0000 0000 7042 ; f64 literal
+00000c6: 0b ; OPCODE_DROP
+00000c7: 12 ; OPCODE_F64_CONST
+00000c8: 0000 0000 10f0 0fc0 ; f64 literal
+00000d0: 0b ; OPCODE_DROP
+; move data: [26, d1) -> [27, d2)
+0000025: ab01 ; FIXUP func body size
+; move data: [24, d2) -> [25, d3)
+0000023: ae01 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 659d 0101 9a01 0012 0000 0000 0000
-0000030: 0000 1200 0000 0050 3412 4112 0000 0000
-0000040: 0000 3045 1200 0000 0000 00e0 7f12 0000
-0000050: 0000 0000 907f 1200 0000 0000 30c2 7f12
-0000060: 00e0 ffff ffff df7f 12c0 ffff ffff ffcf
-0000070: 7f12 0000 0000 0000 f07f 12fc ffff ffff
-0000080: ffef 7f12 feff ffff ffff ef7f 12f1 ffff
-0000090: ffff ffdf 0212 f3ff ffff ffff df02 1200
-00000a0: 0000 0000 0080 0112 0000 0000 0000 f13f
-00000b0: 1200 0000 0000 0070 4212 0000 0000 10f0
-00000c0: 0fc0
+0000020: 6f64 65ae 0101 ab01 0012 0000 0000 0000
+0000030: 0000 0b12 0000 0000 5034 1241 0b12 0000
+0000040: 0000 0000 3045 0b12 0000 0000 0000 e07f
+0000050: 0b12 0000 0000 0000 907f 0b12 0000 0000
+0000060: 0030 c27f 0b12 00e0 ffff ffff df7f 0b12
+0000070: c0ff ffff ffff cf7f 0b12 0000 0000 0000
+0000080: f07f 0b12 fcff ffff ffff ef7f 0b12 feff
+0000090: ffff ffff ef7f 0b12 f1ff ffff ffff df02
+00000a0: 0b12 f3ff ffff ffff df02 0b12 0000 0000
+00000b0: 0000 8001 0b12 0000 0000 0000 f13f 0b12
+00000c0: 0000 0000 0000 7042 0b12 0000 0000 10f0
+00000d0: 0fc0 0b
;;; STDOUT ;;)
diff --git a/test/dump/if-then-else-list.txt b/test/dump/if-then-else-list.txt
index 56cf697f..84e7b324 100644
--- a/test/dump/if-then-else-list.txt
+++ b/test/dump/if-then-else-list.txt
@@ -2,11 +2,15 @@
(module
(func
(if (i32.const 1)
- (then (i32.const 2) (i32.const 3))
- (else (i32.const 4) (i32.const 5)))))
+ (then
+ (drop (i32.const 2))
+ (drop (i32.const 3)))
+ (else
+ (drop (i32.const 4))
+ (drop (i32.const 5))))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -37,19 +41,23 @@
0000029: 03 ; OPCODE_IF
000002a: 10 ; OPCODE_I32_CONST
000002b: 02 ; i32 literal
-000002c: 10 ; OPCODE_I32_CONST
-000002d: 03 ; i32 literal
-000002e: 04 ; OPCODE_ELSE
-000002f: 10 ; OPCODE_I32_CONST
-0000030: 04 ; i32 literal
+000002c: 0b ; OPCODE_DROP
+000002d: 10 ; OPCODE_I32_CONST
+000002e: 03 ; i32 literal
+000002f: 0b ; OPCODE_DROP
+0000030: 04 ; OPCODE_ELSE
0000031: 10 ; OPCODE_I32_CONST
-0000032: 05 ; i32 literal
-0000033: 0f ; OPCODE_END
-0000025: 0e ; FIXUP func body size
-0000023: 10 ; FIXUP section size
+0000032: 04 ; i32 literal
+0000033: 0b ; OPCODE_DROP
+0000034: 10 ; OPCODE_I32_CONST
+0000035: 05 ; i32 literal
+0000036: 0b ; OPCODE_DROP
+0000037: 0f ; OPCODE_END
+0000025: 12 ; FIXUP func body size
+0000023: 14 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 6510 010e 0010 0103 1002 1003 0410
-0000030: 0410 050f
+0000020: 6f64 6514 0112 0010 0103 1002 0b10 030b
+0000030: 0410 040b 1005 0b0f
;;; STDOUT ;;)
diff --git a/test/dump/if-then-list.txt b/test/dump/if-then-list.txt
index 9732bc05..f2a0be45 100644
--- a/test/dump/if-then-list.txt
+++ b/test/dump/if-then-list.txt
@@ -5,7 +5,7 @@
(then (nop) (nop)))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -34,13 +34,13 @@
0000027: 10 ; OPCODE_I32_CONST
0000028: 01 ; i32 literal
0000029: 03 ; OPCODE_IF
-000002a: 00 ; OPCODE_NOP
-000002b: 00 ; OPCODE_NOP
+000002a: 0a ; OPCODE_NOP
+000002b: 0a ; OPCODE_NOP
000002c: 0f ; OPCODE_END
0000025: 07 ; FIXUP func body size
0000023: 09 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 6509 0107 0010 0103 0000 0f
+0000020: 6f64 6509 0107 0010 0103 0a0a 0f
;;; STDOUT ;;)
diff --git a/test/dump/if.txt b/test/dump/if.txt
index 8ceda935..88ba930b 100644
--- a/test/dump/if.txt
+++ b/test/dump/if.txt
@@ -1,13 +1,19 @@
;;; FLAGS: -dv
(module
(func
- (if (i32.const 1) (nop))
- (if (i32.const 0) (f32.const 1.0) (f32.const 2.0)))
+ (if (i32.const 1)
+ (nop))
+ (drop
+ (if (i32.const 0)
+ (f32.const 1.0)
+ (f32.const 2.0))))
(func
- (if (i32.const 1) (return) (return))))
+ (if (i32.const 1)
+ (return)
+ (return))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -37,7 +43,7 @@
0000028: 10 ; OPCODE_I32_CONST
0000029: 01 ; i32 literal
000002a: 03 ; OPCODE_IF
-000002b: 00 ; OPCODE_NOP
+000002b: 0a ; OPCODE_NOP
000002c: 0f ; OPCODE_END
000002d: 10 ; OPCODE_I32_CONST
000002e: 00 ; i32 literal
@@ -48,25 +54,24 @@
0000036: 13 ; OPCODE_F32_CONST
0000037: 0000 0040 ; f32 literal
000003b: 0f ; OPCODE_END
-0000026: 15 ; FIXUP func body size
+000003c: 0b ; OPCODE_DROP
+0000026: 16 ; FIXUP func body size
; function body 1
-000003c: 00 ; func body size (guess)
-000003d: 00 ; local decl count
-000003e: 10 ; OPCODE_I32_CONST
-000003f: 01 ; i32 literal
-0000040: 03 ; OPCODE_IF
-0000041: 09 ; OPCODE_RETURN
-0000042: 00 ; return arity
+000003d: 00 ; func body size (guess)
+000003e: 00 ; local decl count
+000003f: 10 ; OPCODE_I32_CONST
+0000040: 01 ; i32 literal
+0000041: 03 ; OPCODE_IF
+0000042: 09 ; OPCODE_RETURN
0000043: 04 ; OPCODE_ELSE
0000044: 09 ; OPCODE_RETURN
-0000045: 00 ; return arity
-0000046: 0f ; OPCODE_END
-000003c: 0a ; FIXUP func body size
-0000024: 22 ; FIXUP section size
+0000045: 0f ; OPCODE_END
+000003d: 08 ; FIXUP func body size
+0000024: 21 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e03 0200 0004
-0000020: 636f 6465 2202 1500 1001 0300 0f10 0003
-0000030: 1300 0080 3f04 1300 0000 400f 0a00 1001
-0000040: 0309 0004 0900 0f
+0000020: 636f 6465 2102 1600 1001 030a 0f10 0003
+0000030: 1300 0080 3f04 1300 0000 400f 0b08 0010
+0000040: 0103 0904 090f
;;; STDOUT ;;)
diff --git a/test/dump/import.txt b/test/dump/import.txt
index 8d924216..889737bc 100644
--- a/test/dump/import.txt
+++ b/test/dump/import.txt
@@ -4,7 +4,7 @@
(import "ignored" "test2" (param i32) (result i32)))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -44,7 +44,7 @@
000003c: 7465 7374 32 test2 ; import function name
0000022: 1e ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 650d 0240
+0000000: 0061 736d 0c00 0000 0474 7970 650d 0240
0000010: 0401 0203 0400 4001 0101 0106 696d 706f
0000020: 7274 1e02 0007 6967 6e6f 7265 6404 7465
0000030: 7374 0107 6967 6e6f 7265 6405 7465 7374
diff --git a/test/dump/load-aligned.txt b/test/dump/load-aligned.txt
index 6bf9b54a..265de8a3 100644
--- a/test/dump/load-aligned.txt
+++ b/test/dump/load-aligned.txt
@@ -1,43 +1,43 @@
;;; FLAGS: -dv
(module
(func
- (i32.load8_s align=1 (i32.const 0))
- (i32.load8_s align=2 (i32.const 0))
- (i32.load8_s align=4 (i32.const 0))
- (i32.load8_s align=8 (i32.const 0))
+ (drop (i32.load8_s align=1 (i32.const 0)))
+ (drop (i32.load8_s align=2 (i32.const 0)))
+ (drop (i32.load8_s align=4 (i32.const 0)))
+ (drop (i32.load8_s align=8 (i32.const 0)))
- (i32.load16_s align=1 (i32.const 0))
- (i32.load16_s align=2 (i32.const 0))
- (i32.load16_s align=4 (i32.const 0))
- (i32.load16_s align=8 (i32.const 0))
+ (drop (i32.load16_s align=1 (i32.const 0)))
+ (drop (i32.load16_s align=2 (i32.const 0)))
+ (drop (i32.load16_s align=4 (i32.const 0)))
+ (drop (i32.load16_s align=8 (i32.const 0)))
- (i32.load align=1 (i32.const 0))
- (i32.load align=2 (i32.const 0))
- (i32.load align=4 (i32.const 0))
- (i32.load align=8 (i32.const 0))
+ (drop (i32.load align=1 (i32.const 0)))
+ (drop (i32.load align=2 (i32.const 0)))
+ (drop (i32.load align=4 (i32.const 0)))
+ (drop (i32.load align=8 (i32.const 0)))
- (i64.load align=1 (i32.const 0))
- (i64.load align=2 (i32.const 0))
- (i64.load align=4 (i32.const 0))
- (i64.load align=8 (i32.const 0))
+ (drop (i64.load align=1 (i32.const 0)))
+ (drop (i64.load align=2 (i32.const 0)))
+ (drop (i64.load align=4 (i32.const 0)))
+ (drop (i64.load align=8 (i32.const 0)))
- (i64.load8_s align=1 (i32.const 0))
- (i64.load8_s align=2 (i32.const 0))
- (i64.load8_s align=4 (i32.const 0))
- (i64.load8_s align=8 (i32.const 0))
+ (drop (i64.load8_s align=1 (i32.const 0)))
+ (drop (i64.load8_s align=2 (i32.const 0)))
+ (drop (i64.load8_s align=4 (i32.const 0)))
+ (drop (i64.load8_s align=8 (i32.const 0)))
- (i64.load16_s align=1 (i32.const 0))
- (i64.load16_s align=2 (i32.const 0))
- (i64.load16_s align=4 (i32.const 0))
- (i64.load16_s align=8 (i32.const 0))
+ (drop (i64.load16_s align=1 (i32.const 0)))
+ (drop (i64.load16_s align=2 (i32.const 0)))
+ (drop (i64.load16_s align=4 (i32.const 0)))
+ (drop (i64.load16_s align=8 (i32.const 0)))
- (i64.load32_s align=1 (i32.const 0))
- (i64.load32_s align=2 (i32.const 0))
- (i64.load32_s align=4 (i32.const 0))
- (i64.load32_s align=8 (i32.const 0))))
+ (drop (i64.load32_s align=1 (i32.const 0)))
+ (drop (i64.load32_s align=2 (i32.const 0)))
+ (drop (i64.load32_s align=4 (i32.const 0)))
+ (drop (i64.load32_s align=8 (i32.const 0)))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -68,156 +68,186 @@
0000029: 20 ; OPCODE_I32_LOAD8_S
000002a: 00 ; alignment
000002b: 00 ; load offset
-000002c: 10 ; OPCODE_I32_CONST
-000002d: 00 ; i32 literal
-000002e: 20 ; OPCODE_I32_LOAD8_S
-000002f: 01 ; alignment
-0000030: 00 ; load offset
-0000031: 10 ; OPCODE_I32_CONST
-0000032: 00 ; i32 literal
-0000033: 20 ; OPCODE_I32_LOAD8_S
-0000034: 02 ; alignment
-0000035: 00 ; load offset
-0000036: 10 ; OPCODE_I32_CONST
-0000037: 00 ; i32 literal
-0000038: 20 ; OPCODE_I32_LOAD8_S
-0000039: 03 ; alignment
-000003a: 00 ; load offset
-000003b: 10 ; OPCODE_I32_CONST
-000003c: 00 ; i32 literal
-000003d: 22 ; OPCODE_I32_LOAD16_S
-000003e: 00 ; alignment
-000003f: 00 ; load offset
-0000040: 10 ; OPCODE_I32_CONST
-0000041: 00 ; i32 literal
-0000042: 22 ; OPCODE_I32_LOAD16_S
-0000043: 01 ; alignment
-0000044: 00 ; load offset
+000002c: 0b ; OPCODE_DROP
+000002d: 10 ; OPCODE_I32_CONST
+000002e: 00 ; i32 literal
+000002f: 20 ; OPCODE_I32_LOAD8_S
+0000030: 01 ; alignment
+0000031: 00 ; load offset
+0000032: 0b ; OPCODE_DROP
+0000033: 10 ; OPCODE_I32_CONST
+0000034: 00 ; i32 literal
+0000035: 20 ; OPCODE_I32_LOAD8_S
+0000036: 02 ; alignment
+0000037: 00 ; load offset
+0000038: 0b ; OPCODE_DROP
+0000039: 10 ; OPCODE_I32_CONST
+000003a: 00 ; i32 literal
+000003b: 20 ; OPCODE_I32_LOAD8_S
+000003c: 03 ; alignment
+000003d: 00 ; load offset
+000003e: 0b ; OPCODE_DROP
+000003f: 10 ; OPCODE_I32_CONST
+0000040: 00 ; i32 literal
+0000041: 22 ; OPCODE_I32_LOAD16_S
+0000042: 00 ; alignment
+0000043: 00 ; load offset
+0000044: 0b ; OPCODE_DROP
0000045: 10 ; OPCODE_I32_CONST
0000046: 00 ; i32 literal
0000047: 22 ; OPCODE_I32_LOAD16_S
-0000048: 02 ; alignment
+0000048: 01 ; alignment
0000049: 00 ; load offset
-000004a: 10 ; OPCODE_I32_CONST
-000004b: 00 ; i32 literal
-000004c: 22 ; OPCODE_I32_LOAD16_S
-000004d: 03 ; alignment
-000004e: 00 ; load offset
-000004f: 10 ; OPCODE_I32_CONST
-0000050: 00 ; i32 literal
-0000051: 2a ; OPCODE_I32_LOAD
-0000052: 00 ; alignment
-0000053: 00 ; load offset
-0000054: 10 ; OPCODE_I32_CONST
-0000055: 00 ; i32 literal
-0000056: 2a ; OPCODE_I32_LOAD
-0000057: 01 ; alignment
-0000058: 00 ; load offset
-0000059: 10 ; OPCODE_I32_CONST
-000005a: 00 ; i32 literal
-000005b: 2a ; OPCODE_I32_LOAD
-000005c: 02 ; alignment
-000005d: 00 ; load offset
-000005e: 10 ; OPCODE_I32_CONST
-000005f: 00 ; i32 literal
-0000060: 2a ; OPCODE_I32_LOAD
-0000061: 03 ; alignment
-0000062: 00 ; load offset
+000004a: 0b ; OPCODE_DROP
+000004b: 10 ; OPCODE_I32_CONST
+000004c: 00 ; i32 literal
+000004d: 22 ; OPCODE_I32_LOAD16_S
+000004e: 02 ; alignment
+000004f: 00 ; load offset
+0000050: 0b ; OPCODE_DROP
+0000051: 10 ; OPCODE_I32_CONST
+0000052: 00 ; i32 literal
+0000053: 22 ; OPCODE_I32_LOAD16_S
+0000054: 03 ; alignment
+0000055: 00 ; load offset
+0000056: 0b ; OPCODE_DROP
+0000057: 10 ; OPCODE_I32_CONST
+0000058: 00 ; i32 literal
+0000059: 2a ; OPCODE_I32_LOAD
+000005a: 00 ; alignment
+000005b: 00 ; load offset
+000005c: 0b ; OPCODE_DROP
+000005d: 10 ; OPCODE_I32_CONST
+000005e: 00 ; i32 literal
+000005f: 2a ; OPCODE_I32_LOAD
+0000060: 01 ; alignment
+0000061: 00 ; load offset
+0000062: 0b ; OPCODE_DROP
0000063: 10 ; OPCODE_I32_CONST
0000064: 00 ; i32 literal
-0000065: 2b ; OPCODE_I64_LOAD
-0000066: 00 ; alignment
+0000065: 2a ; OPCODE_I32_LOAD
+0000066: 02 ; alignment
0000067: 00 ; load offset
-0000068: 10 ; OPCODE_I32_CONST
-0000069: 00 ; i32 literal
-000006a: 2b ; OPCODE_I64_LOAD
-000006b: 01 ; alignment
-000006c: 00 ; load offset
-000006d: 10 ; OPCODE_I32_CONST
-000006e: 00 ; i32 literal
-000006f: 2b ; OPCODE_I64_LOAD
-0000070: 02 ; alignment
-0000071: 00 ; load offset
-0000072: 10 ; OPCODE_I32_CONST
-0000073: 00 ; i32 literal
-0000074: 2b ; OPCODE_I64_LOAD
-0000075: 03 ; alignment
-0000076: 00 ; load offset
-0000077: 10 ; OPCODE_I32_CONST
-0000078: 00 ; i32 literal
-0000079: 24 ; OPCODE_I64_LOAD8_S
-000007a: 00 ; alignment
-000007b: 00 ; load offset
-000007c: 10 ; OPCODE_I32_CONST
-000007d: 00 ; i32 literal
-000007e: 24 ; OPCODE_I64_LOAD8_S
-000007f: 01 ; alignment
-0000080: 00 ; load offset
+0000068: 0b ; OPCODE_DROP
+0000069: 10 ; OPCODE_I32_CONST
+000006a: 00 ; i32 literal
+000006b: 2a ; OPCODE_I32_LOAD
+000006c: 03 ; alignment
+000006d: 00 ; load offset
+000006e: 0b ; OPCODE_DROP
+000006f: 10 ; OPCODE_I32_CONST
+0000070: 00 ; i32 literal
+0000071: 2b ; OPCODE_I64_LOAD
+0000072: 00 ; alignment
+0000073: 00 ; load offset
+0000074: 0b ; OPCODE_DROP
+0000075: 10 ; OPCODE_I32_CONST
+0000076: 00 ; i32 literal
+0000077: 2b ; OPCODE_I64_LOAD
+0000078: 01 ; alignment
+0000079: 00 ; load offset
+000007a: 0b ; OPCODE_DROP
+000007b: 10 ; OPCODE_I32_CONST
+000007c: 00 ; i32 literal
+000007d: 2b ; OPCODE_I64_LOAD
+000007e: 02 ; alignment
+000007f: 00 ; load offset
+0000080: 0b ; OPCODE_DROP
0000081: 10 ; OPCODE_I32_CONST
0000082: 00 ; i32 literal
-0000083: 24 ; OPCODE_I64_LOAD8_S
-0000084: 02 ; alignment
+0000083: 2b ; OPCODE_I64_LOAD
+0000084: 03 ; alignment
0000085: 00 ; load offset
-0000086: 10 ; OPCODE_I32_CONST
-0000087: 00 ; i32 literal
-0000088: 24 ; OPCODE_I64_LOAD8_S
-0000089: 03 ; alignment
-000008a: 00 ; load offset
-000008b: 10 ; OPCODE_I32_CONST
-000008c: 00 ; i32 literal
-000008d: 26 ; OPCODE_I64_LOAD16_S
-000008e: 00 ; alignment
-000008f: 00 ; load offset
-0000090: 10 ; OPCODE_I32_CONST
-0000091: 00 ; i32 literal
-0000092: 26 ; OPCODE_I64_LOAD16_S
-0000093: 01 ; alignment
-0000094: 00 ; load offset
-0000095: 10 ; OPCODE_I32_CONST
-0000096: 00 ; i32 literal
-0000097: 26 ; OPCODE_I64_LOAD16_S
-0000098: 02 ; alignment
-0000099: 00 ; load offset
-000009a: 10 ; OPCODE_I32_CONST
-000009b: 00 ; i32 literal
-000009c: 26 ; OPCODE_I64_LOAD16_S
-000009d: 03 ; alignment
-000009e: 00 ; load offset
+0000086: 0b ; OPCODE_DROP
+0000087: 10 ; OPCODE_I32_CONST
+0000088: 00 ; i32 literal
+0000089: 24 ; OPCODE_I64_LOAD8_S
+000008a: 00 ; alignment
+000008b: 00 ; load offset
+000008c: 0b ; OPCODE_DROP
+000008d: 10 ; OPCODE_I32_CONST
+000008e: 00 ; i32 literal
+000008f: 24 ; OPCODE_I64_LOAD8_S
+0000090: 01 ; alignment
+0000091: 00 ; load offset
+0000092: 0b ; OPCODE_DROP
+0000093: 10 ; OPCODE_I32_CONST
+0000094: 00 ; i32 literal
+0000095: 24 ; OPCODE_I64_LOAD8_S
+0000096: 02 ; alignment
+0000097: 00 ; load offset
+0000098: 0b ; OPCODE_DROP
+0000099: 10 ; OPCODE_I32_CONST
+000009a: 00 ; i32 literal
+000009b: 24 ; OPCODE_I64_LOAD8_S
+000009c: 03 ; alignment
+000009d: 00 ; load offset
+000009e: 0b ; OPCODE_DROP
000009f: 10 ; OPCODE_I32_CONST
00000a0: 00 ; i32 literal
-00000a1: 28 ; OPCODE_I64_LOAD32_S
+00000a1: 26 ; OPCODE_I64_LOAD16_S
00000a2: 00 ; alignment
00000a3: 00 ; load offset
-00000a4: 10 ; OPCODE_I32_CONST
-00000a5: 00 ; i32 literal
-00000a6: 28 ; OPCODE_I64_LOAD32_S
-00000a7: 01 ; alignment
-00000a8: 00 ; load offset
-00000a9: 10 ; OPCODE_I32_CONST
-00000aa: 00 ; i32 literal
-00000ab: 28 ; OPCODE_I64_LOAD32_S
-00000ac: 02 ; alignment
-00000ad: 00 ; load offset
-00000ae: 10 ; OPCODE_I32_CONST
-00000af: 00 ; i32 literal
-00000b0: 28 ; OPCODE_I64_LOAD32_S
-00000b1: 03 ; alignment
-00000b2: 00 ; load offset
-; move data: [26, b3) -> [27, b4)
-0000025: 8d01 ; FIXUP func body size
-; move data: [24, b4) -> [25, b5)
-0000023: 9001 ; FIXUP section size
+00000a4: 0b ; OPCODE_DROP
+00000a5: 10 ; OPCODE_I32_CONST
+00000a6: 00 ; i32 literal
+00000a7: 26 ; OPCODE_I64_LOAD16_S
+00000a8: 01 ; alignment
+00000a9: 00 ; load offset
+00000aa: 0b ; OPCODE_DROP
+00000ab: 10 ; OPCODE_I32_CONST
+00000ac: 00 ; i32 literal
+00000ad: 26 ; OPCODE_I64_LOAD16_S
+00000ae: 02 ; alignment
+00000af: 00 ; load offset
+00000b0: 0b ; OPCODE_DROP
+00000b1: 10 ; OPCODE_I32_CONST
+00000b2: 00 ; i32 literal
+00000b3: 26 ; OPCODE_I64_LOAD16_S
+00000b4: 03 ; alignment
+00000b5: 00 ; load offset
+00000b6: 0b ; OPCODE_DROP
+00000b7: 10 ; OPCODE_I32_CONST
+00000b8: 00 ; i32 literal
+00000b9: 28 ; OPCODE_I64_LOAD32_S
+00000ba: 00 ; alignment
+00000bb: 00 ; load offset
+00000bc: 0b ; OPCODE_DROP
+00000bd: 10 ; OPCODE_I32_CONST
+00000be: 00 ; i32 literal
+00000bf: 28 ; OPCODE_I64_LOAD32_S
+00000c0: 01 ; alignment
+00000c1: 00 ; load offset
+00000c2: 0b ; OPCODE_DROP
+00000c3: 10 ; OPCODE_I32_CONST
+00000c4: 00 ; i32 literal
+00000c5: 28 ; OPCODE_I64_LOAD32_S
+00000c6: 02 ; alignment
+00000c7: 00 ; load offset
+00000c8: 0b ; OPCODE_DROP
+00000c9: 10 ; OPCODE_I32_CONST
+00000ca: 00 ; i32 literal
+00000cb: 28 ; OPCODE_I64_LOAD32_S
+00000cc: 03 ; alignment
+00000cd: 00 ; load offset
+00000ce: 0b ; OPCODE_DROP
+; move data: [26, cf) -> [27, d0)
+0000025: a901 ; FIXUP func body size
+; move data: [24, d0) -> [25, d1)
+0000023: ac01 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 6590 0101 8d01 0010 0020 0000 1000
-0000030: 2001 0010 0020 0200 1000 2003 0010 0022
-0000040: 0000 1000 2201 0010 0022 0200 1000 2203
-0000050: 0010 002a 0000 1000 2a01 0010 002a 0200
-0000060: 1000 2a03 0010 002b 0000 1000 2b01 0010
-0000070: 002b 0200 1000 2b03 0010 0024 0000 1000
-0000080: 2401 0010 0024 0200 1000 2403 0010 0026
-0000090: 0000 1000 2601 0010 0026 0200 1000 2603
-00000a0: 0010 0028 0000 1000 2801 0010 0028 0200
-00000b0: 1000 2803 00
+0000020: 6f64 65ac 0101 a901 0010 0020 0000 0b10
+0000030: 0020 0100 0b10 0020 0200 0b10 0020 0300
+0000040: 0b10 0022 0000 0b10 0022 0100 0b10 0022
+0000050: 0200 0b10 0022 0300 0b10 002a 0000 0b10
+0000060: 002a 0100 0b10 002a 0200 0b10 002a 0300
+0000070: 0b10 002b 0000 0b10 002b 0100 0b10 002b
+0000080: 0200 0b10 002b 0300 0b10 0024 0000 0b10
+0000090: 0024 0100 0b10 0024 0200 0b10 0024 0300
+00000a0: 0b10 0026 0000 0b10 0026 0100 0b10 0026
+00000b0: 0200 0b10 0026 0300 0b10 0028 0000 0b10
+00000c0: 0028 0100 0b10 0028 0200 0b10 0028 0300
+00000d0: 0b
;;; STDOUT ;;)
diff --git a/test/dump/load.txt b/test/dump/load.txt
index 017502a3..39331c07 100644
--- a/test/dump/load.txt
+++ b/test/dump/load.txt
@@ -1,23 +1,23 @@
;;; FLAGS: -dv
(module
(func
- (i32.load (i32.const 0))
- (i32.load8_s (i32.const 0))
- (i32.load16_s (i32.const 0))
- (i32.load8_u (i32.const 0))
- (i32.load16_u (i32.const 0))
- (i64.load (i32.const 0))
- (i64.load8_s (i32.const 0))
- (i64.load16_s (i32.const 0))
- (i64.load32_s (i32.const 0))
- (i64.load8_u (i32.const 0))
- (i64.load16_u (i32.const 0))
- (i64.load32_u (i32.const 0))
- (f32.load (i32.const 0))
- (f64.load (i32.const 0))))
+ (drop (i32.load (i32.const 0)))
+ (drop (i32.load8_s (i32.const 0)))
+ (drop (i32.load16_s (i32.const 0)))
+ (drop (i32.load8_u (i32.const 0)))
+ (drop (i32.load16_u (i32.const 0)))
+ (drop (i64.load (i32.const 0)))
+ (drop (i64.load8_s (i32.const 0)))
+ (drop (i64.load16_s (i32.const 0)))
+ (drop (i64.load32_s (i32.const 0)))
+ (drop (i64.load8_u (i32.const 0)))
+ (drop (i64.load16_u (i32.const 0)))
+ (drop (i64.load32_u (i32.const 0)))
+ (drop (f32.load (i32.const 0)))
+ (drop (f64.load (i32.const 0)))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -48,79 +48,94 @@
0000029: 2a ; OPCODE_I32_LOAD
000002a: 02 ; alignment
000002b: 00 ; load offset
-000002c: 10 ; OPCODE_I32_CONST
-000002d: 00 ; i32 literal
-000002e: 20 ; OPCODE_I32_LOAD8_S
-000002f: 00 ; alignment
-0000030: 00 ; load offset
-0000031: 10 ; OPCODE_I32_CONST
-0000032: 00 ; i32 literal
-0000033: 22 ; OPCODE_I32_LOAD16_S
-0000034: 01 ; alignment
-0000035: 00 ; load offset
-0000036: 10 ; OPCODE_I32_CONST
-0000037: 00 ; i32 literal
-0000038: 21 ; OPCODE_I32_LOAD8_U
-0000039: 00 ; alignment
-000003a: 00 ; load offset
-000003b: 10 ; OPCODE_I32_CONST
-000003c: 00 ; i32 literal
-000003d: 23 ; OPCODE_I32_LOAD16_U
-000003e: 01 ; alignment
-000003f: 00 ; load offset
-0000040: 10 ; OPCODE_I32_CONST
-0000041: 00 ; i32 literal
-0000042: 2b ; OPCODE_I64_LOAD
-0000043: 03 ; alignment
-0000044: 00 ; load offset
+000002c: 0b ; OPCODE_DROP
+000002d: 10 ; OPCODE_I32_CONST
+000002e: 00 ; i32 literal
+000002f: 20 ; OPCODE_I32_LOAD8_S
+0000030: 00 ; alignment
+0000031: 00 ; load offset
+0000032: 0b ; OPCODE_DROP
+0000033: 10 ; OPCODE_I32_CONST
+0000034: 00 ; i32 literal
+0000035: 22 ; OPCODE_I32_LOAD16_S
+0000036: 01 ; alignment
+0000037: 00 ; load offset
+0000038: 0b ; OPCODE_DROP
+0000039: 10 ; OPCODE_I32_CONST
+000003a: 00 ; i32 literal
+000003b: 21 ; OPCODE_I32_LOAD8_U
+000003c: 00 ; alignment
+000003d: 00 ; load offset
+000003e: 0b ; OPCODE_DROP
+000003f: 10 ; OPCODE_I32_CONST
+0000040: 00 ; i32 literal
+0000041: 23 ; OPCODE_I32_LOAD16_U
+0000042: 01 ; alignment
+0000043: 00 ; load offset
+0000044: 0b ; OPCODE_DROP
0000045: 10 ; OPCODE_I32_CONST
0000046: 00 ; i32 literal
-0000047: 24 ; OPCODE_I64_LOAD8_S
-0000048: 00 ; alignment
+0000047: 2b ; OPCODE_I64_LOAD
+0000048: 03 ; alignment
0000049: 00 ; load offset
-000004a: 10 ; OPCODE_I32_CONST
-000004b: 00 ; i32 literal
-000004c: 26 ; OPCODE_I64_LOAD16_S
-000004d: 01 ; alignment
-000004e: 00 ; load offset
-000004f: 10 ; OPCODE_I32_CONST
-0000050: 00 ; i32 literal
-0000051: 28 ; OPCODE_I64_LOAD32_S
-0000052: 02 ; alignment
-0000053: 00 ; load offset
-0000054: 10 ; OPCODE_I32_CONST
-0000055: 00 ; i32 literal
-0000056: 25 ; OPCODE_I64_LOAD8_U
-0000057: 00 ; alignment
-0000058: 00 ; load offset
-0000059: 10 ; OPCODE_I32_CONST
-000005a: 00 ; i32 literal
-000005b: 27 ; OPCODE_I64_LOAD16_U
-000005c: 01 ; alignment
-000005d: 00 ; load offset
-000005e: 10 ; OPCODE_I32_CONST
-000005f: 00 ; i32 literal
-0000060: 29 ; OPCODE_I64_LOAD32_U
-0000061: 02 ; alignment
-0000062: 00 ; load offset
+000004a: 0b ; OPCODE_DROP
+000004b: 10 ; OPCODE_I32_CONST
+000004c: 00 ; i32 literal
+000004d: 24 ; OPCODE_I64_LOAD8_S
+000004e: 00 ; alignment
+000004f: 00 ; load offset
+0000050: 0b ; OPCODE_DROP
+0000051: 10 ; OPCODE_I32_CONST
+0000052: 00 ; i32 literal
+0000053: 26 ; OPCODE_I64_LOAD16_S
+0000054: 01 ; alignment
+0000055: 00 ; load offset
+0000056: 0b ; OPCODE_DROP
+0000057: 10 ; OPCODE_I32_CONST
+0000058: 00 ; i32 literal
+0000059: 28 ; OPCODE_I64_LOAD32_S
+000005a: 02 ; alignment
+000005b: 00 ; load offset
+000005c: 0b ; OPCODE_DROP
+000005d: 10 ; OPCODE_I32_CONST
+000005e: 00 ; i32 literal
+000005f: 25 ; OPCODE_I64_LOAD8_U
+0000060: 00 ; alignment
+0000061: 00 ; load offset
+0000062: 0b ; OPCODE_DROP
0000063: 10 ; OPCODE_I32_CONST
0000064: 00 ; i32 literal
-0000065: 2c ; OPCODE_F32_LOAD
-0000066: 02 ; alignment
+0000065: 27 ; OPCODE_I64_LOAD16_U
+0000066: 01 ; alignment
0000067: 00 ; load offset
-0000068: 10 ; OPCODE_I32_CONST
-0000069: 00 ; i32 literal
-000006a: 2d ; OPCODE_F64_LOAD
-000006b: 03 ; alignment
-000006c: 00 ; load offset
-0000025: 47 ; FIXUP func body size
-0000023: 49 ; FIXUP section size
+0000068: 0b ; OPCODE_DROP
+0000069: 10 ; OPCODE_I32_CONST
+000006a: 00 ; i32 literal
+000006b: 29 ; OPCODE_I64_LOAD32_U
+000006c: 02 ; alignment
+000006d: 00 ; load offset
+000006e: 0b ; OPCODE_DROP
+000006f: 10 ; OPCODE_I32_CONST
+0000070: 00 ; i32 literal
+0000071: 2c ; OPCODE_F32_LOAD
+0000072: 02 ; alignment
+0000073: 00 ; load offset
+0000074: 0b ; OPCODE_DROP
+0000075: 10 ; OPCODE_I32_CONST
+0000076: 00 ; i32 literal
+0000077: 2d ; OPCODE_F64_LOAD
+0000078: 03 ; alignment
+0000079: 00 ; load offset
+000007a: 0b ; OPCODE_DROP
+0000025: 55 ; FIXUP func body size
+0000023: 57 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 6549 0147 0010 002a 0200 1000 2000
-0000030: 0010 0022 0100 1000 2100 0010 0023 0100
-0000040: 1000 2b03 0010 0024 0000 1000 2601 0010
-0000050: 0028 0200 1000 2500 0010 0027 0100 1000
-0000060: 2902 0010 002c 0200 1000 2d03 00
+0000020: 6f64 6557 0155 0010 002a 0200 0b10 0020
+0000030: 0000 0b10 0022 0100 0b10 0021 0000 0b10
+0000040: 0023 0100 0b10 002b 0300 0b10 0024 0000
+0000050: 0b10 0026 0100 0b10 0028 0200 0b10 0025
+0000060: 0000 0b10 0027 0100 0b10 0029 0200 0b10
+0000070: 002c 0200 0b10 002d 0300 0b
;;; STDOUT ;;)
diff --git a/test/dump/locals.txt b/test/dump/locals.txt
index 70d3d688..0bc0eafb 100644
--- a/test/dump/locals.txt
+++ b/test/dump/locals.txt
@@ -3,7 +3,7 @@
(func (local i32 i64 i64 f32 f32 f32 f64 f64 f64 f64)))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -40,7 +40,7 @@
0000025: 09 ; FIXUP func body size
0000023: 0b ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
0000020: 6f64 650b 0109 0401 0102 0203 0304 04
;;; STDOUT ;;)
diff --git a/test/dump/loop-257-exprs-br.txt b/test/dump/loop-257-exprs-br.txt
index 215bf12e..61ca9608 100644
--- a/test/dump/loop-257-exprs-br.txt
+++ b/test/dump/loop-257-exprs-br.txt
@@ -50,7 +50,7 @@
)))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -76,299 +76,301 @@
; function body 0
0000025: 00 ; func body size (guess)
0000026: 00 ; local decl count
-0000027: 02 ; OPCODE_LOOP
-0000028: 00 ; OPCODE_NOP
-0000029: 00 ; OPCODE_NOP
-000002a: 00 ; OPCODE_NOP
-000002b: 00 ; OPCODE_NOP
-000002c: 00 ; OPCODE_NOP
-000002d: 00 ; OPCODE_NOP
-000002e: 00 ; OPCODE_NOP
-000002f: 00 ; OPCODE_NOP
-0000030: 00 ; OPCODE_NOP
-0000031: 00 ; OPCODE_NOP
-0000032: 00 ; OPCODE_NOP
-0000033: 00 ; OPCODE_NOP
-0000034: 00 ; OPCODE_NOP
-0000035: 00 ; OPCODE_NOP
-0000036: 00 ; OPCODE_NOP
-0000037: 00 ; OPCODE_NOP
-0000038: 00 ; OPCODE_NOP
-0000039: 00 ; OPCODE_NOP
-000003a: 00 ; OPCODE_NOP
-000003b: 00 ; OPCODE_NOP
-000003c: 00 ; OPCODE_NOP
-000003d: 00 ; OPCODE_NOP
-000003e: 00 ; OPCODE_NOP
-000003f: 00 ; OPCODE_NOP
-0000040: 00 ; OPCODE_NOP
-0000041: 00 ; OPCODE_NOP
-0000042: 00 ; OPCODE_NOP
-0000043: 00 ; OPCODE_NOP
-0000044: 00 ; OPCODE_NOP
-0000045: 00 ; OPCODE_NOP
-0000046: 00 ; OPCODE_NOP
-0000047: 00 ; OPCODE_NOP
-0000048: 00 ; OPCODE_NOP
-0000049: 00 ; OPCODE_NOP
-000004a: 00 ; OPCODE_NOP
-000004b: 00 ; OPCODE_NOP
-000004c: 00 ; OPCODE_NOP
-000004d: 00 ; OPCODE_NOP
-000004e: 00 ; OPCODE_NOP
-000004f: 00 ; OPCODE_NOP
-0000050: 00 ; OPCODE_NOP
-0000051: 00 ; OPCODE_NOP
-0000052: 00 ; OPCODE_NOP
-0000053: 00 ; OPCODE_NOP
-0000054: 00 ; OPCODE_NOP
-0000055: 00 ; OPCODE_NOP
-0000056: 00 ; OPCODE_NOP
-0000057: 00 ; OPCODE_NOP
-0000058: 00 ; OPCODE_NOP
-0000059: 00 ; OPCODE_NOP
-000005a: 00 ; OPCODE_NOP
-000005b: 00 ; OPCODE_NOP
-000005c: 00 ; OPCODE_NOP
-000005d: 00 ; OPCODE_NOP
-000005e: 00 ; OPCODE_NOP
-000005f: 00 ; OPCODE_NOP
-0000060: 00 ; OPCODE_NOP
-0000061: 00 ; OPCODE_NOP
-0000062: 00 ; OPCODE_NOP
-0000063: 00 ; OPCODE_NOP
-0000064: 00 ; OPCODE_NOP
-0000065: 00 ; OPCODE_NOP
-0000066: 00 ; OPCODE_NOP
-0000067: 00 ; OPCODE_NOP
-0000068: 00 ; OPCODE_NOP
-0000069: 00 ; OPCODE_NOP
-000006a: 00 ; OPCODE_NOP
-000006b: 00 ; OPCODE_NOP
-000006c: 00 ; OPCODE_NOP
-000006d: 00 ; OPCODE_NOP
-000006e: 00 ; OPCODE_NOP
-000006f: 00 ; OPCODE_NOP
-0000070: 00 ; OPCODE_NOP
-0000071: 00 ; OPCODE_NOP
-0000072: 00 ; OPCODE_NOP
-0000073: 00 ; OPCODE_NOP
-0000074: 00 ; OPCODE_NOP
-0000075: 00 ; OPCODE_NOP
-0000076: 00 ; OPCODE_NOP
-0000077: 00 ; OPCODE_NOP
-0000078: 00 ; OPCODE_NOP
-0000079: 00 ; OPCODE_NOP
-000007a: 00 ; OPCODE_NOP
-000007b: 00 ; OPCODE_NOP
-000007c: 00 ; OPCODE_NOP
-000007d: 00 ; OPCODE_NOP
-000007e: 00 ; OPCODE_NOP
-000007f: 00 ; OPCODE_NOP
-0000080: 00 ; OPCODE_NOP
-0000081: 00 ; OPCODE_NOP
-0000082: 00 ; OPCODE_NOP
-0000083: 00 ; OPCODE_NOP
-0000084: 00 ; OPCODE_NOP
-0000085: 00 ; OPCODE_NOP
-0000086: 00 ; OPCODE_NOP
-0000087: 00 ; OPCODE_NOP
-0000088: 00 ; OPCODE_NOP
-0000089: 00 ; OPCODE_NOP
-000008a: 00 ; OPCODE_NOP
-000008b: 00 ; OPCODE_NOP
-000008c: 00 ; OPCODE_NOP
-000008d: 00 ; OPCODE_NOP
-000008e: 00 ; OPCODE_NOP
-000008f: 00 ; OPCODE_NOP
-0000090: 00 ; OPCODE_NOP
-0000091: 00 ; OPCODE_NOP
-0000092: 00 ; OPCODE_NOP
-0000093: 00 ; OPCODE_NOP
-0000094: 00 ; OPCODE_NOP
-0000095: 00 ; OPCODE_NOP
-0000096: 00 ; OPCODE_NOP
-0000097: 00 ; OPCODE_NOP
-0000098: 00 ; OPCODE_NOP
-0000099: 00 ; OPCODE_NOP
-000009a: 00 ; OPCODE_NOP
-000009b: 00 ; OPCODE_NOP
-000009c: 00 ; OPCODE_NOP
-000009d: 00 ; OPCODE_NOP
-000009e: 00 ; OPCODE_NOP
-000009f: 00 ; OPCODE_NOP
-00000a0: 00 ; OPCODE_NOP
-00000a1: 00 ; OPCODE_NOP
-00000a2: 00 ; OPCODE_NOP
-00000a3: 00 ; OPCODE_NOP
-00000a4: 00 ; OPCODE_NOP
-00000a5: 00 ; OPCODE_NOP
-00000a6: 00 ; OPCODE_NOP
-00000a7: 00 ; OPCODE_NOP
-00000a8: 00 ; OPCODE_NOP
-00000a9: 00 ; OPCODE_NOP
-00000aa: 00 ; OPCODE_NOP
-00000ab: 00 ; OPCODE_NOP
-00000ac: 00 ; OPCODE_NOP
-00000ad: 00 ; OPCODE_NOP
-00000ae: 00 ; OPCODE_NOP
-00000af: 00 ; OPCODE_NOP
-00000b0: 00 ; OPCODE_NOP
-00000b1: 00 ; OPCODE_NOP
-00000b2: 00 ; OPCODE_NOP
-00000b3: 00 ; OPCODE_NOP
-00000b4: 00 ; OPCODE_NOP
-00000b5: 00 ; OPCODE_NOP
-00000b6: 00 ; OPCODE_NOP
-00000b7: 00 ; OPCODE_NOP
-00000b8: 00 ; OPCODE_NOP
-00000b9: 00 ; OPCODE_NOP
-00000ba: 00 ; OPCODE_NOP
-00000bb: 00 ; OPCODE_NOP
-00000bc: 00 ; OPCODE_NOP
-00000bd: 00 ; OPCODE_NOP
-00000be: 00 ; OPCODE_NOP
-00000bf: 00 ; OPCODE_NOP
-00000c0: 00 ; OPCODE_NOP
-00000c1: 00 ; OPCODE_NOP
-00000c2: 00 ; OPCODE_NOP
-00000c3: 00 ; OPCODE_NOP
-00000c4: 00 ; OPCODE_NOP
-00000c5: 00 ; OPCODE_NOP
-00000c6: 00 ; OPCODE_NOP
-00000c7: 00 ; OPCODE_NOP
-00000c8: 00 ; OPCODE_NOP
-00000c9: 00 ; OPCODE_NOP
-00000ca: 00 ; OPCODE_NOP
-00000cb: 00 ; OPCODE_NOP
-00000cc: 00 ; OPCODE_NOP
-00000cd: 00 ; OPCODE_NOP
-00000ce: 00 ; OPCODE_NOP
-00000cf: 00 ; OPCODE_NOP
-00000d0: 00 ; OPCODE_NOP
-00000d1: 00 ; OPCODE_NOP
-00000d2: 00 ; OPCODE_NOP
-00000d3: 00 ; OPCODE_NOP
-00000d4: 00 ; OPCODE_NOP
-00000d5: 00 ; OPCODE_NOP
-00000d6: 00 ; OPCODE_NOP
-00000d7: 00 ; OPCODE_NOP
-00000d8: 00 ; OPCODE_NOP
-00000d9: 00 ; OPCODE_NOP
-00000da: 00 ; OPCODE_NOP
-00000db: 00 ; OPCODE_NOP
-00000dc: 00 ; OPCODE_NOP
-00000dd: 00 ; OPCODE_NOP
-00000de: 00 ; OPCODE_NOP
-00000df: 00 ; OPCODE_NOP
-00000e0: 00 ; OPCODE_NOP
-00000e1: 00 ; OPCODE_NOP
-00000e2: 00 ; OPCODE_NOP
-00000e3: 00 ; OPCODE_NOP
-00000e4: 00 ; OPCODE_NOP
-00000e5: 00 ; OPCODE_NOP
-00000e6: 00 ; OPCODE_NOP
-00000e7: 00 ; OPCODE_NOP
-00000e8: 00 ; OPCODE_NOP
-00000e9: 00 ; OPCODE_NOP
-00000ea: 00 ; OPCODE_NOP
-00000eb: 00 ; OPCODE_NOP
-00000ec: 00 ; OPCODE_NOP
-00000ed: 00 ; OPCODE_NOP
-00000ee: 00 ; OPCODE_NOP
-00000ef: 00 ; OPCODE_NOP
-00000f0: 00 ; OPCODE_NOP
-00000f1: 00 ; OPCODE_NOP
-00000f2: 00 ; OPCODE_NOP
-00000f3: 00 ; OPCODE_NOP
-00000f4: 00 ; OPCODE_NOP
-00000f5: 00 ; OPCODE_NOP
-00000f6: 00 ; OPCODE_NOP
-00000f7: 00 ; OPCODE_NOP
-00000f8: 00 ; OPCODE_NOP
-00000f9: 00 ; OPCODE_NOP
-00000fa: 00 ; OPCODE_NOP
-00000fb: 00 ; OPCODE_NOP
-00000fc: 00 ; OPCODE_NOP
-00000fd: 00 ; OPCODE_NOP
-00000fe: 00 ; OPCODE_NOP
-00000ff: 00 ; OPCODE_NOP
-0000100: 00 ; OPCODE_NOP
-0000101: 00 ; OPCODE_NOP
-0000102: 00 ; OPCODE_NOP
-0000103: 00 ; OPCODE_NOP
-0000104: 00 ; OPCODE_NOP
-0000105: 00 ; OPCODE_NOP
-0000106: 00 ; OPCODE_NOP
-0000107: 00 ; OPCODE_NOP
-0000108: 00 ; OPCODE_NOP
-0000109: 00 ; OPCODE_NOP
-000010a: 00 ; OPCODE_NOP
-000010b: 00 ; OPCODE_NOP
-000010c: 00 ; OPCODE_NOP
-000010d: 00 ; OPCODE_NOP
-000010e: 00 ; OPCODE_NOP
-000010f: 00 ; OPCODE_NOP
-0000110: 00 ; OPCODE_NOP
-0000111: 00 ; OPCODE_NOP
-0000112: 00 ; OPCODE_NOP
-0000113: 00 ; OPCODE_NOP
-0000114: 00 ; OPCODE_NOP
-0000115: 00 ; OPCODE_NOP
-0000116: 00 ; OPCODE_NOP
-0000117: 00 ; OPCODE_NOP
-0000118: 00 ; OPCODE_NOP
-0000119: 00 ; OPCODE_NOP
-000011a: 00 ; OPCODE_NOP
-000011b: 00 ; OPCODE_NOP
-000011c: 00 ; OPCODE_NOP
-000011d: 00 ; OPCODE_NOP
-000011e: 00 ; OPCODE_NOP
-000011f: 00 ; OPCODE_NOP
-0000120: 00 ; OPCODE_NOP
-0000121: 00 ; OPCODE_NOP
-0000122: 00 ; OPCODE_NOP
-0000123: 00 ; OPCODE_NOP
-0000124: 00 ; OPCODE_NOP
-0000125: 00 ; OPCODE_NOP
-0000126: 00 ; OPCODE_NOP
-0000127: 00 ; OPCODE_NOP
-0000128: 06 ; OPCODE_BR
-0000129: 00 ; br arity
-000012a: 01 ; break depth
-000012b: 06 ; OPCODE_BR
-000012c: 00 ; br arity
-000012d: 00 ; break depth
-000012e: 06 ; OPCODE_BR
-000012f: 00 ; br arity
-0000130: 01 ; break depth
-0000131: 06 ; OPCODE_BR
-0000132: 00 ; br arity
-0000133: 00 ; break depth
-0000134: 0f ; OPCODE_END
-; move data: [26, 135) -> [27, 136)
-0000025: 8f02 ; FIXUP func body size
-; move data: [24, 136) -> [25, 137)
-0000023: 9202 ; FIXUP section size
+0000027: 01 ; OPCODE_BLOCK
+0000028: 02 ; OPCODE_LOOP
+0000029: 0a ; OPCODE_NOP
+000002a: 0a ; OPCODE_NOP
+000002b: 0a ; OPCODE_NOP
+000002c: 0a ; OPCODE_NOP
+000002d: 0a ; OPCODE_NOP
+000002e: 0a ; OPCODE_NOP
+000002f: 0a ; OPCODE_NOP
+0000030: 0a ; OPCODE_NOP
+0000031: 0a ; OPCODE_NOP
+0000032: 0a ; OPCODE_NOP
+0000033: 0a ; OPCODE_NOP
+0000034: 0a ; OPCODE_NOP
+0000035: 0a ; OPCODE_NOP
+0000036: 0a ; OPCODE_NOP
+0000037: 0a ; OPCODE_NOP
+0000038: 0a ; OPCODE_NOP
+0000039: 0a ; OPCODE_NOP
+000003a: 0a ; OPCODE_NOP
+000003b: 0a ; OPCODE_NOP
+000003c: 0a ; OPCODE_NOP
+000003d: 0a ; OPCODE_NOP
+000003e: 0a ; OPCODE_NOP
+000003f: 0a ; OPCODE_NOP
+0000040: 0a ; OPCODE_NOP
+0000041: 0a ; OPCODE_NOP
+0000042: 0a ; OPCODE_NOP
+0000043: 0a ; OPCODE_NOP
+0000044: 0a ; OPCODE_NOP
+0000045: 0a ; OPCODE_NOP
+0000046: 0a ; OPCODE_NOP
+0000047: 0a ; OPCODE_NOP
+0000048: 0a ; OPCODE_NOP
+0000049: 0a ; OPCODE_NOP
+000004a: 0a ; OPCODE_NOP
+000004b: 0a ; OPCODE_NOP
+000004c: 0a ; OPCODE_NOP
+000004d: 0a ; OPCODE_NOP
+000004e: 0a ; OPCODE_NOP
+000004f: 0a ; OPCODE_NOP
+0000050: 0a ; OPCODE_NOP
+0000051: 0a ; OPCODE_NOP
+0000052: 0a ; OPCODE_NOP
+0000053: 0a ; OPCODE_NOP
+0000054: 0a ; OPCODE_NOP
+0000055: 0a ; OPCODE_NOP
+0000056: 0a ; OPCODE_NOP
+0000057: 0a ; OPCODE_NOP
+0000058: 0a ; OPCODE_NOP
+0000059: 0a ; OPCODE_NOP
+000005a: 0a ; OPCODE_NOP
+000005b: 0a ; OPCODE_NOP
+000005c: 0a ; OPCODE_NOP
+000005d: 0a ; OPCODE_NOP
+000005e: 0a ; OPCODE_NOP
+000005f: 0a ; OPCODE_NOP
+0000060: 0a ; OPCODE_NOP
+0000061: 0a ; OPCODE_NOP
+0000062: 0a ; OPCODE_NOP
+0000063: 0a ; OPCODE_NOP
+0000064: 0a ; OPCODE_NOP
+0000065: 0a ; OPCODE_NOP
+0000066: 0a ; OPCODE_NOP
+0000067: 0a ; OPCODE_NOP
+0000068: 0a ; OPCODE_NOP
+0000069: 0a ; OPCODE_NOP
+000006a: 0a ; OPCODE_NOP
+000006b: 0a ; OPCODE_NOP
+000006c: 0a ; OPCODE_NOP
+000006d: 0a ; OPCODE_NOP
+000006e: 0a ; OPCODE_NOP
+000006f: 0a ; OPCODE_NOP
+0000070: 0a ; OPCODE_NOP
+0000071: 0a ; OPCODE_NOP
+0000072: 0a ; OPCODE_NOP
+0000073: 0a ; OPCODE_NOP
+0000074: 0a ; OPCODE_NOP
+0000075: 0a ; OPCODE_NOP
+0000076: 0a ; OPCODE_NOP
+0000077: 0a ; OPCODE_NOP
+0000078: 0a ; OPCODE_NOP
+0000079: 0a ; OPCODE_NOP
+000007a: 0a ; OPCODE_NOP
+000007b: 0a ; OPCODE_NOP
+000007c: 0a ; OPCODE_NOP
+000007d: 0a ; OPCODE_NOP
+000007e: 0a ; OPCODE_NOP
+000007f: 0a ; OPCODE_NOP
+0000080: 0a ; OPCODE_NOP
+0000081: 0a ; OPCODE_NOP
+0000082: 0a ; OPCODE_NOP
+0000083: 0a ; OPCODE_NOP
+0000084: 0a ; OPCODE_NOP
+0000085: 0a ; OPCODE_NOP
+0000086: 0a ; OPCODE_NOP
+0000087: 0a ; OPCODE_NOP
+0000088: 0a ; OPCODE_NOP
+0000089: 0a ; OPCODE_NOP
+000008a: 0a ; OPCODE_NOP
+000008b: 0a ; OPCODE_NOP
+000008c: 0a ; OPCODE_NOP
+000008d: 0a ; OPCODE_NOP
+000008e: 0a ; OPCODE_NOP
+000008f: 0a ; OPCODE_NOP
+0000090: 0a ; OPCODE_NOP
+0000091: 0a ; OPCODE_NOP
+0000092: 0a ; OPCODE_NOP
+0000093: 0a ; OPCODE_NOP
+0000094: 0a ; OPCODE_NOP
+0000095: 0a ; OPCODE_NOP
+0000096: 0a ; OPCODE_NOP
+0000097: 0a ; OPCODE_NOP
+0000098: 0a ; OPCODE_NOP
+0000099: 0a ; OPCODE_NOP
+000009a: 0a ; OPCODE_NOP
+000009b: 0a ; OPCODE_NOP
+000009c: 0a ; OPCODE_NOP
+000009d: 0a ; OPCODE_NOP
+000009e: 0a ; OPCODE_NOP
+000009f: 0a ; OPCODE_NOP
+00000a0: 0a ; OPCODE_NOP
+00000a1: 0a ; OPCODE_NOP
+00000a2: 0a ; OPCODE_NOP
+00000a3: 0a ; OPCODE_NOP
+00000a4: 0a ; OPCODE_NOP
+00000a5: 0a ; OPCODE_NOP
+00000a6: 0a ; OPCODE_NOP
+00000a7: 0a ; OPCODE_NOP
+00000a8: 0a ; OPCODE_NOP
+00000a9: 0a ; OPCODE_NOP
+00000aa: 0a ; OPCODE_NOP
+00000ab: 0a ; OPCODE_NOP
+00000ac: 0a ; OPCODE_NOP
+00000ad: 0a ; OPCODE_NOP
+00000ae: 0a ; OPCODE_NOP
+00000af: 0a ; OPCODE_NOP
+00000b0: 0a ; OPCODE_NOP
+00000b1: 0a ; OPCODE_NOP
+00000b2: 0a ; OPCODE_NOP
+00000b3: 0a ; OPCODE_NOP
+00000b4: 0a ; OPCODE_NOP
+00000b5: 0a ; OPCODE_NOP
+00000b6: 0a ; OPCODE_NOP
+00000b7: 0a ; OPCODE_NOP
+00000b8: 0a ; OPCODE_NOP
+00000b9: 0a ; OPCODE_NOP
+00000ba: 0a ; OPCODE_NOP
+00000bb: 0a ; OPCODE_NOP
+00000bc: 0a ; OPCODE_NOP
+00000bd: 0a ; OPCODE_NOP
+00000be: 0a ; OPCODE_NOP
+00000bf: 0a ; OPCODE_NOP
+00000c0: 0a ; OPCODE_NOP
+00000c1: 0a ; OPCODE_NOP
+00000c2: 0a ; OPCODE_NOP
+00000c3: 0a ; OPCODE_NOP
+00000c4: 0a ; OPCODE_NOP
+00000c5: 0a ; OPCODE_NOP
+00000c6: 0a ; OPCODE_NOP
+00000c7: 0a ; OPCODE_NOP
+00000c8: 0a ; OPCODE_NOP
+00000c9: 0a ; OPCODE_NOP
+00000ca: 0a ; OPCODE_NOP
+00000cb: 0a ; OPCODE_NOP
+00000cc: 0a ; OPCODE_NOP
+00000cd: 0a ; OPCODE_NOP
+00000ce: 0a ; OPCODE_NOP
+00000cf: 0a ; OPCODE_NOP
+00000d0: 0a ; OPCODE_NOP
+00000d1: 0a ; OPCODE_NOP
+00000d2: 0a ; OPCODE_NOP
+00000d3: 0a ; OPCODE_NOP
+00000d4: 0a ; OPCODE_NOP
+00000d5: 0a ; OPCODE_NOP
+00000d6: 0a ; OPCODE_NOP
+00000d7: 0a ; OPCODE_NOP
+00000d8: 0a ; OPCODE_NOP
+00000d9: 0a ; OPCODE_NOP
+00000da: 0a ; OPCODE_NOP
+00000db: 0a ; OPCODE_NOP
+00000dc: 0a ; OPCODE_NOP
+00000dd: 0a ; OPCODE_NOP
+00000de: 0a ; OPCODE_NOP
+00000df: 0a ; OPCODE_NOP
+00000e0: 0a ; OPCODE_NOP
+00000e1: 0a ; OPCODE_NOP
+00000e2: 0a ; OPCODE_NOP
+00000e3: 0a ; OPCODE_NOP
+00000e4: 0a ; OPCODE_NOP
+00000e5: 0a ; OPCODE_NOP
+00000e6: 0a ; OPCODE_NOP
+00000e7: 0a ; OPCODE_NOP
+00000e8: 0a ; OPCODE_NOP
+00000e9: 0a ; OPCODE_NOP
+00000ea: 0a ; OPCODE_NOP
+00000eb: 0a ; OPCODE_NOP
+00000ec: 0a ; OPCODE_NOP
+00000ed: 0a ; OPCODE_NOP
+00000ee: 0a ; OPCODE_NOP
+00000ef: 0a ; OPCODE_NOP
+00000f0: 0a ; OPCODE_NOP
+00000f1: 0a ; OPCODE_NOP
+00000f2: 0a ; OPCODE_NOP
+00000f3: 0a ; OPCODE_NOP
+00000f4: 0a ; OPCODE_NOP
+00000f5: 0a ; OPCODE_NOP
+00000f6: 0a ; OPCODE_NOP
+00000f7: 0a ; OPCODE_NOP
+00000f8: 0a ; OPCODE_NOP
+00000f9: 0a ; OPCODE_NOP
+00000fa: 0a ; OPCODE_NOP
+00000fb: 0a ; OPCODE_NOP
+00000fc: 0a ; OPCODE_NOP
+00000fd: 0a ; OPCODE_NOP
+00000fe: 0a ; OPCODE_NOP
+00000ff: 0a ; OPCODE_NOP
+0000100: 0a ; OPCODE_NOP
+0000101: 0a ; OPCODE_NOP
+0000102: 0a ; OPCODE_NOP
+0000103: 0a ; OPCODE_NOP
+0000104: 0a ; OPCODE_NOP
+0000105: 0a ; OPCODE_NOP
+0000106: 0a ; OPCODE_NOP
+0000107: 0a ; OPCODE_NOP
+0000108: 0a ; OPCODE_NOP
+0000109: 0a ; OPCODE_NOP
+000010a: 0a ; OPCODE_NOP
+000010b: 0a ; OPCODE_NOP
+000010c: 0a ; OPCODE_NOP
+000010d: 0a ; OPCODE_NOP
+000010e: 0a ; OPCODE_NOP
+000010f: 0a ; OPCODE_NOP
+0000110: 0a ; OPCODE_NOP
+0000111: 0a ; OPCODE_NOP
+0000112: 0a ; OPCODE_NOP
+0000113: 0a ; OPCODE_NOP
+0000114: 0a ; OPCODE_NOP
+0000115: 0a ; OPCODE_NOP
+0000116: 0a ; OPCODE_NOP
+0000117: 0a ; OPCODE_NOP
+0000118: 0a ; OPCODE_NOP
+0000119: 0a ; OPCODE_NOP
+000011a: 0a ; OPCODE_NOP
+000011b: 0a ; OPCODE_NOP
+000011c: 0a ; OPCODE_NOP
+000011d: 0a ; OPCODE_NOP
+000011e: 0a ; OPCODE_NOP
+000011f: 0a ; OPCODE_NOP
+0000120: 0a ; OPCODE_NOP
+0000121: 0a ; OPCODE_NOP
+0000122: 0a ; OPCODE_NOP
+0000123: 0a ; OPCODE_NOP
+0000124: 0a ; OPCODE_NOP
+0000125: 0a ; OPCODE_NOP
+0000126: 0a ; OPCODE_NOP
+0000127: 0a ; OPCODE_NOP
+0000128: 0a ; OPCODE_NOP
+0000129: 06 ; OPCODE_BR
+000012a: 00 ; br arity
+000012b: 01 ; break depth
+000012c: 06 ; OPCODE_BR
+000012d: 00 ; br arity
+000012e: 00 ; break depth
+000012f: 06 ; OPCODE_BR
+0000130: 00 ; br arity
+0000131: 01 ; break depth
+0000132: 06 ; OPCODE_BR
+0000133: 00 ; br arity
+0000134: 00 ; break depth
+0000135: 0f ; OPCODE_END
+0000136: 0f ; OPCODE_END
+; move data: [26, 137) -> [27, 138)
+0000025: 9102 ; FIXUP func body size
+; move data: [24, 138) -> [25, 139)
+0000023: 9402 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 6592 0201 8f02 0002 0000 0000 0000
-0000030: 0000 0000 0000 0000 0000 0000 0000 0000
-0000040: 0000 0000 0000 0000 0000 0000 0000 0000
-0000050: 0000 0000 0000 0000 0000 0000 0000 0000
-0000060: 0000 0000 0000 0000 0000 0000 0000 0000
-0000070: 0000 0000 0000 0000 0000 0000 0000 0000
-0000080: 0000 0000 0000 0000 0000 0000 0000 0000
-0000090: 0000 0000 0000 0000 0000 0000 0000 0000
-00000a0: 0000 0000 0000 0000 0000 0000 0000 0000
-00000b0: 0000 0000 0000 0000 0000 0000 0000 0000
-00000c0: 0000 0000 0000 0000 0000 0000 0000 0000
-00000d0: 0000 0000 0000 0000 0000 0000 0000 0000
-00000e0: 0000 0000 0000 0000 0000 0000 0000 0000
-00000f0: 0000 0000 0000 0000 0000 0000 0000 0000
-0000100: 0000 0000 0000 0000 0000 0000 0000 0000
-0000110: 0000 0000 0000 0000 0000 0000 0000 0000
-0000120: 0000 0000 0000 0000 0000 0600 0106 0000
-0000130: 0600 0106 0000 0f
+0000020: 6f64 6594 0201 9102 0001 020a 0a0a 0a0a
+0000030: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000040: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000050: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000060: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000070: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000080: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000090: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+00000a0: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+00000b0: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+00000c0: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+00000d0: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+00000e0: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+00000f0: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000100: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000110: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000120: 0a0a 0a0a 0a0a 0a0a 0a0a 0a06 0001 0600
+0000130: 0006 0001 0600 000f 0f
;;; STDOUT ;;)
diff --git a/test/dump/loop-257-exprs.txt b/test/dump/loop-257-exprs.txt
index ff83bda4..3f792dfa 100644
--- a/test/dump/loop-257-exprs.txt
+++ b/test/dump/loop-257-exprs.txt
@@ -46,7 +46,7 @@
(nop))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -73,286 +73,286 @@
0000025: 00 ; func body size (guess)
0000026: 00 ; local decl count
0000027: 02 ; OPCODE_LOOP
-0000028: 00 ; OPCODE_NOP
-0000029: 00 ; OPCODE_NOP
-000002a: 00 ; OPCODE_NOP
-000002b: 00 ; OPCODE_NOP
-000002c: 00 ; OPCODE_NOP
-000002d: 00 ; OPCODE_NOP
-000002e: 00 ; OPCODE_NOP
-000002f: 00 ; OPCODE_NOP
-0000030: 00 ; OPCODE_NOP
-0000031: 00 ; OPCODE_NOP
-0000032: 00 ; OPCODE_NOP
-0000033: 00 ; OPCODE_NOP
-0000034: 00 ; OPCODE_NOP
-0000035: 00 ; OPCODE_NOP
-0000036: 00 ; OPCODE_NOP
-0000037: 00 ; OPCODE_NOP
-0000038: 00 ; OPCODE_NOP
-0000039: 00 ; OPCODE_NOP
-000003a: 00 ; OPCODE_NOP
-000003b: 00 ; OPCODE_NOP
-000003c: 00 ; OPCODE_NOP
-000003d: 00 ; OPCODE_NOP
-000003e: 00 ; OPCODE_NOP
-000003f: 00 ; OPCODE_NOP
-0000040: 00 ; OPCODE_NOP
-0000041: 00 ; OPCODE_NOP
-0000042: 00 ; OPCODE_NOP
-0000043: 00 ; OPCODE_NOP
-0000044: 00 ; OPCODE_NOP
-0000045: 00 ; OPCODE_NOP
-0000046: 00 ; OPCODE_NOP
-0000047: 00 ; OPCODE_NOP
-0000048: 00 ; OPCODE_NOP
-0000049: 00 ; OPCODE_NOP
-000004a: 00 ; OPCODE_NOP
-000004b: 00 ; OPCODE_NOP
-000004c: 00 ; OPCODE_NOP
-000004d: 00 ; OPCODE_NOP
-000004e: 00 ; OPCODE_NOP
-000004f: 00 ; OPCODE_NOP
-0000050: 00 ; OPCODE_NOP
-0000051: 00 ; OPCODE_NOP
-0000052: 00 ; OPCODE_NOP
-0000053: 00 ; OPCODE_NOP
-0000054: 00 ; OPCODE_NOP
-0000055: 00 ; OPCODE_NOP
-0000056: 00 ; OPCODE_NOP
-0000057: 00 ; OPCODE_NOP
-0000058: 00 ; OPCODE_NOP
-0000059: 00 ; OPCODE_NOP
-000005a: 00 ; OPCODE_NOP
-000005b: 00 ; OPCODE_NOP
-000005c: 00 ; OPCODE_NOP
-000005d: 00 ; OPCODE_NOP
-000005e: 00 ; OPCODE_NOP
-000005f: 00 ; OPCODE_NOP
-0000060: 00 ; OPCODE_NOP
-0000061: 00 ; OPCODE_NOP
-0000062: 00 ; OPCODE_NOP
-0000063: 00 ; OPCODE_NOP
-0000064: 00 ; OPCODE_NOP
-0000065: 00 ; OPCODE_NOP
-0000066: 00 ; OPCODE_NOP
-0000067: 00 ; OPCODE_NOP
-0000068: 00 ; OPCODE_NOP
-0000069: 00 ; OPCODE_NOP
-000006a: 00 ; OPCODE_NOP
-000006b: 00 ; OPCODE_NOP
-000006c: 00 ; OPCODE_NOP
-000006d: 00 ; OPCODE_NOP
-000006e: 00 ; OPCODE_NOP
-000006f: 00 ; OPCODE_NOP
-0000070: 00 ; OPCODE_NOP
-0000071: 00 ; OPCODE_NOP
-0000072: 00 ; OPCODE_NOP
-0000073: 00 ; OPCODE_NOP
-0000074: 00 ; OPCODE_NOP
-0000075: 00 ; OPCODE_NOP
-0000076: 00 ; OPCODE_NOP
-0000077: 00 ; OPCODE_NOP
-0000078: 00 ; OPCODE_NOP
-0000079: 00 ; OPCODE_NOP
-000007a: 00 ; OPCODE_NOP
-000007b: 00 ; OPCODE_NOP
-000007c: 00 ; OPCODE_NOP
-000007d: 00 ; OPCODE_NOP
-000007e: 00 ; OPCODE_NOP
-000007f: 00 ; OPCODE_NOP
-0000080: 00 ; OPCODE_NOP
-0000081: 00 ; OPCODE_NOP
-0000082: 00 ; OPCODE_NOP
-0000083: 00 ; OPCODE_NOP
-0000084: 00 ; OPCODE_NOP
-0000085: 00 ; OPCODE_NOP
-0000086: 00 ; OPCODE_NOP
-0000087: 00 ; OPCODE_NOP
-0000088: 00 ; OPCODE_NOP
-0000089: 00 ; OPCODE_NOP
-000008a: 00 ; OPCODE_NOP
-000008b: 00 ; OPCODE_NOP
-000008c: 00 ; OPCODE_NOP
-000008d: 00 ; OPCODE_NOP
-000008e: 00 ; OPCODE_NOP
-000008f: 00 ; OPCODE_NOP
-0000090: 00 ; OPCODE_NOP
-0000091: 00 ; OPCODE_NOP
-0000092: 00 ; OPCODE_NOP
-0000093: 00 ; OPCODE_NOP
-0000094: 00 ; OPCODE_NOP
-0000095: 00 ; OPCODE_NOP
-0000096: 00 ; OPCODE_NOP
-0000097: 00 ; OPCODE_NOP
-0000098: 00 ; OPCODE_NOP
-0000099: 00 ; OPCODE_NOP
-000009a: 00 ; OPCODE_NOP
-000009b: 00 ; OPCODE_NOP
-000009c: 00 ; OPCODE_NOP
-000009d: 00 ; OPCODE_NOP
-000009e: 00 ; OPCODE_NOP
-000009f: 00 ; OPCODE_NOP
-00000a0: 00 ; OPCODE_NOP
-00000a1: 00 ; OPCODE_NOP
-00000a2: 00 ; OPCODE_NOP
-00000a3: 00 ; OPCODE_NOP
-00000a4: 00 ; OPCODE_NOP
-00000a5: 00 ; OPCODE_NOP
-00000a6: 00 ; OPCODE_NOP
-00000a7: 00 ; OPCODE_NOP
-00000a8: 00 ; OPCODE_NOP
-00000a9: 00 ; OPCODE_NOP
-00000aa: 00 ; OPCODE_NOP
-00000ab: 00 ; OPCODE_NOP
-00000ac: 00 ; OPCODE_NOP
-00000ad: 00 ; OPCODE_NOP
-00000ae: 00 ; OPCODE_NOP
-00000af: 00 ; OPCODE_NOP
-00000b0: 00 ; OPCODE_NOP
-00000b1: 00 ; OPCODE_NOP
-00000b2: 00 ; OPCODE_NOP
-00000b3: 00 ; OPCODE_NOP
-00000b4: 00 ; OPCODE_NOP
-00000b5: 00 ; OPCODE_NOP
-00000b6: 00 ; OPCODE_NOP
-00000b7: 00 ; OPCODE_NOP
-00000b8: 00 ; OPCODE_NOP
-00000b9: 00 ; OPCODE_NOP
-00000ba: 00 ; OPCODE_NOP
-00000bb: 00 ; OPCODE_NOP
-00000bc: 00 ; OPCODE_NOP
-00000bd: 00 ; OPCODE_NOP
-00000be: 00 ; OPCODE_NOP
-00000bf: 00 ; OPCODE_NOP
-00000c0: 00 ; OPCODE_NOP
-00000c1: 00 ; OPCODE_NOP
-00000c2: 00 ; OPCODE_NOP
-00000c3: 00 ; OPCODE_NOP
-00000c4: 00 ; OPCODE_NOP
-00000c5: 00 ; OPCODE_NOP
-00000c6: 00 ; OPCODE_NOP
-00000c7: 00 ; OPCODE_NOP
-00000c8: 00 ; OPCODE_NOP
-00000c9: 00 ; OPCODE_NOP
-00000ca: 00 ; OPCODE_NOP
-00000cb: 00 ; OPCODE_NOP
-00000cc: 00 ; OPCODE_NOP
-00000cd: 00 ; OPCODE_NOP
-00000ce: 00 ; OPCODE_NOP
-00000cf: 00 ; OPCODE_NOP
-00000d0: 00 ; OPCODE_NOP
-00000d1: 00 ; OPCODE_NOP
-00000d2: 00 ; OPCODE_NOP
-00000d3: 00 ; OPCODE_NOP
-00000d4: 00 ; OPCODE_NOP
-00000d5: 00 ; OPCODE_NOP
-00000d6: 00 ; OPCODE_NOP
-00000d7: 00 ; OPCODE_NOP
-00000d8: 00 ; OPCODE_NOP
-00000d9: 00 ; OPCODE_NOP
-00000da: 00 ; OPCODE_NOP
-00000db: 00 ; OPCODE_NOP
-00000dc: 00 ; OPCODE_NOP
-00000dd: 00 ; OPCODE_NOP
-00000de: 00 ; OPCODE_NOP
-00000df: 00 ; OPCODE_NOP
-00000e0: 00 ; OPCODE_NOP
-00000e1: 00 ; OPCODE_NOP
-00000e2: 00 ; OPCODE_NOP
-00000e3: 00 ; OPCODE_NOP
-00000e4: 00 ; OPCODE_NOP
-00000e5: 00 ; OPCODE_NOP
-00000e6: 00 ; OPCODE_NOP
-00000e7: 00 ; OPCODE_NOP
-00000e8: 00 ; OPCODE_NOP
-00000e9: 00 ; OPCODE_NOP
-00000ea: 00 ; OPCODE_NOP
-00000eb: 00 ; OPCODE_NOP
-00000ec: 00 ; OPCODE_NOP
-00000ed: 00 ; OPCODE_NOP
-00000ee: 00 ; OPCODE_NOP
-00000ef: 00 ; OPCODE_NOP
-00000f0: 00 ; OPCODE_NOP
-00000f1: 00 ; OPCODE_NOP
-00000f2: 00 ; OPCODE_NOP
-00000f3: 00 ; OPCODE_NOP
-00000f4: 00 ; OPCODE_NOP
-00000f5: 00 ; OPCODE_NOP
-00000f6: 00 ; OPCODE_NOP
-00000f7: 00 ; OPCODE_NOP
-00000f8: 00 ; OPCODE_NOP
-00000f9: 00 ; OPCODE_NOP
-00000fa: 00 ; OPCODE_NOP
-00000fb: 00 ; OPCODE_NOP
-00000fc: 00 ; OPCODE_NOP
-00000fd: 00 ; OPCODE_NOP
-00000fe: 00 ; OPCODE_NOP
-00000ff: 00 ; OPCODE_NOP
-0000100: 00 ; OPCODE_NOP
-0000101: 00 ; OPCODE_NOP
-0000102: 00 ; OPCODE_NOP
-0000103: 00 ; OPCODE_NOP
-0000104: 00 ; OPCODE_NOP
-0000105: 00 ; OPCODE_NOP
-0000106: 00 ; OPCODE_NOP
-0000107: 00 ; OPCODE_NOP
-0000108: 00 ; OPCODE_NOP
-0000109: 00 ; OPCODE_NOP
-000010a: 00 ; OPCODE_NOP
-000010b: 00 ; OPCODE_NOP
-000010c: 00 ; OPCODE_NOP
-000010d: 00 ; OPCODE_NOP
-000010e: 00 ; OPCODE_NOP
-000010f: 00 ; OPCODE_NOP
-0000110: 00 ; OPCODE_NOP
-0000111: 00 ; OPCODE_NOP
-0000112: 00 ; OPCODE_NOP
-0000113: 00 ; OPCODE_NOP
-0000114: 00 ; OPCODE_NOP
-0000115: 00 ; OPCODE_NOP
-0000116: 00 ; OPCODE_NOP
-0000117: 00 ; OPCODE_NOP
-0000118: 00 ; OPCODE_NOP
-0000119: 00 ; OPCODE_NOP
-000011a: 00 ; OPCODE_NOP
-000011b: 00 ; OPCODE_NOP
-000011c: 00 ; OPCODE_NOP
-000011d: 00 ; OPCODE_NOP
-000011e: 00 ; OPCODE_NOP
-000011f: 00 ; OPCODE_NOP
-0000120: 00 ; OPCODE_NOP
-0000121: 00 ; OPCODE_NOP
-0000122: 00 ; OPCODE_NOP
-0000123: 00 ; OPCODE_NOP
-0000124: 00 ; OPCODE_NOP
-0000125: 00 ; OPCODE_NOP
-0000126: 00 ; OPCODE_NOP
-0000127: 00 ; OPCODE_NOP
-0000128: 00 ; OPCODE_NOP
+0000028: 0a ; OPCODE_NOP
+0000029: 0a ; OPCODE_NOP
+000002a: 0a ; OPCODE_NOP
+000002b: 0a ; OPCODE_NOP
+000002c: 0a ; OPCODE_NOP
+000002d: 0a ; OPCODE_NOP
+000002e: 0a ; OPCODE_NOP
+000002f: 0a ; OPCODE_NOP
+0000030: 0a ; OPCODE_NOP
+0000031: 0a ; OPCODE_NOP
+0000032: 0a ; OPCODE_NOP
+0000033: 0a ; OPCODE_NOP
+0000034: 0a ; OPCODE_NOP
+0000035: 0a ; OPCODE_NOP
+0000036: 0a ; OPCODE_NOP
+0000037: 0a ; OPCODE_NOP
+0000038: 0a ; OPCODE_NOP
+0000039: 0a ; OPCODE_NOP
+000003a: 0a ; OPCODE_NOP
+000003b: 0a ; OPCODE_NOP
+000003c: 0a ; OPCODE_NOP
+000003d: 0a ; OPCODE_NOP
+000003e: 0a ; OPCODE_NOP
+000003f: 0a ; OPCODE_NOP
+0000040: 0a ; OPCODE_NOP
+0000041: 0a ; OPCODE_NOP
+0000042: 0a ; OPCODE_NOP
+0000043: 0a ; OPCODE_NOP
+0000044: 0a ; OPCODE_NOP
+0000045: 0a ; OPCODE_NOP
+0000046: 0a ; OPCODE_NOP
+0000047: 0a ; OPCODE_NOP
+0000048: 0a ; OPCODE_NOP
+0000049: 0a ; OPCODE_NOP
+000004a: 0a ; OPCODE_NOP
+000004b: 0a ; OPCODE_NOP
+000004c: 0a ; OPCODE_NOP
+000004d: 0a ; OPCODE_NOP
+000004e: 0a ; OPCODE_NOP
+000004f: 0a ; OPCODE_NOP
+0000050: 0a ; OPCODE_NOP
+0000051: 0a ; OPCODE_NOP
+0000052: 0a ; OPCODE_NOP
+0000053: 0a ; OPCODE_NOP
+0000054: 0a ; OPCODE_NOP
+0000055: 0a ; OPCODE_NOP
+0000056: 0a ; OPCODE_NOP
+0000057: 0a ; OPCODE_NOP
+0000058: 0a ; OPCODE_NOP
+0000059: 0a ; OPCODE_NOP
+000005a: 0a ; OPCODE_NOP
+000005b: 0a ; OPCODE_NOP
+000005c: 0a ; OPCODE_NOP
+000005d: 0a ; OPCODE_NOP
+000005e: 0a ; OPCODE_NOP
+000005f: 0a ; OPCODE_NOP
+0000060: 0a ; OPCODE_NOP
+0000061: 0a ; OPCODE_NOP
+0000062: 0a ; OPCODE_NOP
+0000063: 0a ; OPCODE_NOP
+0000064: 0a ; OPCODE_NOP
+0000065: 0a ; OPCODE_NOP
+0000066: 0a ; OPCODE_NOP
+0000067: 0a ; OPCODE_NOP
+0000068: 0a ; OPCODE_NOP
+0000069: 0a ; OPCODE_NOP
+000006a: 0a ; OPCODE_NOP
+000006b: 0a ; OPCODE_NOP
+000006c: 0a ; OPCODE_NOP
+000006d: 0a ; OPCODE_NOP
+000006e: 0a ; OPCODE_NOP
+000006f: 0a ; OPCODE_NOP
+0000070: 0a ; OPCODE_NOP
+0000071: 0a ; OPCODE_NOP
+0000072: 0a ; OPCODE_NOP
+0000073: 0a ; OPCODE_NOP
+0000074: 0a ; OPCODE_NOP
+0000075: 0a ; OPCODE_NOP
+0000076: 0a ; OPCODE_NOP
+0000077: 0a ; OPCODE_NOP
+0000078: 0a ; OPCODE_NOP
+0000079: 0a ; OPCODE_NOP
+000007a: 0a ; OPCODE_NOP
+000007b: 0a ; OPCODE_NOP
+000007c: 0a ; OPCODE_NOP
+000007d: 0a ; OPCODE_NOP
+000007e: 0a ; OPCODE_NOP
+000007f: 0a ; OPCODE_NOP
+0000080: 0a ; OPCODE_NOP
+0000081: 0a ; OPCODE_NOP
+0000082: 0a ; OPCODE_NOP
+0000083: 0a ; OPCODE_NOP
+0000084: 0a ; OPCODE_NOP
+0000085: 0a ; OPCODE_NOP
+0000086: 0a ; OPCODE_NOP
+0000087: 0a ; OPCODE_NOP
+0000088: 0a ; OPCODE_NOP
+0000089: 0a ; OPCODE_NOP
+000008a: 0a ; OPCODE_NOP
+000008b: 0a ; OPCODE_NOP
+000008c: 0a ; OPCODE_NOP
+000008d: 0a ; OPCODE_NOP
+000008e: 0a ; OPCODE_NOP
+000008f: 0a ; OPCODE_NOP
+0000090: 0a ; OPCODE_NOP
+0000091: 0a ; OPCODE_NOP
+0000092: 0a ; OPCODE_NOP
+0000093: 0a ; OPCODE_NOP
+0000094: 0a ; OPCODE_NOP
+0000095: 0a ; OPCODE_NOP
+0000096: 0a ; OPCODE_NOP
+0000097: 0a ; OPCODE_NOP
+0000098: 0a ; OPCODE_NOP
+0000099: 0a ; OPCODE_NOP
+000009a: 0a ; OPCODE_NOP
+000009b: 0a ; OPCODE_NOP
+000009c: 0a ; OPCODE_NOP
+000009d: 0a ; OPCODE_NOP
+000009e: 0a ; OPCODE_NOP
+000009f: 0a ; OPCODE_NOP
+00000a0: 0a ; OPCODE_NOP
+00000a1: 0a ; OPCODE_NOP
+00000a2: 0a ; OPCODE_NOP
+00000a3: 0a ; OPCODE_NOP
+00000a4: 0a ; OPCODE_NOP
+00000a5: 0a ; OPCODE_NOP
+00000a6: 0a ; OPCODE_NOP
+00000a7: 0a ; OPCODE_NOP
+00000a8: 0a ; OPCODE_NOP
+00000a9: 0a ; OPCODE_NOP
+00000aa: 0a ; OPCODE_NOP
+00000ab: 0a ; OPCODE_NOP
+00000ac: 0a ; OPCODE_NOP
+00000ad: 0a ; OPCODE_NOP
+00000ae: 0a ; OPCODE_NOP
+00000af: 0a ; OPCODE_NOP
+00000b0: 0a ; OPCODE_NOP
+00000b1: 0a ; OPCODE_NOP
+00000b2: 0a ; OPCODE_NOP
+00000b3: 0a ; OPCODE_NOP
+00000b4: 0a ; OPCODE_NOP
+00000b5: 0a ; OPCODE_NOP
+00000b6: 0a ; OPCODE_NOP
+00000b7: 0a ; OPCODE_NOP
+00000b8: 0a ; OPCODE_NOP
+00000b9: 0a ; OPCODE_NOP
+00000ba: 0a ; OPCODE_NOP
+00000bb: 0a ; OPCODE_NOP
+00000bc: 0a ; OPCODE_NOP
+00000bd: 0a ; OPCODE_NOP
+00000be: 0a ; OPCODE_NOP
+00000bf: 0a ; OPCODE_NOP
+00000c0: 0a ; OPCODE_NOP
+00000c1: 0a ; OPCODE_NOP
+00000c2: 0a ; OPCODE_NOP
+00000c3: 0a ; OPCODE_NOP
+00000c4: 0a ; OPCODE_NOP
+00000c5: 0a ; OPCODE_NOP
+00000c6: 0a ; OPCODE_NOP
+00000c7: 0a ; OPCODE_NOP
+00000c8: 0a ; OPCODE_NOP
+00000c9: 0a ; OPCODE_NOP
+00000ca: 0a ; OPCODE_NOP
+00000cb: 0a ; OPCODE_NOP
+00000cc: 0a ; OPCODE_NOP
+00000cd: 0a ; OPCODE_NOP
+00000ce: 0a ; OPCODE_NOP
+00000cf: 0a ; OPCODE_NOP
+00000d0: 0a ; OPCODE_NOP
+00000d1: 0a ; OPCODE_NOP
+00000d2: 0a ; OPCODE_NOP
+00000d3: 0a ; OPCODE_NOP
+00000d4: 0a ; OPCODE_NOP
+00000d5: 0a ; OPCODE_NOP
+00000d6: 0a ; OPCODE_NOP
+00000d7: 0a ; OPCODE_NOP
+00000d8: 0a ; OPCODE_NOP
+00000d9: 0a ; OPCODE_NOP
+00000da: 0a ; OPCODE_NOP
+00000db: 0a ; OPCODE_NOP
+00000dc: 0a ; OPCODE_NOP
+00000dd: 0a ; OPCODE_NOP
+00000de: 0a ; OPCODE_NOP
+00000df: 0a ; OPCODE_NOP
+00000e0: 0a ; OPCODE_NOP
+00000e1: 0a ; OPCODE_NOP
+00000e2: 0a ; OPCODE_NOP
+00000e3: 0a ; OPCODE_NOP
+00000e4: 0a ; OPCODE_NOP
+00000e5: 0a ; OPCODE_NOP
+00000e6: 0a ; OPCODE_NOP
+00000e7: 0a ; OPCODE_NOP
+00000e8: 0a ; OPCODE_NOP
+00000e9: 0a ; OPCODE_NOP
+00000ea: 0a ; OPCODE_NOP
+00000eb: 0a ; OPCODE_NOP
+00000ec: 0a ; OPCODE_NOP
+00000ed: 0a ; OPCODE_NOP
+00000ee: 0a ; OPCODE_NOP
+00000ef: 0a ; OPCODE_NOP
+00000f0: 0a ; OPCODE_NOP
+00000f1: 0a ; OPCODE_NOP
+00000f2: 0a ; OPCODE_NOP
+00000f3: 0a ; OPCODE_NOP
+00000f4: 0a ; OPCODE_NOP
+00000f5: 0a ; OPCODE_NOP
+00000f6: 0a ; OPCODE_NOP
+00000f7: 0a ; OPCODE_NOP
+00000f8: 0a ; OPCODE_NOP
+00000f9: 0a ; OPCODE_NOP
+00000fa: 0a ; OPCODE_NOP
+00000fb: 0a ; OPCODE_NOP
+00000fc: 0a ; OPCODE_NOP
+00000fd: 0a ; OPCODE_NOP
+00000fe: 0a ; OPCODE_NOP
+00000ff: 0a ; OPCODE_NOP
+0000100: 0a ; OPCODE_NOP
+0000101: 0a ; OPCODE_NOP
+0000102: 0a ; OPCODE_NOP
+0000103: 0a ; OPCODE_NOP
+0000104: 0a ; OPCODE_NOP
+0000105: 0a ; OPCODE_NOP
+0000106: 0a ; OPCODE_NOP
+0000107: 0a ; OPCODE_NOP
+0000108: 0a ; OPCODE_NOP
+0000109: 0a ; OPCODE_NOP
+000010a: 0a ; OPCODE_NOP
+000010b: 0a ; OPCODE_NOP
+000010c: 0a ; OPCODE_NOP
+000010d: 0a ; OPCODE_NOP
+000010e: 0a ; OPCODE_NOP
+000010f: 0a ; OPCODE_NOP
+0000110: 0a ; OPCODE_NOP
+0000111: 0a ; OPCODE_NOP
+0000112: 0a ; OPCODE_NOP
+0000113: 0a ; OPCODE_NOP
+0000114: 0a ; OPCODE_NOP
+0000115: 0a ; OPCODE_NOP
+0000116: 0a ; OPCODE_NOP
+0000117: 0a ; OPCODE_NOP
+0000118: 0a ; OPCODE_NOP
+0000119: 0a ; OPCODE_NOP
+000011a: 0a ; OPCODE_NOP
+000011b: 0a ; OPCODE_NOP
+000011c: 0a ; OPCODE_NOP
+000011d: 0a ; OPCODE_NOP
+000011e: 0a ; OPCODE_NOP
+000011f: 0a ; OPCODE_NOP
+0000120: 0a ; OPCODE_NOP
+0000121: 0a ; OPCODE_NOP
+0000122: 0a ; OPCODE_NOP
+0000123: 0a ; OPCODE_NOP
+0000124: 0a ; OPCODE_NOP
+0000125: 0a ; OPCODE_NOP
+0000126: 0a ; OPCODE_NOP
+0000127: 0a ; OPCODE_NOP
+0000128: 0a ; OPCODE_NOP
0000129: 0f ; OPCODE_END
; move data: [26, 12a) -> [27, 12b)
0000025: 8402 ; FIXUP func body size
; move data: [24, 12b) -> [25, 12c)
0000023: 8702 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 6587 0201 8402 0002 0000 0000 0000
-0000030: 0000 0000 0000 0000 0000 0000 0000 0000
-0000040: 0000 0000 0000 0000 0000 0000 0000 0000
-0000050: 0000 0000 0000 0000 0000 0000 0000 0000
-0000060: 0000 0000 0000 0000 0000 0000 0000 0000
-0000070: 0000 0000 0000 0000 0000 0000 0000 0000
-0000080: 0000 0000 0000 0000 0000 0000 0000 0000
-0000090: 0000 0000 0000 0000 0000 0000 0000 0000
-00000a0: 0000 0000 0000 0000 0000 0000 0000 0000
-00000b0: 0000 0000 0000 0000 0000 0000 0000 0000
-00000c0: 0000 0000 0000 0000 0000 0000 0000 0000
-00000d0: 0000 0000 0000 0000 0000 0000 0000 0000
-00000e0: 0000 0000 0000 0000 0000 0000 0000 0000
-00000f0: 0000 0000 0000 0000 0000 0000 0000 0000
-0000100: 0000 0000 0000 0000 0000 0000 0000 0000
-0000110: 0000 0000 0000 0000 0000 0000 0000 0000
-0000120: 0000 0000 0000 0000 0000 000f
+0000020: 6f64 6587 0201 8402 0002 0a0a 0a0a 0a0a
+0000030: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000040: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000050: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000060: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000070: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000080: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000090: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+00000a0: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+00000b0: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+00000c0: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+00000d0: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+00000e0: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+00000f0: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000100: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000110: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
+0000120: 0a0a 0a0a 0a0a 0a0a 0a0a 0a0f
;;; STDOUT ;;)
diff --git a/test/dump/loop.txt b/test/dump/loop.txt
index 77f6c1fc..cdf85e3b 100644
--- a/test/dump/loop.txt
+++ b/test/dump/loop.txt
@@ -6,7 +6,7 @@
(nop))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -33,13 +33,13 @@
0000025: 00 ; func body size (guess)
0000026: 00 ; local decl count
0000027: 02 ; OPCODE_LOOP
-0000028: 00 ; OPCODE_NOP
-0000029: 00 ; OPCODE_NOP
+0000028: 0a ; OPCODE_NOP
+0000029: 0a ; OPCODE_NOP
000002a: 0f ; OPCODE_END
0000025: 05 ; FIXUP func body size
0000023: 07 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 6507 0105 0002 0000 0f
+0000020: 6f64 6507 0105 0002 0a0a 0f
;;; STDOUT ;;)
diff --git a/test/dump/memory-1-byte.txt b/test/dump/memory-1-byte.txt
index 26f96328..cc6d7251 100644
--- a/test/dump/memory-1-byte.txt
+++ b/test/dump/memory-1-byte.txt
@@ -2,7 +2,7 @@
(module (memory 1))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "memory"
0000008: 06 ; string length
0000009: 6d65 6d6f 7279 ; section id: "memory"
@@ -12,6 +12,6 @@
0000012: 00 ; export mem
000000f: 03 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 066d 656d 6f72 7903
+0000000: 0061 736d 0c00 0000 066d 656d 6f72 7903
0000010: 0101 00
;;; STDOUT ;;)
diff --git a/test/dump/memory-data-size.txt b/test/dump/memory-data-size.txt
index 70b5c056..69d19898 100644
--- a/test/dump/memory-data-size.txt
+++ b/test/dump/memory-data-size.txt
@@ -5,7 +5,7 @@
(module (memory 5))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "memory"
0000008: 06 ; string length
0000009: 6d65 6d6f 7279 ; section id: "memory"
@@ -15,7 +15,7 @@
0000012: 00 ; export mem
000000f: 03 ; FIXUP section size
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "memory"
0000008: 06 ; string length
0000009: 6d65 6d6f 7279 ; section id: "memory"
@@ -25,7 +25,7 @@
0000012: 00 ; export mem
000000f: 03 ; FIXUP section size
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "memory"
0000008: 06 ; string length
0000009: 6d65 6d6f 7279 ; section id: "memory"
@@ -35,7 +35,7 @@
0000012: 00 ; export mem
000000f: 03 ; FIXUP section size
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "memory"
0000008: 06 ; string length
0000009: 6d65 6d6f 7279 ; section id: "memory"
diff --git a/test/dump/memory-hex.txt b/test/dump/memory-hex.txt
index 2ddada02..31177cf3 100644
--- a/test/dump/memory-hex.txt
+++ b/test/dump/memory-hex.txt
@@ -4,7 +4,7 @@
(segment 0 "\00\01\02\03\04\05\06\07\08\09\0a")))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "memory"
0000008: 06 ; string length
0000009: 6d65 6d6f 7279 ; section id: "memory"
@@ -25,7 +25,7 @@
000001c: 0001 0203 0405 0607 0809 0a ; segment data
0000018: 0e ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 066d 656d 6f72 7903
+0000000: 0061 736d 0c00 0000 066d 656d 6f72 7903
0000010: 0101 0004 6461 7461 0e01 000b 0001 0203
0000020: 0405 0607 0809 0a
;;; STDOUT ;;)
diff --git a/test/dump/memory.txt b/test/dump/memory.txt
index 9e996e68..6d952720 100644
--- a/test/dump/memory.txt
+++ b/test/dump/memory.txt
@@ -3,7 +3,7 @@
(memory 1 (segment 10 "hello") (segment 20 "goodbye")))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "memory"
0000008: 06 ; string length
0000009: 6d65 6d6f 7279 ; section id: "memory"
@@ -29,7 +29,7 @@
0000023: 676f 6f64 6279 65 ; segment data
0000018: 11 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 066d 656d 6f72 7903
+0000000: 0061 736d 0c00 0000 066d 656d 6f72 7903
0000010: 0101 0004 6461 7461 1102 0a05 6865 6c6c
0000020: 6f14 0767 6f6f 6462 7965
;;; STDOUT ;;)
diff --git a/test/dump/no-canonicalize.txt b/test/dump/no-canonicalize.txt
index 4efd17c2..59511fc6 100644
--- a/test/dump/no-canonicalize.txt
+++ b/test/dump/no-canonicalize.txt
@@ -5,12 +5,15 @@
(export "f1" $f1)
(table $f2 $f3)
(type $t (func (param i32) (result i32)))
- (func $f1 (param i32 i32) (call_indirect $t (get_local 0) (get_local 1)))
- (func $f2 (param i32) (i32.add (get_local 0) (i32.const 1)))
- (func $f3 (param i32) (i32.mul (get_local 0) (i32.const 2))))
+ (func $f1 (param i32 i32)
+ (drop (call_indirect $t (get_local 0) (get_local 1))))
+ (func $f2 (param i32)
+ (drop (i32.add (get_local 0) (i32.const 1))))
+ (func $f3 (param i32)
+ (drop (i32.mul (get_local 0) (i32.const 2)))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -93,8 +96,8 @@
000008e: 14 ; OPCODE_GET_LOCAL
000008f: 01 ; local index
0000090: 17 ; OPCODE_CALL_INDIRECT
-0000091: 01 ; call_indirect arity
-0000092: 01 ; signature index
+0000091: 01 ; signature index
+0000092: 0b ; OPCODE_DROP
0000086: 8880 8080 00 ; FIXUP func body size
; function body 1
0000093: 0000 0000 00 ; func body size (guess)
@@ -104,19 +107,21 @@
000009b: 10 ; OPCODE_I32_CONST
000009c: 01 ; i32 literal
000009d: 40 ; OPCODE_I32_ADD
-0000093: 8680 8080 00 ; FIXUP func body size
+000009e: 0b ; OPCODE_DROP
+0000093: 8780 8080 00 ; FIXUP func body size
; function body 2
-000009e: 0000 0000 00 ; func body size (guess)
-00000a3: 00 ; local decl count
-00000a4: 14 ; OPCODE_GET_LOCAL
-00000a5: 00 ; local index
-00000a6: 10 ; OPCODE_I32_CONST
-00000a7: 02 ; i32 literal
-00000a8: 42 ; OPCODE_I32_MUL
-000009e: 8680 8080 00 ; FIXUP func body size
-0000080: a480 8080 00 ; FIXUP section size
+000009f: 0000 0000 00 ; func body size (guess)
+00000a4: 00 ; local decl count
+00000a5: 14 ; OPCODE_GET_LOCAL
+00000a6: 00 ; local index
+00000a7: 10 ; OPCODE_I32_CONST
+00000a8: 02 ; i32 literal
+00000a9: 42 ; OPCODE_I32_MUL
+00000aa: 0b ; OPCODE_DROP
+000009f: 8780 8080 00 ; FIXUP func body size
+0000080: a680 8080 00 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 658f 8080
+0000000: 0061 736d 0c00 0000 0474 7970 658f 8080
0000010: 8000 0340 0101 0040 0101 0101 4002 0101
0000020: 0006 696d 706f 7274 8e80 8080 0001 0005
0000030: 7374 6469 6f05 7072 696e 7408 6675 6e63
@@ -124,7 +129,7 @@
0000050: 626c 6583 8080 8000 0201 0206 6d65 6d6f
0000060: 7279 8380 8080 0064 6400 0665 7870 6f72
0000070: 7485 8080 8000 0100 0266 3104 636f 6465
-0000080: a480 8080 0003 8880 8080 0000 1400 1401
-0000090: 1701 0186 8080 8000 0014 0010 0140 8680
-00000a0: 8080 0000 1400 1002 42
+0000080: a680 8080 0003 8880 8080 0000 1400 1401
+0000090: 1701 0b87 8080 8000 0014 0010 0140 0b87
+00000a0: 8080 8000 0014 0010 0242 0b
;;; STDOUT ;;)
diff --git a/test/dump/nocheck.txt b/test/dump/nocheck.txt
index 23ddd750..05fd4ca5 100644
--- a/test/dump/nocheck.txt
+++ b/test/dump/nocheck.txt
@@ -7,7 +7,7 @@
(export "foo" 0))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
diff --git a/test/dump/nop.txt b/test/dump/nop.txt
index 14765704..5d7b3c1c 100644
--- a/test/dump/nop.txt
+++ b/test/dump/nop.txt
@@ -3,7 +3,7 @@
(func (nop)))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -29,11 +29,11 @@
; function body 0
0000025: 00 ; func body size (guess)
0000026: 00 ; local decl count
-0000027: 00 ; OPCODE_NOP
+0000027: 0a ; OPCODE_NOP
0000025: 02 ; FIXUP func body size
0000023: 04 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 6504 0102 0000
+0000020: 6f64 6504 0102 000a
;;; STDOUT ;;)
diff --git a/test/dump/param-multi.txt b/test/dump/param-multi.txt
index fe3b42cb..f8016ddf 100644
--- a/test/dump/param-multi.txt
+++ b/test/dump/param-multi.txt
@@ -3,7 +3,7 @@
(func (param i32 i64 f32 f64)))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -36,7 +36,7 @@
0000029: 01 ; FIXUP func body size
0000027: 03 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6508 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6508 0140
0000010: 0401 0203 0400 0866 756e 6374 696f 6e02
0000020: 0100 0463 6f64 6503 0101 00
;;; STDOUT ;;)
diff --git a/test/dump/result.txt b/test/dump/result.txt
index b6c7b2aa..6283feb6 100644
--- a/test/dump/result.txt
+++ b/test/dump/result.txt
@@ -6,7 +6,7 @@
(func (result f64) (f64.const 0)))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -74,7 +74,7 @@
0000044: 0a ; FIXUP func body size
0000033: 1b ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6511 0440
+0000000: 0061 736d 0c00 0000 0474 7970 6511 0440
0000010: 0001 0140 0001 0240 0001 0340 0001 0408
0000020: 6675 6e63 7469 6f6e 0504 0001 0203 0463
0000030: 6f64 651b 0403 0010 0003 0011 0006 0013
diff --git a/test/dump/return.txt b/test/dump/return.txt
index 24248e6a..f714a0b7 100644
--- a/test/dump/return.txt
+++ b/test/dump/return.txt
@@ -5,7 +5,7 @@
(func (return)))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -40,18 +40,16 @@
000002c: 10 ; OPCODE_I32_CONST
000002d: 2a ; i32 literal
000002e: 09 ; OPCODE_RETURN
-000002f: 01 ; return arity
-000002a: 05 ; FIXUP func body size
+000002a: 04 ; FIXUP func body size
; function body 1
-0000030: 00 ; func body size (guess)
-0000031: 00 ; local decl count
-0000032: 09 ; OPCODE_RETURN
-0000033: 00 ; return arity
-0000030: 03 ; FIXUP func body size
-0000028: 0b ; FIXUP section size
+000002f: 00 ; func body size (guess)
+0000030: 00 ; local decl count
+0000031: 09 ; OPCODE_RETURN
+000002f: 02 ; FIXUP func body size
+0000028: 09 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6508 0240
+0000000: 0061 736d 0c00 0000 0474 7970 6508 0240
0000010: 0001 0140 0000 0866 756e 6374 696f 6e03
-0000020: 0200 0104 636f 6465 0b02 0500 102a 0901
-0000030: 0300 0900
+0000020: 0200 0104 636f 6465 0902 0400 102a 0902
+0000030: 0009
;;; STDOUT ;;)
diff --git a/test/dump/select.txt b/test/dump/select.txt
index 6ed00331..a23045c6 100644
--- a/test/dump/select.txt
+++ b/test/dump/select.txt
@@ -1,13 +1,13 @@
;;; FLAGS: -dv
(module
(func
- (select (i32.const 2) (i32.const 3) (i32.const 1))
- (select (i64.const 2) (i64.const 3) (i32.const 1))
- (select (f32.const 2) (f32.const 3) (i32.const 1))
- (select (f64.const 2) (f64.const 3) (i32.const 1))))
+ (drop (select (i32.const 2) (i32.const 3) (i32.const 1)))
+ (drop (select (i64.const 2) (i64.const 3) (i32.const 1)))
+ (drop (select (f32.const 2) (f32.const 3) (i32.const 1)))
+ (drop (select (f64.const 2) (f64.const 3) (i32.const 1)))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -40,34 +40,38 @@
000002b: 10 ; OPCODE_I32_CONST
000002c: 01 ; i32 literal
000002d: 05 ; OPCODE_SELECT
-000002e: 11 ; OPCODE_I64_CONST
-000002f: 02 ; i64 literal
-0000030: 11 ; OPCODE_I64_CONST
-0000031: 03 ; i64 literal
-0000032: 10 ; OPCODE_I32_CONST
-0000033: 01 ; i32 literal
-0000034: 05 ; OPCODE_SELECT
-0000035: 13 ; OPCODE_F32_CONST
-0000036: 0000 0040 ; f32 literal
-000003a: 13 ; OPCODE_F32_CONST
-000003b: 0000 4040 ; f32 literal
-000003f: 10 ; OPCODE_I32_CONST
-0000040: 01 ; i32 literal
-0000041: 05 ; OPCODE_SELECT
-0000042: 12 ; OPCODE_F64_CONST
-0000043: 0000 0000 0000 0040 ; f64 literal
-000004b: 12 ; OPCODE_F64_CONST
-000004c: 0000 0000 0000 0840 ; f64 literal
-0000054: 10 ; OPCODE_I32_CONST
-0000055: 01 ; i32 literal
-0000056: 05 ; OPCODE_SELECT
-0000025: 31 ; FIXUP func body size
-0000023: 33 ; FIXUP section size
+000002e: 0b ; OPCODE_DROP
+000002f: 11 ; OPCODE_I64_CONST
+0000030: 02 ; i64 literal
+0000031: 11 ; OPCODE_I64_CONST
+0000032: 03 ; i64 literal
+0000033: 10 ; OPCODE_I32_CONST
+0000034: 01 ; i32 literal
+0000035: 05 ; OPCODE_SELECT
+0000036: 0b ; OPCODE_DROP
+0000037: 13 ; OPCODE_F32_CONST
+0000038: 0000 0040 ; f32 literal
+000003c: 13 ; OPCODE_F32_CONST
+000003d: 0000 4040 ; f32 literal
+0000041: 10 ; OPCODE_I32_CONST
+0000042: 01 ; i32 literal
+0000043: 05 ; OPCODE_SELECT
+0000044: 0b ; OPCODE_DROP
+0000045: 12 ; OPCODE_F64_CONST
+0000046: 0000 0000 0000 0040 ; f64 literal
+000004e: 12 ; OPCODE_F64_CONST
+000004f: 0000 0000 0000 0840 ; f64 literal
+0000057: 10 ; OPCODE_I32_CONST
+0000058: 01 ; i32 literal
+0000059: 05 ; OPCODE_SELECT
+000005a: 0b ; OPCODE_DROP
+0000025: 35 ; FIXUP func body size
+0000023: 37 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 6533 0131 0010 0210 0310 0105 1102
-0000030: 1103 1001 0513 0000 0040 1300 0040 4010
-0000040: 0105 1200 0000 0000 0000 4012 0000 0000
-0000050: 0000 0840 1001 05
+0000020: 6f64 6537 0135 0010 0210 0310 0105 0b11
+0000030: 0211 0310 0105 0b13 0000 0040 1300 0040
+0000040: 4010 0105 0b12 0000 0000 0000 0040 1200
+0000050: 0000 0000 0008 4010 0105 0b
;;; STDOUT ;;)
diff --git a/test/dump/setlocal-param.txt b/test/dump/setlocal-param.txt
index 099e3050..f232025c 100644
--- a/test/dump/setlocal-param.txt
+++ b/test/dump/setlocal-param.txt
@@ -14,7 +14,7 @@
(set_local 5 (f32.const 0))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -77,7 +77,7 @@
0000027: 2a ; FIXUP func body size
0000025: 2c ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6506 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6506 0140
0000010: 0201 0300 0866 756e 6374 696f 6e02 0100
0000020: 0463 6f64 652c 012a 0401 0201 0301 0101
0000030: 0310 0015 0013 0000 0000 1501 1100 1502
diff --git a/test/dump/setlocal.txt b/test/dump/setlocal.txt
index 65e433d6..edc19ff8 100644
--- a/test/dump/setlocal.txt
+++ b/test/dump/setlocal.txt
@@ -16,7 +16,7 @@
(set_local 7 (i64.const 0))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -91,7 +91,7 @@
0000025: 43 ; FIXUP func body size
0000023: 45 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
0000020: 6f64 6545 0143 0701 0401 0301 0202 0101
0000030: 0301 0401 0212 0000 0000 0000 0000 1500
diff --git a/test/dump/signatures.txt b/test/dump/signatures.txt
index 3bab52a2..e7ab3ac4 100644
--- a/test/dump/signatures.txt
+++ b/test/dump/signatures.txt
@@ -13,7 +13,7 @@
(type (func (param i32) (result f64))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -67,7 +67,7 @@
0000033: 04 ; result_type
000000d: 26 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6526 0940
+0000000: 0061 736d 0c00 0000 0474 7970 6526 0940
0000010: 0101 0040 0102 0040 0103 0040 0104 0040
0000020: 0001 0140 0001 0240 0001 0340 0001 0440
0000030: 0101 0104
diff --git a/test/dump/store-aligned.txt b/test/dump/store-aligned.txt
index 425372da..e68eba46 100644
--- a/test/dump/store-aligned.txt
+++ b/test/dump/store-aligned.txt
@@ -37,7 +37,7 @@
(i64.store align=8 (i32.const 0) (i64.const 0))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -264,7 +264,7 @@
; move data: [24, ec) -> [25, ed)
0000023: c801 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
0000020: 6f64 65c8 0101 c501 0010 0010 002e 0000
0000030: 1000 1000 2e01 0010 0010 002e 0200 1000
diff --git a/test/dump/store.txt b/test/dump/store.txt
index 67f672ef..1df5bc76 100644
--- a/test/dump/store.txt
+++ b/test/dump/store.txt
@@ -12,7 +12,7 @@
(f64.store (i32.const 0) (f64.const 0))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -104,7 +104,7 @@
0000025: 4a ; FIXUP func body size
0000023: 4c ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
0000020: 6f64 654c 014a 0010 0010 002e 0000 1000
0000030: 1000 2f01 0010 0010 0033 0200 1000 1100
diff --git a/test/dump/string-escape.txt b/test/dump/string-escape.txt
index 25d8ceb3..327b6215 100644
--- a/test/dump/string-escape.txt
+++ b/test/dump/string-escape.txt
@@ -2,7 +2,7 @@
(module (func) (export "tab:\t newline:\n slash:\\ quote:\' double:\"" 0))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -42,7 +42,7 @@
0000058: 01 ; FIXUP func body size
0000056: 03 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0665
0000020: 7870 6f72 742b 0100 2874 6162 3a09 206e
0000030: 6577 6c69 6e65 3a0a 2073 6c61 7368 3a5c
diff --git a/test/dump/string-hex.txt b/test/dump/string-hex.txt
index f8e33d76..b10cce86 100644
--- a/test/dump/string-hex.txt
+++ b/test/dump/string-hex.txt
@@ -2,7 +2,7 @@
(module (func) (export "foo\ba\dc\0d\ee" 0))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -40,7 +40,7 @@
0000037: 01 ; FIXUP func body size
0000035: 03 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0665
0000020: 7870 6f72 740a 0100 0766 6f6f badc 0dee
0000030: 0463 6f64 6503 0101 00
diff --git a/test/dump/table.txt b/test/dump/table.txt
index 89d1d75b..49253d6f 100644
--- a/test/dump/table.txt
+++ b/test/dump/table.txt
@@ -7,7 +7,7 @@
(table 0 0 1 2))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -70,7 +70,7 @@
0000041: 0a ; FIXUP func body size
000003b: 10 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 650e 0340
+0000000: 0061 736d 0c00 0000 0474 7970 650e 0340
0000010: 0101 0040 0201 0200 4000 0104 0866 756e
0000020: 6374 696f 6e04 0300 0102 0574 6162 6c65
0000030: 0504 0000 0102 0463 6f64 6510 0301 0001
diff --git a/test/dump/tee_local.txt b/test/dump/tee_local.txt
new file mode 100644
index 00000000..88db8cf0
--- /dev/null
+++ b/test/dump/tee_local.txt
@@ -0,0 +1,48 @@
+;;; FLAGS: -dv
+(module
+ (func
+ (local i32)
+ (drop
+ (tee_local 0 (i32.const 0)))))
+(;; STDOUT ;;;
+0000000: 0061 736d ; WASM_BINARY_MAGIC
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
+; section "type"
+0000008: 04 ; string length
+0000009: 7479 7065 ; section id: "type"
+000000d: 00 ; section size (guess)
+000000e: 01 ; num types
+; type 0
+000000f: 40 ; function form
+0000010: 00 ; num params
+0000011: 00 ; num results
+000000d: 04 ; FIXUP section size
+; section "function"
+0000012: 08 ; string length
+0000013: 6675 6e63 7469 6f6e ; section id: "function"
+000001b: 00 ; section size (guess)
+000001c: 01 ; num functions
+000001d: 00 ; function 0 signature index
+000001b: 02 ; FIXUP section size
+; section "code"
+000001e: 04 ; string length
+000001f: 636f 6465 ; section id: "code"
+0000023: 00 ; section size (guess)
+0000024: 01 ; num functions
+; function body 0
+0000025: 00 ; func body size (guess)
+0000026: 01 ; local decl count
+0000027: 01 ; local type count
+0000028: 01 ; WASM_TYPE_I32
+0000029: 10 ; OPCODE_I32_CONST
+000002a: 00 ; i32 literal
+000002b: 19 ; OPCODE_TEE_LOCAL
+000002c: 00 ; local index
+000002d: 0b ; OPCODE_DROP
+0000025: 08 ; FIXUP func body size
+0000023: 0a ; FIXUP section size
+;; dump
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
+0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
+0000020: 6f64 650a 0108 0101 0110 0019 000b
+;;; STDOUT ;;)
diff --git a/test/dump/unary.txt b/test/dump/unary.txt
index d0f11d2a..0ce5e647 100644
--- a/test/dump/unary.txt
+++ b/test/dump/unary.txt
@@ -31,7 +31,7 @@
(f64.nearest (f64.const 0)))))))))))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -63,35 +63,40 @@
000002a: 58 ; OPCODE_I32_CTZ
000002b: 57 ; OPCODE_I32_CLZ
000002c: 5a ; OPCODE_I32_EQZ
-000002d: 11 ; OPCODE_I64_CONST
-000002e: 00 ; i64 literal
-000002f: 74 ; OPCODE_I64_POPCNT
-0000030: 73 ; OPCODE_I64_CTZ
-0000031: 72 ; OPCODE_I64_CLZ
-0000032: 13 ; OPCODE_F32_CONST
-0000033: 0000 0000 ; f32 literal
-0000037: 81 ; OPCODE_F32_NEAREST
-0000038: 80 ; OPCODE_F32_TRUNC
-0000039: 7f ; OPCODE_F32_FLOOR
-000003a: 7e ; OPCODE_F32_CEIL
-000003b: 82 ; OPCODE_F32_SQRT
-000003c: 7b ; OPCODE_F32_ABS
-000003d: 7c ; OPCODE_F32_NEG
-000003e: 12 ; OPCODE_F64_CONST
-000003f: 0000 0000 0000 0000 ; f64 literal
-0000047: 95 ; OPCODE_F64_NEAREST
-0000048: 94 ; OPCODE_F64_TRUNC
-0000049: 93 ; OPCODE_F64_FLOOR
-000004a: 92 ; OPCODE_F64_CEIL
-000004b: 96 ; OPCODE_F64_SQRT
-000004c: 8f ; OPCODE_F64_ABS
-000004d: 90 ; OPCODE_F64_NEG
-0000025: 28 ; FIXUP func body size
-0000023: 2a ; FIXUP section size
+000002d: 0b ; OPCODE_DROP
+000002e: 11 ; OPCODE_I64_CONST
+000002f: 00 ; i64 literal
+0000030: 74 ; OPCODE_I64_POPCNT
+0000031: 73 ; OPCODE_I64_CTZ
+0000032: 72 ; OPCODE_I64_CLZ
+0000033: 0b ; OPCODE_DROP
+0000034: 13 ; OPCODE_F32_CONST
+0000035: 0000 0000 ; f32 literal
+0000039: 81 ; OPCODE_F32_NEAREST
+000003a: 80 ; OPCODE_F32_TRUNC
+000003b: 7f ; OPCODE_F32_FLOOR
+000003c: 7e ; OPCODE_F32_CEIL
+000003d: 82 ; OPCODE_F32_SQRT
+000003e: 7b ; OPCODE_F32_ABS
+000003f: 7c ; OPCODE_F32_NEG
+0000040: 0b ; OPCODE_DROP
+0000041: 12 ; OPCODE_F64_CONST
+0000042: 0000 0000 0000 0000 ; f64 literal
+000004a: 95 ; OPCODE_F64_NEAREST
+000004b: 94 ; OPCODE_F64_TRUNC
+000004c: 93 ; OPCODE_F64_FLOOR
+000004d: 92 ; OPCODE_F64_CEIL
+000004e: 96 ; OPCODE_F64_SQRT
+000004f: 8f ; OPCODE_F64_ABS
+0000050: 90 ; OPCODE_F64_NEG
+0000051: 0b ; OPCODE_DROP
+0000025: 2c ; FIXUP func body size
+0000023: 2e ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 652a 0128 0010 0059 5857 5a11 0074
-0000030: 7372 1300 0000 0081 807f 7e82 7b7c 1200
-0000040: 0000 0000 0000 0095 9493 9296 8f90
+0000020: 6f64 652e 012c 0010 0059 5857 5a0b 1100
+0000030: 7473 720b 1300 0000 0081 807f 7e82 7b7c
+0000040: 0b12 0000 0000 0000 0000 9594 9392 968f
+0000050: 900b
;;; STDOUT ;;)
diff --git a/test/dump/unreachable.txt b/test/dump/unreachable.txt
index 34065f9c..b3033c00 100644
--- a/test/dump/unreachable.txt
+++ b/test/dump/unreachable.txt
@@ -4,7 +4,7 @@
(unreachable)))
(;; STDOUT ;;;
0000000: 0061 736d ; WASM_BINARY_MAGIC
-0000004: 0b00 0000 ; WASM_BINARY_VERSION
+0000004: 0c00 0000 ; WASM_BINARY_VERSION
; section "type"
0000008: 04 ; string length
0000009: 7479 7065 ; section id: "type"
@@ -30,11 +30,11 @@
; function body 0
0000025: 00 ; func body size (guess)
0000026: 00 ; local decl count
-0000027: 0a ; OPCODE_UNREACHABLE
+0000027: 00 ; OPCODE_UNREACHABLE
0000025: 02 ; FIXUP func body size
0000023: 04 ; FIXUP section size
;; dump
-0000000: 0061 736d 0b00 0000 0474 7970 6504 0140
+0000000: 0061 736d 0c00 0000 0474 7970 6504 0140
0000010: 0000 0866 756e 6374 696f 6e02 0100 0463
-0000020: 6f64 6504 0102 000a
+0000020: 6f64 6504 0102 0000
;;; STDOUT ;;)