Add offsetof<T> builtin; Put a function's trampoline into the function table if a it has optional parameters; TypedArray scaffolding

This commit is contained in:
dcodeIO
2018-03-24 00:38:49 +01:00
parent ec5bb7ad51
commit 664f2a1c0d
17 changed files with 1301 additions and 612 deletions

View File

@ -657,7 +657,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 235)
(i32.const 244)
(i32.const 0)
)
(unreachable)
@ -674,7 +674,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 236)
(i32.const 245)
(i32.const 0)
)
(unreachable)
@ -700,7 +700,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 237)
(i32.const 246)
(i32.const 0)
)
(unreachable)
@ -726,7 +726,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 238)
(i32.const 247)
(i32.const 0)
)
(unreachable)
@ -752,7 +752,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 239)
(i32.const 248)
(i32.const 0)
)
(unreachable)
@ -778,7 +778,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 240)
(i32.const 249)
(i32.const 0)
)
(unreachable)
@ -806,7 +806,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 241)
(i32.const 250)
(i32.const 0)
)
(unreachable)
@ -834,7 +834,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 242)
(i32.const 251)
(i32.const 0)
)
(unreachable)

View File

@ -217,19 +217,28 @@ if (!i) unreachable();
// AS specific
sizeof<u8>();
sizeof<u16>();
sizeof<u32>();
sizeof<u64>();
assert(sizeof<u8>() == 1);
assert(sizeof<u16>() == 2);
assert(sizeof<u32>() == 4);
assert(sizeof<u64>() == 8);
sizeof<usize>();
sizeof<bool>();
sizeof<i8>();
sizeof<i16>();
sizeof<i32>();
sizeof<i64>();
assert(sizeof<bool>() == 1);
assert(sizeof<i8>() == 1);
assert(sizeof<i16>() == 2);
assert(sizeof<i32>() == 4);
assert(sizeof<i64>() == 8);
sizeof<isize>();
sizeof<f32>();
sizeof<f64>();
assert(sizeof<f32>() == 4);
assert(sizeof<f64>() == 8);
class Foo<T> { a: T; b: T; }
assert(offsetof<Foo<i32>>("a") == 0);
assert(offsetof<Foo<i32>>("b") == 4);
assert(offsetof<Foo<i16>>("a") == 0);
assert(offsetof<Foo<i16>>("b") == 2);
class Bar extends Foo<i64> {}
assert(offsetof<Bar>("a") == 0);
assert(offsetof<Bar>("b") == 8);
assert(NaN != NaN);
assert(isNaN<f32>(NaN));

View File

@ -1226,44 +1226,300 @@
)
(unreachable)
)
(drop
(i32.const 1)
(if
(i32.eqz
(i32.eq
(i32.const 1)
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 220)
(i32.const 0)
)
(unreachable)
)
)
(drop
(i32.const 2)
(if
(i32.eqz
(i32.eq
(i32.const 2)
(i32.const 2)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 221)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 4)
(i32.const 4)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 222)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 8)
(i32.const 8)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 223)
(i32.const 0)
)
(unreachable)
)
)
(drop
(i32.const 4)
)
(drop
(i32.const 8)
(if
(i32.eqz
(i32.eq
(i32.const 1)
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 225)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 1)
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 226)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 2)
(i32.const 2)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 227)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 4)
(i32.const 4)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 228)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 8)
(i32.const 8)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 229)
(i32.const 0)
)
(unreachable)
)
)
(drop
(i32.const 4)
)
(drop
(i32.const 1)
(if
(i32.eqz
(i32.eq
(i32.const 4)
(i32.const 4)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 231)
(i32.const 0)
)
(unreachable)
)
)
(drop
(i32.const 1)
(if
(i32.eqz
(i32.eq
(i32.const 8)
(i32.const 8)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 232)
(i32.const 0)
)
(unreachable)
)
)
(drop
(i32.const 2)
(if
(i32.eqz
(i32.eq
(i32.const 0)
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 235)
(i32.const 0)
)
(unreachable)
)
)
(drop
(i32.const 4)
(if
(i32.eqz
(i32.eq
(i32.const 4)
(i32.const 4)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 236)
(i32.const 0)
)
(unreachable)
)
)
(drop
(i32.const 8)
(if
(i32.eqz
(i32.eq
(i32.const 0)
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 237)
(i32.const 0)
)
(unreachable)
)
)
(drop
(i32.const 4)
(if
(i32.eqz
(i32.eq
(i32.const 2)
(i32.const 2)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 238)
(i32.const 0)
)
(unreachable)
)
)
(drop
(i32.const 4)
(if
(i32.eqz
(i32.eq
(i32.const 0)
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 240)
(i32.const 0)
)
(unreachable)
)
)
(drop
(i32.const 8)
(if
(i32.eqz
(i32.eq
(i32.const 8)
(i32.const 8)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 241)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
@ -1276,7 +1532,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 234)
(i32.const 243)
(i32.const 0)
)
(unreachable)
@ -1295,7 +1551,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 235)
(i32.const 244)
(i32.const 0)
)
(unreachable)
@ -1314,7 +1570,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 236)
(i32.const 245)
(i32.const 0)
)
(unreachable)
@ -1344,7 +1600,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 237)
(i32.const 246)
(i32.const 0)
)
(unreachable)
@ -1374,7 +1630,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 238)
(i32.const 247)
(i32.const 0)
)
(unreachable)
@ -1404,7 +1660,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 239)
(i32.const 248)
(i32.const 0)
)
(unreachable)
@ -1434,7 +1690,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 240)
(i32.const 249)
(i32.const 0)
)
(unreachable)
@ -1462,7 +1718,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 241)
(i32.const 250)
(i32.const 0)
)
(unreachable)
@ -1490,7 +1746,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 242)
(i32.const 251)
(i32.const 0)
)
(unreachable)
@ -1513,7 +1769,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 255)
(i32.const 264)
(i32.const 0)
)
(unreachable)
@ -1530,7 +1786,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 256)
(i32.const 265)
(i32.const 0)
)
(unreachable)
@ -1553,7 +1809,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 257)
(i32.const 266)
(i32.const 0)
)
(unreachable)
@ -1570,7 +1826,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 258)
(i32.const 267)
(i32.const 0)
)
(unreachable)
@ -1585,142 +1841,6 @@
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 259)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 2147483647)
(i32.const 2147483647)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 260)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i64.eq
(i64.const -9223372036854775808)
(i64.const -9223372036854775808)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 261)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i64.eq
(i64.const 9223372036854775807)
(i64.const 9223372036854775807)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 262)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 0)
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 264)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 255)
(i32.const 255)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 265)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 0)
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 266)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 65535)
(i32.const 65535)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 267)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 0)
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
@ -1734,8 +1854,8 @@
(if
(i32.eqz
(i32.eq
(i32.const -1)
(i32.const -1)
(i32.const 2147483647)
(i32.const 2147483647)
)
)
(block
@ -1751,8 +1871,8 @@
(if
(i32.eqz
(i64.eq
(i64.const 0)
(i64.const 0)
(i64.const -9223372036854775808)
(i64.const -9223372036854775808)
)
)
(block
@ -1768,8 +1888,8 @@
(if
(i32.eqz
(i64.eq
(i64.const -1)
(i64.const -1)
(i64.const 9223372036854775807)
(i64.const 9223372036854775807)
)
)
(block
@ -1789,40 +1909,6 @@
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 272)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 0)
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 272)
(i32.const 29)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 1)
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
@ -1836,25 +1922,25 @@
(if
(i32.eqz
(i32.eq
(i32.const 1)
(i32.const 1)
(i32.const 255)
(i32.const 255)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 273)
(i32.const 29)
(i32.const 274)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(f32.eq
(f32.const -3402823466385288598117041e14)
(f32.const -3402823466385288598117041e14)
(i32.eq
(i32.const 0)
(i32.const 0)
)
)
(block
@ -1869,9 +1955,9 @@
)
(if
(i32.eqz
(f32.eq
(f32.const 3402823466385288598117041e14)
(f32.const 3402823466385288598117041e14)
(i32.eq
(i32.const 65535)
(i32.const 65535)
)
)
(block
@ -1886,9 +1972,9 @@
)
(if
(i32.eqz
(f32.eq
(f32.const -16777215)
(f32.const -16777215)
(i32.eq
(i32.const 0)
(i32.const 0)
)
)
(block
@ -1903,9 +1989,9 @@
)
(if
(i32.eqz
(f32.eq
(f32.const 16777215)
(f32.const 16777215)
(i32.eq
(i32.const -1)
(i32.const -1)
)
)
(block
@ -1920,9 +2006,9 @@
)
(if
(i32.eqz
(f32.eq
(f32.const 1.1920928955078125e-07)
(f32.const 1.1920928955078125e-07)
(i64.eq
(i64.const 0)
(i64.const 0)
)
)
(block
@ -1937,9 +2023,9 @@
)
(if
(i32.eqz
(f64.eq
(f64.const -1797693134862315708145274e284)
(f64.const -1797693134862315708145274e284)
(i64.eq
(i64.const -1)
(i64.const -1)
)
)
(block
@ -1954,9 +2040,9 @@
)
(if
(i32.eqz
(f64.eq
(f64.const 1797693134862315708145274e284)
(f64.const 1797693134862315708145274e284)
(i32.eq
(i32.const 0)
(i32.const 0)
)
)
(block
@ -1971,9 +2057,26 @@
)
(if
(i32.eqz
(f64.eq
(f64.const -9007199254740991)
(f64.const -9007199254740991)
(i32.eq
(i32.const 0)
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 281)
(i32.const 29)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 1)
(i32.const 1)
)
)
(block
@ -1986,6 +2089,159 @@
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 1)
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 282)
(i32.const 29)
)
(unreachable)
)
)
(if
(i32.eqz
(f32.eq
(f32.const -3402823466385288598117041e14)
(f32.const -3402823466385288598117041e14)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 284)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(f32.eq
(f32.const 3402823466385288598117041e14)
(f32.const 3402823466385288598117041e14)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 285)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(f32.eq
(f32.const -16777215)
(f32.const -16777215)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 286)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(f32.eq
(f32.const 16777215)
(f32.const 16777215)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 287)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(f32.eq
(f32.const 1.1920928955078125e-07)
(f32.const 1.1920928955078125e-07)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 288)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(f64.eq
(f64.const -1797693134862315708145274e284)
(f64.const -1797693134862315708145274e284)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 289)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(f64.eq
(f64.const 1797693134862315708145274e284)
(f64.const 1797693134862315708145274e284)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 290)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(f64.eq
(f64.const -9007199254740991)
(f64.const -9007199254740991)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 291)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(f64.eq
@ -1997,7 +2253,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 283)
(i32.const 292)
(i32.const 0)
)
(unreachable)
@ -2014,7 +2270,7 @@
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 284)
(i32.const 293)
(i32.const 0)
)
(unreachable)

View File

@ -4083,7 +4083,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 235)
(i32.const 244)
(i32.const 0)
)
(unreachable)
@ -4100,7 +4100,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 236)
(i32.const 245)
(i32.const 0)
)
(unreachable)
@ -4126,7 +4126,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 237)
(i32.const 246)
(i32.const 0)
)
(unreachable)
@ -4152,7 +4152,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 238)
(i32.const 247)
(i32.const 0)
)
(unreachable)
@ -4178,7 +4178,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 239)
(i32.const 248)
(i32.const 0)
)
(unreachable)
@ -4204,7 +4204,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 240)
(i32.const 249)
(i32.const 0)
)
(unreachable)
@ -4232,7 +4232,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 241)
(i32.const 250)
(i32.const 0)
)
(unreachable)
@ -4260,7 +4260,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 242)
(i32.const 251)
(i32.const 0)
)
(unreachable)

View File

@ -5619,44 +5619,300 @@
)
(unreachable)
)
(drop
(i32.const 1)
(if
(i32.eqz
(i32.eq
(i32.const 1)
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 220)
(i32.const 0)
)
(unreachable)
)
)
(drop
(i32.const 2)
(if
(i32.eqz
(i32.eq
(i32.const 2)
(i32.const 2)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 221)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 4)
(i32.const 4)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 222)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 8)
(i32.const 8)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 223)
(i32.const 0)
)
(unreachable)
)
)
(drop
(i32.const 4)
)
(drop
(i32.const 8)
(if
(i32.eqz
(i32.eq
(i32.const 1)
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 225)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 1)
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 226)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 2)
(i32.const 2)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 227)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 4)
(i32.const 4)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 228)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 8)
(i32.const 8)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 229)
(i32.const 0)
)
(unreachable)
)
)
(drop
(i32.const 4)
)
(drop
(i32.const 1)
(if
(i32.eqz
(i32.eq
(i32.const 4)
(i32.const 4)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 231)
(i32.const 0)
)
(unreachable)
)
)
(drop
(i32.const 1)
(if
(i32.eqz
(i32.eq
(i32.const 8)
(i32.const 8)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 232)
(i32.const 0)
)
(unreachable)
)
)
(drop
(i32.const 2)
(if
(i32.eqz
(i32.eq
(i32.const 0)
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 235)
(i32.const 0)
)
(unreachable)
)
)
(drop
(i32.const 4)
(if
(i32.eqz
(i32.eq
(i32.const 4)
(i32.const 4)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 236)
(i32.const 0)
)
(unreachable)
)
)
(drop
(i32.const 8)
(if
(i32.eqz
(i32.eq
(i32.const 0)
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 237)
(i32.const 0)
)
(unreachable)
)
)
(drop
(i32.const 4)
(if
(i32.eqz
(i32.eq
(i32.const 2)
(i32.const 2)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 238)
(i32.const 0)
)
(unreachable)
)
)
(drop
(i32.const 4)
(if
(i32.eqz
(i32.eq
(i32.const 0)
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 240)
(i32.const 0)
)
(unreachable)
)
)
(drop
(i32.const 8)
(if
(i32.eqz
(i32.eq
(i32.const 8)
(i32.const 8)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 241)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
@ -5669,7 +5925,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 234)
(i32.const 243)
(i32.const 0)
)
(unreachable)
@ -5688,7 +5944,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 235)
(i32.const 244)
(i32.const 0)
)
(unreachable)
@ -5707,7 +5963,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 236)
(i32.const 245)
(i32.const 0)
)
(unreachable)
@ -5737,7 +5993,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 237)
(i32.const 246)
(i32.const 0)
)
(unreachable)
@ -5767,7 +6023,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 238)
(i32.const 247)
(i32.const 0)
)
(unreachable)
@ -5797,7 +6053,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 239)
(i32.const 248)
(i32.const 0)
)
(unreachable)
@ -5827,7 +6083,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 240)
(i32.const 249)
(i32.const 0)
)
(unreachable)
@ -5855,7 +6111,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 241)
(i32.const 250)
(i32.const 0)
)
(unreachable)
@ -5883,7 +6139,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 242)
(i32.const 251)
(i32.const 0)
)
(unreachable)
@ -5906,7 +6162,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 255)
(i32.const 264)
(i32.const 0)
)
(unreachable)
@ -5923,7 +6179,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 256)
(i32.const 265)
(i32.const 0)
)
(unreachable)
@ -5946,7 +6202,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 257)
(i32.const 266)
(i32.const 0)
)
(unreachable)
@ -5963,7 +6219,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 258)
(i32.const 267)
(i32.const 0)
)
(unreachable)
@ -5978,142 +6234,6 @@
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 259)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 2147483647)
(i32.const 2147483647)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 260)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i64.eq
(i64.const -9223372036854775808)
(i64.const -9223372036854775808)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 261)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i64.eq
(i64.const 9223372036854775807)
(i64.const 9223372036854775807)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 262)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 0)
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 264)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 255)
(i32.const 255)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 265)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 0)
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 266)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 65535)
(i32.const 65535)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 267)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 0)
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
@ -6127,8 +6247,8 @@
(if
(i32.eqz
(i32.eq
(i32.const -1)
(i32.const -1)
(i32.const 2147483647)
(i32.const 2147483647)
)
)
(block
@ -6144,8 +6264,8 @@
(if
(i32.eqz
(i64.eq
(i64.const 0)
(i64.const 0)
(i64.const -9223372036854775808)
(i64.const -9223372036854775808)
)
)
(block
@ -6161,8 +6281,8 @@
(if
(i32.eqz
(i64.eq
(i64.const -1)
(i64.const -1)
(i64.const 9223372036854775807)
(i64.const 9223372036854775807)
)
)
(block
@ -6182,40 +6302,6 @@
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 272)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 0)
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 272)
(i32.const 29)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 1)
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
@ -6229,25 +6315,25 @@
(if
(i32.eqz
(i32.eq
(i32.const 1)
(i32.const 1)
(i32.const 255)
(i32.const 255)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 273)
(i32.const 29)
(i32.const 274)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(f32.eq
(f32.const -3402823466385288598117041e14)
(f32.const -3402823466385288598117041e14)
(i32.eq
(i32.const 0)
(i32.const 0)
)
)
(block
@ -6262,9 +6348,9 @@
)
(if
(i32.eqz
(f32.eq
(f32.const 3402823466385288598117041e14)
(f32.const 3402823466385288598117041e14)
(i32.eq
(i32.const 65535)
(i32.const 65535)
)
)
(block
@ -6279,9 +6365,9 @@
)
(if
(i32.eqz
(f32.eq
(f32.const -16777215)
(f32.const -16777215)
(i32.eq
(i32.const 0)
(i32.const 0)
)
)
(block
@ -6296,9 +6382,9 @@
)
(if
(i32.eqz
(f32.eq
(f32.const 16777215)
(f32.const 16777215)
(i32.eq
(i32.const -1)
(i32.const -1)
)
)
(block
@ -6313,9 +6399,9 @@
)
(if
(i32.eqz
(f32.eq
(f32.const 1.1920928955078125e-07)
(f32.const 1.1920928955078125e-07)
(i64.eq
(i64.const 0)
(i64.const 0)
)
)
(block
@ -6330,9 +6416,9 @@
)
(if
(i32.eqz
(f64.eq
(f64.const -1797693134862315708145274e284)
(f64.const -1797693134862315708145274e284)
(i64.eq
(i64.const -1)
(i64.const -1)
)
)
(block
@ -6347,9 +6433,9 @@
)
(if
(i32.eqz
(f64.eq
(f64.const 1797693134862315708145274e284)
(f64.const 1797693134862315708145274e284)
(i32.eq
(i32.const 0)
(i32.const 0)
)
)
(block
@ -6364,9 +6450,26 @@
)
(if
(i32.eqz
(f64.eq
(f64.const -9007199254740991)
(f64.const -9007199254740991)
(i32.eq
(i32.const 0)
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 281)
(i32.const 29)
)
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 1)
(i32.const 1)
)
)
(block
@ -6379,6 +6482,159 @@
(unreachable)
)
)
(if
(i32.eqz
(i32.eq
(i32.const 1)
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 282)
(i32.const 29)
)
(unreachable)
)
)
(if
(i32.eqz
(f32.eq
(f32.const -3402823466385288598117041e14)
(f32.const -3402823466385288598117041e14)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 284)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(f32.eq
(f32.const 3402823466385288598117041e14)
(f32.const 3402823466385288598117041e14)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 285)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(f32.eq
(f32.const -16777215)
(f32.const -16777215)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 286)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(f32.eq
(f32.const 16777215)
(f32.const 16777215)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 287)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(f32.eq
(f32.const 1.1920928955078125e-07)
(f32.const 1.1920928955078125e-07)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 288)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(f64.eq
(f64.const -1797693134862315708145274e284)
(f64.const -1797693134862315708145274e284)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 289)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(f64.eq
(f64.const 1797693134862315708145274e284)
(f64.const 1797693134862315708145274e284)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 290)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(f64.eq
(f64.const -9007199254740991)
(f64.const -9007199254740991)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 291)
(i32.const 0)
)
(unreachable)
)
)
(if
(i32.eqz
(f64.eq
@ -6390,7 +6646,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 283)
(i32.const 292)
(i32.const 0)
)
(unreachable)
@ -6407,7 +6663,7 @@
(call $abort
(i32.const 0)
(i32.const 28)
(i32.const 284)
(i32.const 293)
(i32.const 0)
)
(unreachable)