|
2 | 2 | (module |
3 | 3 | ;; Typing |
4 | 4 |
|
5 | | - (func (export "type-local-i32") (result i32) (local i32) (local.get 0)) |
6 | | - (func (export "type-local-i64") (result i64) (local i64) (local.get 0)) |
7 | | - (func (export "type-local-f32") (result f32) (local f32) (local.get 0)) |
8 | | - (func (export "type-local-f64") (result f64) (local f64) (local.get 0)) |
| 5 | + (func $type-local-i32 (export "type-local-i32") (result i32) (local i32) (local.get 0)) |
| 6 | + (func $type-local-i64 (export "type-local-i64") (result i64) (local i64) (local.get 0)) |
| 7 | + (func $type-local-f32 (export "type-local-f32") (result f32) (local f32) (local.get 0)) |
| 8 | + (func $type-local-f64 (export "type-local-f64") (result f64) (local f64) (local.get 0)) |
9 | 9 |
|
10 | | - (func (export "type-param-i32") (param i32) (result i32) (local.get 0)) |
11 | | - (func (export "type-param-i64") (param i64) (result i64) (local.get 0)) |
12 | | - (func (export "type-param-f32") (param f32) (result f32) (local.get 0)) |
13 | | - (func (export "type-param-f64") (param f64) (result f64) (local.get 0)) |
| 10 | + (func $type-param-i32 (export "type-param-i32") (param i32) (result i32) (local.get 0)) |
| 11 | + (func $type-param-i64 (export "type-param-i64") (param i64) (result i64) (local.get 0)) |
| 12 | + (func $type-param-f32 (export "type-param-f32") (param f32) (result f32) (local.get 0)) |
| 13 | + (func $type-param-f64 (export "type-param-f64") (param f64) (result f64) (local.get 0)) |
14 | 14 |
|
15 | 15 | (func (export "type-mixed") (param i64 f32 f64 i32 i32) |
16 | 16 | (local f32 i64 i64 f64) |
|
25 | 25 | (drop (f64.neg (local.get 8))) |
26 | 26 | ) |
27 | 27 |
|
| 28 | + ;; ensure the full 64-bit local value is 0-initialized |
| 29 | + ;; (similar to type-local-<x>64 but with added stack garbage) |
| 30 | + (func (export "zero-init-f64") (result f64) |
| 31 | + (f64.const 0xAAAAAAAAAAAAAAAA) |
| 32 | + (drop) |
| 33 | + (call $type-local-f64) |
| 34 | + ) |
| 35 | + (func (export "zero-init-i64") (result i64) |
| 36 | + (i64.const 0xAAAAAAAAAAAAAAAA) |
| 37 | + (drop) |
| 38 | + (call $type-local-i64) |
| 39 | + ) |
| 40 | + |
28 | 41 | ;; Reading |
29 | 42 |
|
30 | 43 | (func (export "read") (param i64 f32 f64 i32 i32) (result f64) |
|
0 commit comments