diff --git a/tests/compiler/std/typedarray.optimized.wat b/tests/compiler/std/typedarray.optimized.wat index e7fe914fe7..2fa5396bb8 100644 --- a/tests/compiler/std/typedarray.optimized.wat +++ b/tests/compiler/std/typedarray.optimized.wat @@ -1,17 +1,19 @@ (module - (type $none_=>_none (func)) (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $none_=>_none (func)) (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + (type $i32_i32_=>_none (func (param i32 i32))) (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) (type $i64_i32_i32_=>_i32 (func (param i64 i32 i32) (result i32))) (type $i32_=>_none (func (param i32))) + (type $i64_i64_=>_i32 (func (param i64 i64) (result i32))) (type $f32_i32_i32_=>_i32 (func (param f32 i32 i32) (result i32))) (type $f64_i32_i32_=>_i32 (func (param f64 i32 i32) (result i32))) - (type $i32_i32_=>_i64 (func (param i32 i32) (result i64))) + (type $f32_f32_=>_i32 (func (param f32 f32) (result i32))) (type $f64_f64_=>_i32 (func (param f64 f64) (result i32))) + (type $i32_i32_=>_i64 (func (param i32 i32) (result i64))) (type $i64_i64_i32_i32_=>_i64 (func (param i64 i64 i32 i32) (result i64))) (type $i32_i64_=>_i32 (func (param i32 i64) (result i32))) (type $i32_i64_i32_=>_i32 (func (param i32 i64 i32) (result i32))) @@ -561,12 +563,54 @@ (data (i32.const 13116) "\n\00\00\00\00\ff\00\00\00d\n\ff\ff") (data (i32.const 13132) "\1c") (data (i32.const 13148) "\n\00\00\00\01\ffd\ff\00\00d\n\ff") - (data (i32.const 13168) "E\00\00\00 \00\00\00\00\00\00\00 ") - (data (i32.const 13196) "A\08\00\00\02\00\00\00A\00\00\00\02\00\00\00A\00\00\00\02\00\00\00\81\08\00\00\02\00\00\00\81\00\00\00\02\00\00\00\01\t\00\00\02\00\00\00\01\01\00\00\02\00\00\00\01\n\00\00\02\00\00\00\01\02\00\00\02\00\00\00\01\19\00\00\02\00\00\00\01\1a\00\00\02") - (data (i32.const 13292) "B\08\00\00\00\00\00\00\02\t") - (data (i32.const 13660) "\02\19\00\00\00\00\00\00\02\1a\00\00\00\00\00\00B\00\00\00\00\00\00\00\82\08\00\00\00\00\00\00\82\00\00\00\00\00\00\00\02\01\00\00\00\00\00\00\02\n\00\00\00\00\00\00\02\02") - (table $0 123 funcref) - (elem (i32.const 1) $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0) + (data (i32.const 13164) "\1c") + (data (i32.const 13176) "E\00\00\00\08\00\00\00{") + (data (i32.const 13196) "\1c") + (data (i32.const 13208) "E\00\00\00\08\00\00\00|") + (data (i32.const 13228) "\1c") + (data (i32.const 13240) "F\00\00\00\08\00\00\00}") + (data (i32.const 13260) "\1c") + (data (i32.const 13272) "F\00\00\00\08\00\00\00~") + (data (i32.const 13292) "\1c") + (data (i32.const 13304) "F\00\00\00\08\00\00\00\7f") + (data (i32.const 13324) "\1c") + (data (i32.const 13336) "F\00\00\00\08\00\00\00\80") + (data (i32.const 13356) "\1c") + (data (i32.const 13368) "G\00\00\00\08\00\00\00\81") + (data (i32.const 13388) "\1c") + (data (i32.const 13400) "G\00\00\00\08\00\00\00\82") + (data (i32.const 13420) "\1c") + (data (i32.const 13432) "H\00\00\00\08\00\00\00\83") + (data (i32.const 13452) "\1c") + (data (i32.const 13464) "H\00\00\00\08\00\00\00\84") + (data (i32.const 13484) "\1c") + (data (i32.const 13496) "I\00\00\00\08\00\00\00\85") + (data (i32.const 13516) "\1c") + (data (i32.const 13528) "I\00\00\00\08\00\00\00\86") + (data (i32.const 13548) "\1c") + (data (i32.const 13560) "J\00\00\00\08\00\00\00\87") + (data (i32.const 13580) "\1c") + (data (i32.const 13592) "J\00\00\00\08\00\00\00\88") + (data (i32.const 13612) "\1c") + (data (i32.const 13624) "K\00\00\00\08\00\00\00\89") + (data (i32.const 13644) "\1c") + (data (i32.const 13656) "K\00\00\00\08\00\00\00\8a") + (data (i32.const 13676) "\1c") + (data (i32.const 13688) "L\00\00\00\08\00\00\00\8b") + (data (i32.const 13708) "\1c") + (data (i32.const 13720) "L\00\00\00\08\00\00\00\8c") + (data (i32.const 13740) "\1c") + (data (i32.const 13752) "M\00\00\00\08\00\00\00\8d") + (data (i32.const 13772) "\1c") + (data (i32.const 13784) "M\00\00\00\08\00\00\00\8e") + (data (i32.const 13804) "\1c") + (data (i32.const 13816) "\0e\00\00\00\08\00\00\00\8f") + (data (i32.const 13840) "N\00\00\00 \00\00\00\00\00\00\00 ") + (data (i32.const 13868) "A\08\00\00\02\00\00\00A\00\00\00\02\00\00\00A\00\00\00\02\00\00\00\81\08\00\00\02\00\00\00\81\00\00\00\02\00\00\00\01\t\00\00\02\00\00\00\01\01\00\00\02\00\00\00\01\n\00\00\02\00\00\00\01\02\00\00\02\00\00\00\01\19\00\00\02\00\00\00\01\1a\00\00\02") + (data (i32.const 13964) "B\08\00\00\00\00\00\00\02\t") + (data (i32.const 14332) "\02\19\00\00\00\00\00\00\02\1a\00\00\00\00\00\00B\00\00\00\00\00\00\00\82\08\00\00\00\00\00\00\82\00\00\00\00\00\00\00\02\01\00\00\00\00\00\00\02\n\00\00\00\00\00\00\02\02") + (table $0 144 funcref) + (elem (i32.const 1) $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64>~anonymous|0) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) (global $~lib/rt/itcms/state (mut i32) (i32.const 0)) @@ -586,7 +630,7 @@ (global $~lib/util/number/_K (mut i32) (i32.const 0)) (global $~lib/util/number/_frc_pow (mut i64) (i64.const 0)) (global $~lib/util/number/_exp_pow (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 30108)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 30852)) (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/initLazy (param $0 i32) (result i32) @@ -735,7 +779,7 @@ if i32.const 0 local.get $0 - i32.const 30108 + i32.const 30852 i32.lt_u local.get $0 i32.load offset=8 @@ -781,7 +825,7 @@ i32.const 1 else local.get $1 - i32.const 13168 + i32.const 13840 i32.load i32.gt_u if @@ -795,7 +839,7 @@ local.get $1 i32.const 3 i32.shl - i32.const 13172 + i32.const 13844 i32.add i32.load i32.const 32 @@ -1400,10 +1444,10 @@ if unreachable end - i32.const 30112 + i32.const 30864 i32.const 0 i32.store - i32.const 31680 + i32.const 32432 i32.const 0 i32.store loop $for-loop|0 @@ -1414,7 +1458,7 @@ local.get $1 i32.const 2 i32.shl - i32.const 30112 + i32.const 30864 i32.add i32.const 0 i32.store offset=4 @@ -1432,7 +1476,7 @@ i32.add i32.const 2 i32.shl - i32.const 30112 + i32.const 30864 i32.add i32.const 0 i32.store offset=96 @@ -1450,20 +1494,20 @@ br $for-loop|0 end end - i32.const 30112 - i32.const 31684 + i32.const 30864 + i32.const 32436 memory.size i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 30112 + i32.const 30864 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/tlsf/__free (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 - i32.const 30108 + i32.const 30852 i32.lt_u if return @@ -1587,7 +1631,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 30108 + i32.const 30852 i32.lt_u if local.get $0 @@ -1677,7 +1721,7 @@ unreachable end local.get $0 - i32.const 30108 + i32.const 30852 i32.lt_u if local.get $0 @@ -3235,73 +3279,75 @@ local.get $5 f64.store ) - (func $~lib/typedarray/Float64Array#sort (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#sort (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 f64) + (local $4 i32) (local $5 f64) - (local $6 i32) + (local $6 f64) (local $7 i32) + (local $8 i32) block $~lib/typedarray/SORT<~lib/typedarray/Float64Array,f64>|inlined.0 local.get $0 + local.tee $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $7 + local.tee $8 i32.const 1 i32.le_u br_if $~lib/typedarray/SORT<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $0 + local.get $2 i32.load offset=4 - local.set $3 - local.get $7 + local.set $4 + local.get $8 i32.const 2 i32.eq if - local.get $3 + local.get $4 f64.load offset=8 - local.set $4 - local.get $3 - f64.load local.set $5 + local.get $4 + f64.load + local.set $6 i32.const 2 global.set $~argumentsLength - local.get $4 local.get $5 + local.get $6 local.get $1 i32.load call_indirect $0 (type $f64_f64_=>_i32) i32.const 0 i32.lt_s if - local.get $3 - local.get $5 + local.get $4 + local.get $6 f64.store offset=8 - local.get $3 local.get $4 + local.get $5 f64.store end br $~lib/typedarray/SORT<~lib/typedarray/Float64Array,f64>|inlined.0 end - local.get $7 + local.get $8 i32.const 256 i32.lt_u if local.get $1 - local.set $2 + local.set $3 loop $for-loop|0 - local.get $6 local.get $7 + local.get $8 i32.lt_s if - local.get $3 - local.get $6 + local.get $4 + local.get $7 i32.const 3 i32.shl i32.add f64.load - local.set $4 - local.get $6 + local.set $5 + local.get $7 i32.const 1 i32.sub local.set $1 @@ -3311,18 +3357,18 @@ i32.ge_s if block $while-break|1 - local.get $3 + local.get $4 local.get $1 i32.const 3 i32.shl i32.add f64.load - local.set $5 + local.set $6 i32.const 2 global.set $~argumentsLength - local.get $4 local.get $5 - local.get $2 + local.get $6 + local.get $3 i32.load call_indirect $0 (type $f64_f64_=>_i32) i32.const 0 @@ -3333,42 +3379,43 @@ i32.const 1 i32.sub local.set $1 - local.get $3 + local.get $4 local.get $0 i32.const 1 i32.add i32.const 3 i32.shl i32.add - local.get $5 + local.get $6 f64.store br $while-continue|1 end end end - local.get $3 + local.get $4 local.get $1 i32.const 1 i32.add i32.const 3 i32.shl i32.add - local.get $4 + local.get $5 f64.store - local.get $6 + local.get $7 i32.const 1 i32.add - local.set $6 + local.set $7 br $for-loop|0 end end else - local.get $3 - local.get $7 + local.get $4 + local.get $8 local.get $1 call $~lib/util/sort/weakHeapSort end end + local.get $2 ) (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 f64) (param $1 f64) (result i32) (local $2 i64) @@ -16119,387 +16166,4100 @@ i32.add f64.load ) - (func $~lib/rt/__visit_members (param $0 i32) - block $folding-inner3 - block $folding-inner2 - block $folding-inner1 - block $invalid - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $invalid - end - return - end - return - end - unreachable - end - local.get $0 - i32.load offset=4 - call $~lib/rt/itcms/__visit - return - end - local.get $0 - i32.load - call $~lib/rt/itcms/__visit - return - end - local.get $0 - i32.load - local.tee $0 - if - local.get $0 - call $~lib/rt/itcms/__visit - end - ) - (func $~start - call $start:std/typedarray - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 13724 - i32.lt_s - if - i32.const 30128 - i32.const 30176 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $1 - i32.store + (local $8 i32) local.get $1 + i32.const 31 + i32.add + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + local.tee $3 + call $~lib/rt/tlsf/__alloc + local.tee $5 i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set + local.get $3 + call $~lib/memory/memory.fill local.get $1 i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $1 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3600 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - i32.load offset=8 local.set $4 - local.get $1 - i32.load offset=4 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 loop $for-loop|0 - local.get $2 local.get $4 - i32.lt_s + i32.const 0 + i32.gt_s if - local.get $2 - local.get $6 + local.get $4 + local.set $3 + loop $while-continue|1 + local.get $3 + i32.const 1 + i32.and + local.get $5 + local.get $3 + i32.const 6 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $3 + i32.const 1 + i32.shr_s + i32.shr_u + i32.const 1 + i32.and + i32.eq + if + local.get $3 + i32.const 1 + i32.shr_s + local.set $3 + br $while-continue|1 + end + end + local.get $0 + local.get $3 + i32.const 1 + i32.shr_s + local.tee $7 i32.add i32.load8_s - local.set $7 - i32.const 3 + local.set $3 + local.get $0 + local.get $4 + i32.add + i32.load8_s + local.set $6 + i32.const 2 global.set $~argumentsLength - local.get $2 local.get $3 - i32.add - local.get $7 + local.get $6 local.get $2 - local.get $1 - i32.const 3600 i32.load - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store8 - local.get $2 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $4 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.tee $8 + local.get $8 + i32.load + i32.const 1 + local.get $4 + i32.shl + i32.xor + i32.store + local.get $0 + local.get $4 + i32.add + local.get $3 + i32.store8 + local.get $0 + local.get $7 + i32.add + local.get $6 + i32.store8 + end + local.get $4 i32.const 1 - i32.add - local.set $2 + i32.sub + local.set $4 br $for-loop|0 end end - local.get $0 - local.get $3 - i32.store - local.get $0 - local.get $3 - call $~lib/rt/itcms/__link - local.get $0 - local.get $3 - i32.store offset=4 - local.get $0 - local.get $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 388 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - call $~lib/typedarray/Int8Array#__get - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 389 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - call $~lib/typedarray/Int8Array#__get - i32.const 9 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 390 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $1 - i32.store - local.get $1 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set local.get $1 i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3632 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - i32.load offset=8 local.set $4 - local.get $1 - i32.load offset=4 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - loop $for-loop|0 - local.get $2 + loop $for-loop|2 local.get $4 - i32.lt_s + i32.const 2 + i32.ge_s if - local.get $2 - local.get $6 + local.get $0 + i32.load8_s + local.set $1 + local.get $0 + local.get $0 + local.get $4 i32.add - i32.load8_u - local.set $7 - i32.const 3 - global.set $~argumentsLength - local.get $2 + local.tee $3 + i32.load8_s + i32.store8 local.get $3 - i32.add - local.get $7 - local.get $2 local.get $1 - i32.const 3632 - i32.load - call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store8 - local.get $2 i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - local.get $0 - local.get $3 - i32.store - local.get $0 - local.get $3 - call $~lib/rt/itcms/__link - local.get $0 - local.get $3 - i32.store offset=4 - local.get $0 - local.get $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint8Array#__get - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 388 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__get - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 389 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - call $~lib/typedarray/Uint8Array#__get - i32.const 9 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 390 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub + local.set $1 + loop $while-continue|3 + local.get $4 + local.get $5 + local.get $1 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $1 + i32.shr_u + i32.const 1 + i32.and + local.get $1 + i32.const 1 + i32.shl + i32.add + local.tee $3 + i32.gt_s + if + local.get $3 + local.set $1 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $1 + i32.const 0 + i32.gt_s + if + local.get $0 + i32.load8_s + local.set $3 + local.get $0 + local.get $1 + i32.add + i32.load8_s + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $6 + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $1 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.tee $7 + local.get $7 + i32.load + i32.const 1 + local.get $1 + i32.shl + i32.xor + i32.store + local.get $0 + local.get $1 + i32.add + local.get $3 + i32.store8 + local.get $0 + local.get $6 + i32.store8 + end + local.get $1 + i32.const 1 + i32.shr_s + local.set $1 + br $while-continue|4 + end + end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|2 + end + end + local.get $5 + call $~lib/rt/tlsf/__free + local.get $0 + i32.load8_s offset=1 + local.set $1 + local.get $0 + local.get $0 + i32.load8_s + i32.store8 offset=1 + local.get $0 + local.get $1 + i32.store8 + ) + (func $~lib/typedarray/Int8Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + block $~lib/typedarray/SORT<~lib/typedarray/Int8Array,i8>|inlined.0 + local.get $0 + local.tee $3 + i32.load offset=8 + local.tee $0 + i32.const 1 + i32.le_s + br_if $~lib/typedarray/SORT<~lib/typedarray/Int8Array,i8>|inlined.0 + local.get $3 + i32.load offset=4 + local.set $5 + local.get $0 + i32.const 2 + i32.eq + if + local.get $5 + i32.load8_s offset=1 + local.set $0 + local.get $5 + i32.load8_s + local.set $2 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $2 + local.get $1 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $2 + i32.store8 offset=1 + local.get $5 + local.get $0 + i32.store8 + end + br $~lib/typedarray/SORT<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.get $0 + i32.const 256 + i32.lt_s + if + local.get $0 + local.set $2 + local.get $1 + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $6 + i32.gt_s + if + local.get $5 + local.get $6 + i32.add + i32.load8_s + local.set $7 + local.get $6 + i32.const 1 + i32.sub + local.set $0 + loop $while-continue|1 + local.get $0 + i32.const 0 + i32.ge_s + if + block $while-break|1 + local.get $0 + local.get $5 + i32.add + i32.load8_s + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $7 + local.get $8 + local.get $4 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + br_if $while-break|1 + local.get $0 + local.tee $1 + i32.const 1 + i32.sub + local.set $0 + local.get $5 + local.get $1 + i32.const 1 + i32.add + i32.add + local.get $8 + i32.store8 + br $while-continue|1 + end + end + end + local.get $5 + local.get $0 + i32.const 1 + i32.add + i32.add + local.get $7 + i32.store8 + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|0 + end + end + else + local.get $5 + local.get $0 + local.get $1 + call $~lib/util/sort/weakHeapSort + end + end + local.get $3 + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + local.tee $1 + local.get $0 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + local.tee $0 + i32.gt_s + local.get $0 + local.get $1 + i32.gt_s + i32.sub + ) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $1 + i32.const 31 + i32.add + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + local.tee $3 + call $~lib/rt/tlsf/__alloc + local.tee $5 + i32.const 0 + local.get $3 + call $~lib/memory/memory.fill + local.get $1 + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|0 + local.get $4 + i32.const 0 + i32.gt_s + if + local.get $4 + local.set $3 + loop $while-continue|1 + local.get $3 + i32.const 1 + i32.and + local.get $5 + local.get $3 + i32.const 6 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $3 + i32.const 1 + i32.shr_s + i32.shr_u + i32.const 1 + i32.and + i32.eq + if + local.get $3 + i32.const 1 + i32.shr_s + local.set $3 + br $while-continue|1 + end + end + local.get $0 + local.get $3 + i32.const 1 + i32.shr_s + local.tee $7 + i32.add + i32.load8_u + local.set $3 + local.get $0 + local.get $4 + i32.add + i32.load8_u + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $6 + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $4 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.tee $8 + local.get $8 + i32.load + i32.const 1 + local.get $4 + i32.shl + i32.xor + i32.store + local.get $0 + local.get $4 + i32.add + local.get $3 + i32.store8 + local.get $0 + local.get $7 + i32.add + local.get $6 + i32.store8 + end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|0 + end + end + local.get $1 + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|2 + local.get $4 + i32.const 2 + i32.ge_s + if + local.get $0 + i32.load8_u + local.set $1 + local.get $0 + local.get $0 + local.get $4 + i32.add + local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.get $1 + i32.store8 + i32.const 1 + local.set $1 + loop $while-continue|3 + local.get $4 + local.get $5 + local.get $1 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $1 + i32.shr_u + i32.const 1 + i32.and + local.get $1 + i32.const 1 + i32.shl + i32.add + local.tee $3 + i32.gt_s + if + local.get $3 + local.set $1 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $1 + i32.const 0 + i32.gt_s + if + local.get $0 + i32.load8_u + local.set $3 + local.get $0 + local.get $1 + i32.add + i32.load8_u + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $6 + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $1 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.tee $7 + local.get $7 + i32.load + i32.const 1 + local.get $1 + i32.shl + i32.xor + i32.store + local.get $0 + local.get $1 + i32.add + local.get $3 + i32.store8 + local.get $0 + local.get $6 + i32.store8 + end + local.get $1 + i32.const 1 + i32.shr_s + local.set $1 + br $while-continue|4 + end + end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|2 + end + end + local.get $5 + call $~lib/rt/tlsf/__free + local.get $0 + i32.load8_u offset=1 + local.set $1 + local.get $0 + local.get $0 + i32.load8_u + i32.store8 offset=1 + local.get $0 + local.get $1 + i32.store8 + ) + (func $~lib/typedarray/Uint8Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + block $~lib/typedarray/SORT<~lib/typedarray/Uint8Array,u8>|inlined.0 + local.get $0 + local.tee $3 + i32.load offset=8 + local.tee $0 + i32.const 1 + i32.le_s + br_if $~lib/typedarray/SORT<~lib/typedarray/Uint8Array,u8>|inlined.0 + local.get $3 + i32.load offset=4 + local.set $5 + local.get $0 + i32.const 2 + i32.eq + if + local.get $5 + i32.load8_u offset=1 + local.set $0 + local.get $5 + i32.load8_u + local.set $2 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $2 + local.get $1 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $2 + i32.store8 offset=1 + local.get $5 + local.get $0 + i32.store8 + end + br $~lib/typedarray/SORT<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.get $0 + i32.const 256 + i32.lt_s + if + local.get $0 + local.set $2 + local.get $1 + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $6 + i32.gt_s + if + local.get $5 + local.get $6 + i32.add + i32.load8_u + local.set $7 + local.get $6 + i32.const 1 + i32.sub + local.set $0 + loop $while-continue|1 + local.get $0 + i32.const 0 + i32.ge_s + if + block $while-break|1 + local.get $0 + local.get $5 + i32.add + i32.load8_u + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $7 + local.get $8 + local.get $4 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + br_if $while-break|1 + local.get $0 + local.tee $1 + i32.const 1 + i32.sub + local.set $0 + local.get $5 + local.get $1 + i32.const 1 + i32.add + i32.add + local.get $8 + i32.store8 + br $while-continue|1 + end + end + end + local.get $5 + local.get $0 + i32.const 1 + i32.add + i32.add + local.get $7 + i32.store8 + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|0 + end + end + else + local.get $5 + local.get $0 + local.get $1 + call $~lib/util/sort/weakHeapSort + end + end + local.get $3 + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 255 + i32.and + local.tee $0 + local.get $1 + i32.const 255 + i32.and + local.tee $1 + i32.gt_u + local.get $0 + local.get $1 + i32.lt_u + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $1 + i32.const 255 + i32.and + local.tee $1 + local.get $0 + i32.const 255 + i32.and + local.tee $0 + i32.gt_u + local.get $0 + local.get $1 + i32.gt_u + i32.sub + ) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $1 + i32.const 31 + i32.add + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + local.tee $3 + call $~lib/rt/tlsf/__alloc + local.tee $5 + i32.const 0 + local.get $3 + call $~lib/memory/memory.fill + local.get $1 + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|0 + local.get $4 + i32.const 0 + i32.gt_s + if + local.get $4 + local.set $3 + loop $while-continue|1 + local.get $3 + i32.const 1 + i32.and + local.get $5 + local.get $3 + i32.const 6 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $3 + i32.const 1 + i32.shr_s + i32.shr_u + i32.const 1 + i32.and + i32.eq + if + local.get $3 + i32.const 1 + i32.shr_s + local.set $3 + br $while-continue|1 + end + end + local.get $0 + local.get $3 + i32.const 1 + i32.shr_s + local.tee $7 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.set $3 + local.get $0 + local.get $4 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $6 + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $4 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.tee $8 + local.get $8 + i32.load + i32.const 1 + local.get $4 + i32.shl + i32.xor + i32.store + local.get $0 + local.get $4 + i32.const 1 + i32.shl + i32.add + local.get $3 + i32.store16 + local.get $0 + local.get $7 + i32.const 1 + i32.shl + i32.add + local.get $6 + i32.store16 + end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|0 + end + end + local.get $1 + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|2 + local.get $4 + i32.const 2 + i32.ge_s + if + local.get $0 + i32.load16_s + local.set $1 + local.get $0 + local.get $0 + local.get $4 + i32.const 1 + i32.shl + i32.add + local.tee $3 + i32.load16_s + i32.store16 + local.get $3 + local.get $1 + i32.store16 + i32.const 1 + local.set $1 + loop $while-continue|3 + local.get $4 + local.get $5 + local.get $1 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $1 + i32.shr_u + i32.const 1 + i32.and + local.get $1 + i32.const 1 + i32.shl + i32.add + local.tee $3 + i32.gt_s + if + local.get $3 + local.set $1 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $1 + i32.const 0 + i32.gt_s + if + local.get $0 + i32.load16_s + local.set $3 + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $6 + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $1 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.tee $7 + local.get $7 + i32.load + i32.const 1 + local.get $1 + i32.shl + i32.xor + i32.store + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $3 + i32.store16 + local.get $0 + local.get $6 + i32.store16 + end + local.get $1 + i32.const 1 + i32.shr_s + local.set $1 + br $while-continue|4 + end + end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|2 + end + end + local.get $5 + call $~lib/rt/tlsf/__free + local.get $0 + i32.load16_s offset=2 + local.set $1 + local.get $0 + local.get $0 + i32.load16_s + i32.store16 offset=2 + local.get $0 + local.get $1 + i32.store16 + ) + (func $~lib/typedarray/Int16Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + block $~lib/typedarray/SORT<~lib/typedarray/Int16Array,i16>|inlined.0 + local.get $0 + local.tee $3 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.tee $0 + i32.const 1 + i32.le_u + br_if $~lib/typedarray/SORT<~lib/typedarray/Int16Array,i16>|inlined.0 + local.get $3 + i32.load offset=4 + local.set $5 + local.get $0 + i32.const 2 + i32.eq + if + local.get $5 + i32.load16_s offset=2 + local.set $0 + local.get $5 + i32.load16_s + local.set $2 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $2 + local.get $1 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $2 + i32.store16 offset=2 + local.get $5 + local.get $0 + i32.store16 + end + br $~lib/typedarray/SORT<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.get $0 + i32.const 256 + i32.lt_s + if + local.get $0 + local.set $2 + local.get $1 + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $6 + i32.gt_s + if + local.get $5 + local.get $6 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.set $7 + local.get $6 + i32.const 1 + i32.sub + local.set $0 + loop $while-continue|1 + local.get $0 + i32.const 0 + i32.ge_s + if + block $while-break|1 + local.get $5 + local.get $0 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $7 + local.get $8 + local.get $4 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + br_if $while-break|1 + local.get $0 + local.tee $1 + i32.const 1 + i32.sub + local.set $0 + local.get $5 + local.get $1 + i32.const 1 + i32.add + i32.const 1 + i32.shl + i32.add + local.get $8 + i32.store16 + br $while-continue|1 + end + end + end + local.get $5 + local.get $0 + i32.const 1 + i32.add + i32.const 1 + i32.shl + i32.add + local.get $7 + i32.store16 + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|0 + end + end + else + local.get $5 + local.get $0 + local.get $1 + call $~lib/util/sort/weakHeapSort + end + end + local.get $3 + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + local.tee $1 + local.get $0 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + local.tee $0 + i32.gt_s + local.get $0 + local.get $1 + i32.gt_s + i32.sub + ) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $1 + i32.const 31 + i32.add + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + local.tee $3 + call $~lib/rt/tlsf/__alloc + local.tee $5 + i32.const 0 + local.get $3 + call $~lib/memory/memory.fill + local.get $1 + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|0 + local.get $4 + i32.const 0 + i32.gt_s + if + local.get $4 + local.set $3 + loop $while-continue|1 + local.get $3 + i32.const 1 + i32.and + local.get $5 + local.get $3 + i32.const 6 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $3 + i32.const 1 + i32.shr_s + i32.shr_u + i32.const 1 + i32.and + i32.eq + if + local.get $3 + i32.const 1 + i32.shr_s + local.set $3 + br $while-continue|1 + end + end + local.get $0 + local.get $3 + i32.const 1 + i32.shr_s + local.tee $7 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.set $3 + local.get $0 + local.get $4 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $6 + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $4 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.tee $8 + local.get $8 + i32.load + i32.const 1 + local.get $4 + i32.shl + i32.xor + i32.store + local.get $0 + local.get $4 + i32.const 1 + i32.shl + i32.add + local.get $3 + i32.store16 + local.get $0 + local.get $7 + i32.const 1 + i32.shl + i32.add + local.get $6 + i32.store16 + end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|0 + end + end + local.get $1 + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|2 + local.get $4 + i32.const 2 + i32.ge_s + if + local.get $0 + i32.load16_u + local.set $1 + local.get $0 + local.get $0 + local.get $4 + i32.const 1 + i32.shl + i32.add + local.tee $3 + i32.load16_u + i32.store16 + local.get $3 + local.get $1 + i32.store16 + i32.const 1 + local.set $1 + loop $while-continue|3 + local.get $4 + local.get $5 + local.get $1 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $1 + i32.shr_u + i32.const 1 + i32.and + local.get $1 + i32.const 1 + i32.shl + i32.add + local.tee $3 + i32.gt_s + if + local.get $3 + local.set $1 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $1 + i32.const 0 + i32.gt_s + if + local.get $0 + i32.load16_u + local.set $3 + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $6 + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $1 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.tee $7 + local.get $7 + i32.load + i32.const 1 + local.get $1 + i32.shl + i32.xor + i32.store + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $3 + i32.store16 + local.get $0 + local.get $6 + i32.store16 + end + local.get $1 + i32.const 1 + i32.shr_s + local.set $1 + br $while-continue|4 + end + end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|2 + end + end + local.get $5 + call $~lib/rt/tlsf/__free + local.get $0 + i32.load16_u offset=2 + local.set $1 + local.get $0 + local.get $0 + i32.load16_u + i32.store16 offset=2 + local.get $0 + local.get $1 + i32.store16 + ) + (func $~lib/typedarray/Uint16Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + block $~lib/typedarray/SORT<~lib/typedarray/Uint16Array,u16>|inlined.0 + local.get $0 + local.tee $3 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.tee $0 + i32.const 1 + i32.le_u + br_if $~lib/typedarray/SORT<~lib/typedarray/Uint16Array,u16>|inlined.0 + local.get $3 + i32.load offset=4 + local.set $5 + local.get $0 + i32.const 2 + i32.eq + if + local.get $5 + i32.load16_u offset=2 + local.set $0 + local.get $5 + i32.load16_u + local.set $2 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $2 + local.get $1 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $2 + i32.store16 offset=2 + local.get $5 + local.get $0 + i32.store16 + end + br $~lib/typedarray/SORT<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.get $0 + i32.const 256 + i32.lt_s + if + local.get $0 + local.set $2 + local.get $1 + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $6 + i32.gt_s + if + local.get $5 + local.get $6 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.set $7 + local.get $6 + i32.const 1 + i32.sub + local.set $0 + loop $while-continue|1 + local.get $0 + i32.const 0 + i32.ge_s + if + block $while-break|1 + local.get $5 + local.get $0 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $7 + local.get $8 + local.get $4 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + br_if $while-break|1 + local.get $0 + local.tee $1 + i32.const 1 + i32.sub + local.set $0 + local.get $5 + local.get $1 + i32.const 1 + i32.add + i32.const 1 + i32.shl + i32.add + local.get $8 + i32.store16 + br $while-continue|1 + end + end + end + local.get $5 + local.get $0 + i32.const 1 + i32.add + i32.const 1 + i32.shl + i32.add + local.get $7 + i32.store16 + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|0 + end + end + else + local.get $5 + local.get $0 + local.get $1 + call $~lib/util/sort/weakHeapSort + end + end + local.get $3 + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 65535 + i32.and + local.tee $0 + local.get $1 + i32.const 65535 + i32.and + local.tee $1 + i32.gt_u + local.get $0 + local.get $1 + i32.lt_u + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $1 + i32.const 65535 + i32.and + local.tee $1 + local.get $0 + i32.const 65535 + i32.and + local.tee $0 + i32.gt_u + local.get $0 + local.get $1 + i32.gt_u + i32.sub + ) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $1 + i32.const 31 + i32.add + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + local.tee $3 + call $~lib/rt/tlsf/__alloc + local.tee $5 + i32.const 0 + local.get $3 + call $~lib/memory/memory.fill + local.get $1 + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|0 + local.get $4 + i32.const 0 + i32.gt_s + if + local.get $4 + local.set $3 + loop $while-continue|1 + local.get $3 + i32.const 1 + i32.and + local.get $5 + local.get $3 + i32.const 6 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $3 + i32.const 1 + i32.shr_s + i32.shr_u + i32.const 1 + i32.and + i32.eq + if + local.get $3 + i32.const 1 + i32.shr_s + local.set $3 + br $while-continue|1 + end + end + local.get $0 + local.get $3 + i32.const 1 + i32.shr_s + local.tee $7 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $3 + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $6 + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $4 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.tee $8 + local.get $8 + i32.load + i32.const 1 + local.get $4 + i32.shl + i32.xor + i32.store + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.get $3 + i32.store + local.get $0 + local.get $7 + i32.const 2 + i32.shl + i32.add + local.get $6 + i32.store + end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|0 + end + end + local.get $1 + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|2 + local.get $4 + i32.const 2 + i32.ge_s + if + local.get $0 + i32.load + local.set $1 + local.get $0 + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.tee $3 + i32.load + i32.store + local.get $3 + local.get $1 + i32.store + i32.const 1 + local.set $1 + loop $while-continue|3 + local.get $4 + local.get $5 + local.get $1 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $1 + i32.shr_u + i32.const 1 + i32.and + local.get $1 + i32.const 1 + i32.shl + i32.add + local.tee $3 + i32.gt_s + if + local.get $3 + local.set $1 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $1 + i32.const 0 + i32.gt_s + if + local.get $0 + i32.load + local.set $3 + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $6 + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $1 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.tee $7 + local.get $7 + i32.load + i32.const 1 + local.get $1 + i32.shl + i32.xor + i32.store + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $3 + i32.store + local.get $0 + local.get $6 + i32.store + end + local.get $1 + i32.const 1 + i32.shr_s + local.set $1 + br $while-continue|4 + end + end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|2 + end + end + local.get $5 + call $~lib/rt/tlsf/__free + local.get $0 + i32.load offset=4 + local.set $1 + local.get $0 + local.get $0 + i32.load + i32.store offset=4 + local.get $0 + local.get $1 + i32.store + ) + (func $~lib/typedarray/Int32Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + block $~lib/typedarray/SORT<~lib/typedarray/Int32Array,i32>|inlined.0 + local.get $0 + local.tee $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.tee $0 + i32.const 1 + i32.le_u + br_if $~lib/typedarray/SORT<~lib/typedarray/Int32Array,i32>|inlined.0 + local.get $3 + i32.load offset=4 + local.set $5 + local.get $0 + i32.const 2 + i32.eq + if + local.get $5 + i32.load offset=4 + local.set $0 + local.get $5 + i32.load + local.set $2 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $2 + local.get $1 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $2 + i32.store offset=4 + local.get $5 + local.get $0 + i32.store + end + br $~lib/typedarray/SORT<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.get $0 + i32.const 256 + i32.lt_s + if + local.get $0 + local.set $2 + local.get $1 + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $6 + i32.gt_s + if + local.get $5 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $7 + local.get $6 + i32.const 1 + i32.sub + local.set $0 + loop $while-continue|1 + local.get $0 + i32.const 0 + i32.ge_s + if + block $while-break|1 + local.get $5 + local.get $0 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $7 + local.get $8 + local.get $4 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + br_if $while-break|1 + local.get $0 + local.tee $1 + i32.const 1 + i32.sub + local.set $0 + local.get $5 + local.get $1 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.store + br $while-continue|1 + end + end + end + local.get $5 + local.get $0 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $7 + i32.store + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|0 + end + end + else + local.get $5 + local.get $0 + local.get $1 + call $~lib/util/sort/weakHeapSort + end + end + local.get $3 + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + i32.lt_s + local.get $0 + local.get $1 + i32.gt_s + i32.sub + ) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $1 + i32.const 31 + i32.add + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + local.tee $3 + call $~lib/rt/tlsf/__alloc + local.tee $5 + i32.const 0 + local.get $3 + call $~lib/memory/memory.fill + local.get $1 + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|0 + local.get $4 + i32.const 0 + i32.gt_s + if + local.get $4 + local.set $3 + loop $while-continue|1 + local.get $3 + i32.const 1 + i32.and + local.get $5 + local.get $3 + i32.const 6 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $3 + i32.const 1 + i32.shr_s + i32.shr_u + i32.const 1 + i32.and + i32.eq + if + local.get $3 + i32.const 1 + i32.shr_s + local.set $3 + br $while-continue|1 + end + end + local.get $0 + local.get $3 + i32.const 1 + i32.shr_s + local.tee $7 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $3 + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $6 + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $4 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.tee $8 + local.get $8 + i32.load + i32.const 1 + local.get $4 + i32.shl + i32.xor + i32.store + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.get $3 + i32.store + local.get $0 + local.get $7 + i32.const 2 + i32.shl + i32.add + local.get $6 + i32.store + end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|0 + end + end + local.get $1 + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|2 + local.get $4 + i32.const 2 + i32.ge_s + if + local.get $0 + i32.load + local.set $1 + local.get $0 + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.tee $3 + i32.load + i32.store + local.get $3 + local.get $1 + i32.store + i32.const 1 + local.set $1 + loop $while-continue|3 + local.get $4 + local.get $5 + local.get $1 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $1 + i32.shr_u + i32.const 1 + i32.and + local.get $1 + i32.const 1 + i32.shl + i32.add + local.tee $3 + i32.gt_s + if + local.get $3 + local.set $1 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $1 + i32.const 0 + i32.gt_s + if + local.get $0 + i32.load + local.set $3 + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $6 + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $1 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.tee $7 + local.get $7 + i32.load + i32.const 1 + local.get $1 + i32.shl + i32.xor + i32.store + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $3 + i32.store + local.get $0 + local.get $6 + i32.store + end + local.get $1 + i32.const 1 + i32.shr_s + local.set $1 + br $while-continue|4 + end + end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|2 + end + end + local.get $5 + call $~lib/rt/tlsf/__free + local.get $0 + i32.load offset=4 + local.set $1 + local.get $0 + local.get $0 + i32.load + i32.store offset=4 + local.get $0 + local.get $1 + i32.store + ) + (func $~lib/typedarray/Uint32Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + block $~lib/typedarray/SORT<~lib/typedarray/Uint32Array,u32>|inlined.0 + local.get $0 + local.tee $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.tee $0 + i32.const 1 + i32.le_u + br_if $~lib/typedarray/SORT<~lib/typedarray/Uint32Array,u32>|inlined.0 + local.get $3 + i32.load offset=4 + local.set $5 + local.get $0 + i32.const 2 + i32.eq + if + local.get $5 + i32.load offset=4 + local.set $0 + local.get $5 + i32.load + local.set $2 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $2 + local.get $1 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $2 + i32.store offset=4 + local.get $5 + local.get $0 + i32.store + end + br $~lib/typedarray/SORT<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.get $0 + i32.const 256 + i32.lt_s + if + local.get $0 + local.set $2 + local.get $1 + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $6 + i32.gt_s + if + local.get $5 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $7 + local.get $6 + i32.const 1 + i32.sub + local.set $0 + loop $while-continue|1 + local.get $0 + i32.const 0 + i32.ge_s + if + block $while-break|1 + local.get $5 + local.get $0 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $7 + local.get $8 + local.get $4 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + br_if $while-break|1 + local.get $0 + local.tee $1 + i32.const 1 + i32.sub + local.set $0 + local.get $5 + local.get $1 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.store + br $while-continue|1 + end + end + end + local.get $5 + local.get $0 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $7 + i32.store + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|0 + end + end + else + local.get $5 + local.get $0 + local.get $1 + call $~lib/util/sort/weakHeapSort + end + end + local.get $3 + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + i32.gt_u + local.get $0 + local.get $1 + i32.lt_u + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + i32.lt_u + local.get $0 + local.get $1 + i32.gt_u + i32.sub + ) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i64) + (local $6 i32) + (local $7 i64) + (local $8 i32) + local.get $1 + i32.const 31 + i32.add + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + local.tee $3 + call $~lib/rt/tlsf/__alloc + local.tee $6 + i32.const 0 + local.get $3 + call $~lib/memory/memory.fill + local.get $1 + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|0 + local.get $4 + i32.const 0 + i32.gt_s + if + local.get $4 + local.set $3 + loop $while-continue|1 + local.get $3 + i32.const 1 + i32.and + local.get $6 + local.get $3 + i32.const 6 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $3 + i32.const 1 + i32.shr_s + i32.shr_u + i32.const 1 + i32.and + i32.eq + if + local.get $3 + i32.const 1 + i32.shr_s + local.set $3 + br $while-continue|1 + end + end + local.get $0 + local.get $3 + i32.const 1 + i32.shr_s + local.tee $3 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $5 + local.get $0 + local.get $4 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $7 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $7 + local.get $2 + i32.load + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $6 + local.get $4 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.tee $8 + local.get $8 + i32.load + i32.const 1 + local.get $4 + i32.shl + i32.xor + i32.store + local.get $0 + local.get $4 + i32.const 3 + i32.shl + i32.add + local.get $5 + i64.store + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.get $7 + i64.store + end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|0 + end + end + local.get $1 + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|2 + local.get $4 + i32.const 2 + i32.ge_s + if + local.get $0 + i64.load + local.set $5 + local.get $0 + local.get $0 + local.get $4 + i32.const 3 + i32.shl + i32.add + local.tee $1 + i64.load + i64.store + local.get $1 + local.get $5 + i64.store + i32.const 1 + local.set $1 + loop $while-continue|3 + local.get $4 + local.get $6 + local.get $1 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $1 + i32.shr_u + i32.const 1 + i32.and + local.get $1 + i32.const 1 + i32.shl + i32.add + local.tee $3 + i32.gt_s + if + local.get $3 + local.set $1 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $1 + i32.const 0 + i32.gt_s + if + local.get $0 + i64.load + local.set $5 + local.get $0 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $7 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $7 + local.get $2 + i32.load + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $6 + local.get $1 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.tee $3 + local.get $3 + i32.load + i32.const 1 + local.get $1 + i32.shl + i32.xor + i32.store + local.get $0 + local.get $1 + i32.const 3 + i32.shl + i32.add + local.get $5 + i64.store + local.get $0 + local.get $7 + i64.store + end + local.get $1 + i32.const 1 + i32.shr_s + local.set $1 + br $while-continue|4 + end + end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|2 + end + end + local.get $6 + call $~lib/rt/tlsf/__free + local.get $0 + i64.load offset=8 + local.set $5 + local.get $0 + local.get $0 + i64.load + i64.store offset=8 + local.get $0 + local.get $5 + i64.store + ) + (func $~lib/typedarray/Int64Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i64) + (local $6 i64) + (local $7 i32) + (local $8 i32) + block $~lib/typedarray/SORT<~lib/typedarray/Int64Array,i64>|inlined.0 + local.get $0 + local.tee $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.tee $8 + i32.const 1 + i32.le_u + br_if $~lib/typedarray/SORT<~lib/typedarray/Int64Array,i64>|inlined.0 + local.get $2 + i32.load offset=4 + local.set $4 + local.get $8 + i32.const 2 + i32.eq + if + local.get $4 + i64.load offset=8 + local.set $5 + local.get $4 + i64.load + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $6 + local.get $1 + i32.load + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $6 + i64.store offset=8 + local.get $4 + local.get $5 + i64.store + end + br $~lib/typedarray/SORT<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $8 + i32.const 256 + i32.lt_u + if + local.get $1 + local.set $3 + loop $for-loop|0 + local.get $7 + local.get $8 + i32.lt_s + if + local.get $4 + local.get $7 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $5 + local.get $7 + i32.const 1 + i32.sub + local.set $1 + loop $while-continue|1 + local.get $1 + i32.const 0 + i32.ge_s + if + block $while-break|1 + local.get $4 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $6 + local.get $3 + i32.load + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.ge_s + br_if $while-break|1 + local.get $1 + local.tee $0 + i32.const 1 + i32.sub + local.set $1 + local.get $4 + local.get $0 + i32.const 1 + i32.add + i32.const 3 + i32.shl + i32.add + local.get $6 + i64.store + br $while-continue|1 + end + end + end + local.get $4 + local.get $1 + i32.const 1 + i32.add + i32.const 3 + i32.shl + i32.add + local.get $5 + i64.store + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|0 + end + end + else + local.get $4 + local.get $8 + local.get $1 + call $~lib/util/sort/weakHeapSort + end + end + local.get $2 + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i64) (param $1 i64) (result i32) + local.get $0 + local.get $1 + i64.gt_s + local.get $0 + local.get $1 + i64.lt_s + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i64) (result i32) + local.get $0 + local.get $1 + i64.lt_s + local.get $0 + local.get $1 + i64.gt_s + i32.sub + ) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i64) + (local $6 i32) + (local $7 i64) + (local $8 i32) + local.get $1 + i32.const 31 + i32.add + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + local.tee $3 + call $~lib/rt/tlsf/__alloc + local.tee $6 + i32.const 0 + local.get $3 + call $~lib/memory/memory.fill + local.get $1 + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|0 + local.get $4 + i32.const 0 + i32.gt_s + if + local.get $4 + local.set $3 + loop $while-continue|1 + local.get $3 + i32.const 1 + i32.and + local.get $6 + local.get $3 + i32.const 6 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $3 + i32.const 1 + i32.shr_s + i32.shr_u + i32.const 1 + i32.and + i32.eq + if + local.get $3 + i32.const 1 + i32.shr_s + local.set $3 + br $while-continue|1 + end + end + local.get $0 + local.get $3 + i32.const 1 + i32.shr_s + local.tee $3 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $5 + local.get $0 + local.get $4 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $7 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $7 + local.get $2 + i32.load + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $6 + local.get $4 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.tee $8 + local.get $8 + i32.load + i32.const 1 + local.get $4 + i32.shl + i32.xor + i32.store + local.get $0 + local.get $4 + i32.const 3 + i32.shl + i32.add + local.get $5 + i64.store + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.get $7 + i64.store + end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|0 + end + end + local.get $1 + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|2 + local.get $4 + i32.const 2 + i32.ge_s + if + local.get $0 + i64.load + local.set $5 + local.get $0 + local.get $0 + local.get $4 + i32.const 3 + i32.shl + i32.add + local.tee $1 + i64.load + i64.store + local.get $1 + local.get $5 + i64.store + i32.const 1 + local.set $1 + loop $while-continue|3 + local.get $4 + local.get $6 + local.get $1 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $1 + i32.shr_u + i32.const 1 + i32.and + local.get $1 + i32.const 1 + i32.shl + i32.add + local.tee $3 + i32.gt_s + if + local.get $3 + local.set $1 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $1 + i32.const 0 + i32.gt_s + if + local.get $0 + i64.load + local.set $5 + local.get $0 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $7 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $7 + local.get $2 + i32.load + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $6 + local.get $1 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.tee $3 + local.get $3 + i32.load + i32.const 1 + local.get $1 + i32.shl + i32.xor + i32.store + local.get $0 + local.get $1 + i32.const 3 + i32.shl + i32.add + local.get $5 + i64.store + local.get $0 + local.get $7 + i64.store + end + local.get $1 + i32.const 1 + i32.shr_s + local.set $1 + br $while-continue|4 + end + end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|2 + end + end + local.get $6 + call $~lib/rt/tlsf/__free + local.get $0 + i64.load offset=8 + local.set $5 + local.get $0 + local.get $0 + i64.load + i64.store offset=8 + local.get $0 + local.get $5 + i64.store + ) + (func $~lib/typedarray/Uint64Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i64) + (local $6 i64) + (local $7 i32) + (local $8 i32) + block $~lib/typedarray/SORT<~lib/typedarray/Uint64Array,u64>|inlined.0 + local.get $0 + local.tee $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.tee $8 + i32.const 1 + i32.le_u + br_if $~lib/typedarray/SORT<~lib/typedarray/Uint64Array,u64>|inlined.0 + local.get $2 + i32.load offset=4 + local.set $4 + local.get $8 + i32.const 2 + i32.eq + if + local.get $4 + i64.load offset=8 + local.set $5 + local.get $4 + i64.load + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $6 + local.get $1 + i32.load + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $6 + i64.store offset=8 + local.get $4 + local.get $5 + i64.store + end + br $~lib/typedarray/SORT<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $8 + i32.const 256 + i32.lt_u + if + local.get $1 + local.set $3 + loop $for-loop|0 + local.get $7 + local.get $8 + i32.lt_s + if + local.get $4 + local.get $7 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $5 + local.get $7 + i32.const 1 + i32.sub + local.set $1 + loop $while-continue|1 + local.get $1 + i32.const 0 + i32.ge_s + if + block $while-break|1 + local.get $4 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $6 + local.get $3 + i32.load + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.ge_s + br_if $while-break|1 + local.get $1 + local.tee $0 + i32.const 1 + i32.sub + local.set $1 + local.get $4 + local.get $0 + i32.const 1 + i32.add + i32.const 3 + i32.shl + i32.add + local.get $6 + i64.store + br $while-continue|1 + end + end + end + local.get $4 + local.get $1 + i32.const 1 + i32.add + i32.const 3 + i32.shl + i32.add + local.get $5 + i64.store + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|0 + end + end + else + local.get $4 + local.get $8 + local.get $1 + call $~lib/util/sort/weakHeapSort + end + end + local.get $2 + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i64) (param $1 i64) (result i32) + local.get $0 + local.get $1 + i64.gt_u + local.get $0 + local.get $1 + i64.lt_u + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $0 i64) (param $1 i64) (result i32) + local.get $0 + local.get $1 + i64.lt_u + local.get $0 + local.get $1 + i64.gt_u + i32.sub + ) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 f32) + (local $6 i32) + (local $7 f32) + (local $8 i32) + local.get $1 + i32.const 31 + i32.add + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + local.tee $3 + call $~lib/rt/tlsf/__alloc + local.tee $6 + i32.const 0 + local.get $3 + call $~lib/memory/memory.fill + local.get $1 + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|0 + local.get $4 + i32.const 0 + i32.gt_s + if + local.get $4 + local.set $3 + loop $while-continue|1 + local.get $3 + i32.const 1 + i32.and + local.get $6 + local.get $3 + i32.const 6 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $3 + i32.const 1 + i32.shr_s + i32.shr_u + i32.const 1 + i32.and + i32.eq + if + local.get $3 + i32.const 1 + i32.shr_s + local.set $3 + br $while-continue|1 + end + end + local.get $0 + local.get $3 + i32.const 1 + i32.shr_s + local.tee $3 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $5 + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $7 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $7 + local.get $2 + i32.load + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $6 + local.get $4 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.tee $8 + local.get $8 + i32.load + i32.const 1 + local.get $4 + i32.shl + i32.xor + i32.store + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.get $5 + f32.store + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + local.get $7 + f32.store + end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|0 + end + end + local.get $1 + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|2 + local.get $4 + i32.const 2 + i32.ge_s + if + local.get $0 + f32.load + local.set $5 + local.get $0 + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.tee $1 + f32.load + f32.store + local.get $1 + local.get $5 + f32.store + i32.const 1 + local.set $1 + loop $while-continue|3 + local.get $4 + local.get $6 + local.get $1 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $1 + i32.shr_u + i32.const 1 + i32.and + local.get $1 + i32.const 1 + i32.shl + i32.add + local.tee $3 + i32.gt_s + if + local.get $3 + local.set $1 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $1 + i32.const 0 + i32.gt_s + if + local.get $0 + f32.load + local.set $5 + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $7 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $7 + local.get $2 + i32.load + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $6 + local.get $1 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.tee $3 + local.get $3 + i32.load + i32.const 1 + local.get $1 + i32.shl + i32.xor + i32.store + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $5 + f32.store + local.get $0 + local.get $7 + f32.store + end + local.get $1 + i32.const 1 + i32.shr_s + local.set $1 + br $while-continue|4 + end + end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|2 + end + end + local.get $6 + call $~lib/rt/tlsf/__free + local.get $0 + f32.load offset=4 + local.set $5 + local.get $0 + local.get $0 + f32.load + f32.store offset=4 + local.get $0 + local.get $5 + f32.store + ) + (func $~lib/typedarray/Float32Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 f32) + (local $6 f32) + (local $7 i32) + (local $8 i32) + block $~lib/typedarray/SORT<~lib/typedarray/Float32Array,f32>|inlined.0 + local.get $0 + local.tee $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.tee $8 + i32.const 1 + i32.le_u + br_if $~lib/typedarray/SORT<~lib/typedarray/Float32Array,f32>|inlined.0 + local.get $2 + i32.load offset=4 + local.set $4 + local.get $8 + i32.const 2 + i32.eq + if + local.get $4 + f32.load offset=4 + local.set $5 + local.get $4 + f32.load + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $6 + local.get $1 + i32.load + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $6 + f32.store offset=4 + local.get $4 + local.get $5 + f32.store + end + br $~lib/typedarray/SORT<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $8 + i32.const 256 + i32.lt_u + if + local.get $1 + local.set $3 + loop $for-loop|0 + local.get $7 + local.get $8 + i32.lt_s + if + local.get $4 + local.get $7 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $5 + local.get $7 + i32.const 1 + i32.sub + local.set $1 + loop $while-continue|1 + local.get $1 + i32.const 0 + i32.ge_s + if + block $while-break|1 + local.get $4 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $6 + local.get $3 + i32.load + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.ge_s + br_if $while-break|1 + local.get $1 + local.tee $0 + i32.const 1 + i32.sub + local.set $1 + local.get $4 + local.get $0 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $6 + f32.store + br $while-continue|1 + end + end + end + local.get $4 + local.get $1 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $5 + f32.store + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|0 + end + end + else + local.get $4 + local.get $8 + local.get $1 + call $~lib/util/sort/weakHeapSort + end + end + local.get $2 + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 f32) (param $1 f32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.reinterpret_f32 + local.tee $2 + local.get $2 + i32.const 31 + i32.shr_s + i32.const 1 + i32.shr_u + i32.xor + local.tee $2 + local.get $1 + i32.reinterpret_f32 + local.tee $3 + local.get $3 + i32.const 31 + i32.shr_s + i32.const 1 + i32.shr_u + i32.xor + local.tee $3 + i32.gt_s + local.get $2 + local.get $3 + i32.lt_s + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 f32) (result i32) + local.get $0 + local.get $1 + f32.lt + local.get $0 + local.get $1 + f32.gt + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 f64) (result i32) + local.get $0 + local.get $1 + f64.lt + local.get $0 + local.get $1 + f64.gt + i32.sub + ) + (func $~lib/rt/__visit_members (param $0 i32) + block $folding-inner3 + block $folding-inner2 + block $folding-inner1 + block $invalid + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $invalid + end + return + end + return + end + unreachable + end + local.get $0 + i32.load offset=4 + call $~lib/rt/itcms/__visit + return + end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + return + end + local.get $0 + i32.load + local.tee $0 + if + local.get $0 + call $~lib/rt/itcms/__visit + end + ) + (func $~start + call $start:std/typedarray + ) + (func $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 14468 + i32.lt_s + if + i32.const 30880 + i32.const 30928 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $1 + i32.store + local.get $1 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $1 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3600 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $1 + i32.load offset=8 + local.set $4 + local.get $1 + i32.load offset=4 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store offset=4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $2 + local.get $6 + i32.add + i32.load8_s + local.set $7 + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $3 + i32.add + local.get $7 + local.get $2 + local.get $1 + i32.const 3600 + i32.load + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store8 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + local.get $0 + local.get $3 + i32.store + local.get $0 + local.get $3 + call $~lib/rt/itcms/__link + local.get $0 + local.get $3 + i32.store offset=4 + local.get $0 + local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 388 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Int8Array#__get + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 389 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Int8Array#__get + i32.const 9 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 390 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 + i32.store + local.get $1 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3632 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $1 + i32.load offset=8 + local.set $4 + local.get $1 + i32.load offset=4 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store offset=4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $2 + local.get $6 + i32.add + i32.load8_u + local.set $7 + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $3 + i32.add + local.get $7 + local.get $2 + local.get $1 + i32.const 3632 + i32.load + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store8 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + local.get $0 + local.get $3 + i32.store + local.get $0 + local.get $3 + call $~lib/rt/itcms/__link + local.get $0 + local.get $3 + i32.store offset=4 + local.get $0 + local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint8Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 388 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__get + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 389 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint8Array#__get + i32.const 9 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 390 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer @@ -22801,16 +26561,328 @@ local.get $0 i32.const 3 i32.const 4 - call $~lib/typedarray/Int16Array#__set + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store offset=12 + local.get $0 + call $~lib/typedarray/Int16Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store offset=8 + local.get $1 + i32.const 7456 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 652 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store + local.get $0 + call $~lib/typedarray/Int16Array#join + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store offset=8 + local.get $0 + i32.const 7456 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 653 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint16Array,u16> + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store offset=12 + local.get $0 + call $~lib/typedarray/Uint16Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store offset=8 + local.get $1 + i32.const 7456 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 652 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store + local.get $0 + call $~lib/typedarray/Uint16Array#join + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store offset=8 + local.get $0 + i32.const 7456 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 653 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int32Array,i32> + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store offset=12 + local.get $0 + call $~lib/typedarray/Int32Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store offset=8 + local.get $1 + i32.const 7456 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 652 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store + local.get $0 + call $~lib/typedarray/Int32Array#join + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store offset=8 + local.get $0 + i32.const 7456 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 653 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint32Array,u32> + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint32Array#__set local.get $0 i32.const 4 i32.const 5 - call $~lib/typedarray/Int16Array#__set + call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer i32.const 7424 i32.store offset=12 local.get $0 - call $~lib/typedarray/Int16Array#join + call $~lib/typedarray/Uint32Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -22842,7 +26914,7 @@ i32.const 7424 i32.store local.get $0 - call $~lib/typedarray/Int16Array#join + call $~lib/typedarray/Uint32Array#join local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -22871,7 +26943,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint16Array,u16> + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int64Array,i64> (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -22887,34 +26959,34 @@ i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 5 - call $~lib/typedarray/Uint16Array#constructor + call $~lib/typedarray/Int64Array#constructor local.tee $0 i32.store local.get $0 i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set + i64.const 1 + call $~lib/typedarray/Int64Array#__set local.get $0 i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set + i64.const 2 + call $~lib/typedarray/Int64Array#__set local.get $0 i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set + i64.const 3 + call $~lib/typedarray/Int64Array#__set local.get $0 i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint16Array#__set + i64.const 4 + call $~lib/typedarray/Int64Array#__set local.get $0 i32.const 4 - i32.const 5 - call $~lib/typedarray/Uint16Array#__set + i64.const 5 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 7424 i32.store offset=12 local.get $0 - call $~lib/typedarray/Uint16Array#join + call $~lib/typedarray/Int64Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -22946,7 +27018,7 @@ i32.const 7424 i32.store local.get $0 - call $~lib/typedarray/Uint16Array#join + call $~lib/typedarray/Int64Array#join local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -22975,7 +27047,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int32Array,i32> + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint64Array,u64> (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -22991,34 +27063,34 @@ i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 5 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Uint64Array#constructor local.tee $0 i32.store local.get $0 i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set + i64.const 1 + call $~lib/typedarray/Uint64Array#__set local.get $0 i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set + i64.const 2 + call $~lib/typedarray/Uint64Array#__set local.get $0 i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set + i64.const 3 + call $~lib/typedarray/Uint64Array#__set local.get $0 i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set + i64.const 4 + call $~lib/typedarray/Uint64Array#__set local.get $0 i32.const 4 - i32.const 5 - call $~lib/typedarray/Int32Array#__set + i64.const 5 + call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer i32.const 7424 i32.store offset=12 local.get $0 - call $~lib/typedarray/Int32Array#join + call $~lib/typedarray/Uint64Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -23050,7 +27122,7 @@ i32.const 7424 i32.store local.get $0 - call $~lib/typedarray/Int32Array#join + call $~lib/typedarray/Uint64Array#join local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -23079,7 +27151,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint32Array,u32> + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float32Array,f32> (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -23095,49 +27167,49 @@ i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 5 - call $~lib/typedarray/Uint32Array#constructor + call $~lib/typedarray/Float32Array#constructor local.tee $0 i32.store local.get $0 i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set + f32.const 1 + call $~lib/typedarray/Float32Array#__set local.get $0 i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set + f32.const 2 + call $~lib/typedarray/Float32Array#__set local.get $0 i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set + f32.const 3 + call $~lib/typedarray/Float32Array#__set local.get $0 i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint32Array#__set + f32.const 4 + call $~lib/typedarray/Float32Array#__set local.get $0 i32.const 4 - i32.const 5 - call $~lib/typedarray/Uint32Array#__set + f32.const 5 + call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer i32.const 7424 i32.store offset=12 local.get $0 - call $~lib/typedarray/Uint32Array#join + call $~lib/typedarray/Float32Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 7456 + i32.const 8640 i32.store offset=8 local.get $1 - i32.const 7456 + i32.const 8640 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1568 - i32.const 652 + i32.const 649 i32.const 5 call $~lib/builtins/abort unreachable @@ -23154,7 +27226,7 @@ i32.const 7424 i32.store local.get $0 - call $~lib/typedarray/Uint32Array#join + call $~lib/typedarray/Float32Array#join local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -23164,16 +27236,16 @@ local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 7456 + i32.const 8640 i32.store offset=8 local.get $0 - i32.const 7456 + i32.const 8640 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1568 - i32.const 653 + i32.const 650 i32.const 5 call $~lib/builtins/abort unreachable @@ -23183,7 +27255,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int64Array,i64> + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float64Array,f64> (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -23199,49 +27271,49 @@ i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 5 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Float64Array#constructor local.tee $0 i32.store local.get $0 i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set + f64.const 1 + call $~lib/typedarray/Float64Array#__set local.get $0 i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set + f64.const 2 + call $~lib/typedarray/Float64Array#__set local.get $0 i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set + f64.const 3 + call $~lib/typedarray/Float64Array#__set local.get $0 i32.const 3 - i64.const 4 - call $~lib/typedarray/Int64Array#__set + f64.const 4 + call $~lib/typedarray/Float64Array#__set local.get $0 i32.const 4 - i64.const 5 - call $~lib/typedarray/Int64Array#__set + f64.const 5 + call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer i32.const 7424 i32.store offset=12 local.get $0 - call $~lib/typedarray/Int64Array#join + call $~lib/typedarray/Float64Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 7456 + i32.const 8640 i32.store offset=8 local.get $1 - i32.const 7456 + i32.const 8640 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1568 - i32.const 652 + i32.const 649 i32.const 5 call $~lib/builtins/abort unreachable @@ -23258,7 +27330,7 @@ i32.const 7424 i32.store local.get $0 - call $~lib/typedarray/Int64Array#join + call $~lib/typedarray/Float64Array#join local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -23268,16 +27340,16 @@ local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 7456 + i32.const 8640 i32.store offset=8 local.get $0 - i32.const 7456 + i32.const 8640 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1568 - i32.const 653 + i32.const 650 i32.const 5 call $~lib/builtins/abort unreachable @@ -23287,11 +27359,15 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint64Array,u64> + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8> (local $0 i32) (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -23302,54 +27378,328 @@ i64.const 0 i64.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/typedarray/Uint64Array#constructor - local.tee $0 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 8768 i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8780 + i32.load + local.tee $3 + call $~lib/typedarray/Int8Array#constructor + local.tee $1 + i32.store offset=4 + loop $for-loop|0 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $0 + i32.const 8768 + local.get $0 + call $~lib/array/Array#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load + local.tee $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + local.get $1 + i32.load offset=8 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $0 + i32.store offset=12 + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set + i32.store local.get $0 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set + i32.const 20 + i32.sub + i32.load offset=16 + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 local.get $0 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set + i32.store + local.get $2 local.get $0 - i32.const 3 - i64.const 4 - call $~lib/typedarray/Uint64Array#__set + call $~lib/rt/itcms/__link + local.get $2 + local.get $5 + i32.store offset=8 + local.get $2 local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 - i64.const 5 - call $~lib/typedarray/Uint64Array#__set + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 + i32.const 0 + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $0 + call $~lib/typedarray/Int8Array#__get + local.get $2 + local.get $0 + call $~lib/typedarray/Int8Array#__get + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end + end global.get $~lib/memory/__stack_pointer - i32.const 7424 + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8Array,u8> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 8768 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8780 + i32.load + local.tee $2 + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 + i32.store offset=4 + loop $for-loop|0 + local.get $0 + local.get $2 + i32.lt_s + if + local.get $1 + local.get $0 + i32.const 8768 + local.get $0 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load + local.tee $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + local.get $1 + i32.load offset=8 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $0 i32.store offset=12 + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer local.get $0 - call $~lib/typedarray/Uint64Array#join - local.set $1 + i32.const 0 + call $~lib/typedarray/Uint8Array.wrap@varargs + local.tee $3 + i32.store offset=16 + i32.const 0 + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $2 + i32.lt_s + if + local.get $1 + local.get $0 + call $~lib/typedarray/Uint8Array#__get + local.get $3 + local.get $0 + call $~lib/typedarray/Uint8Array#__get + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end + end global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 8768 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8780 + i32.load + local.tee $3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $1 i32.store offset=4 + loop $for-loop|0 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $0 + i32.const 8768 + local.get $0 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end global.get $~lib/memory/__stack_pointer - i32.const 7456 + local.get $1 + i32.load + local.tee $0 i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 local.get $1 - i32.const 7456 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 652 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + i32.load offset=4 + local.get $1 + i32.load + i32.sub + local.get $1 + i32.load offset=8 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $0 + i32.store offset=12 + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23358,44 +27708,78 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 7424 + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $2 i32.store + local.get $2 local.get $0 - call $~lib/typedarray/Uint64Array#join - local.set $0 + i32.store + local.get $2 + local.get $0 + call $~lib/rt/itcms/__link + local.get $2 + local.get $5 + i32.store offset=8 + local.get $2 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7456 - i32.store offset=8 - local.get $0 - i32.const 7456 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 653 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $2 + i32.store offset=16 + i32.const 0 + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $0 + call $~lib/typedarray/Uint8ClampedArray#__get + local.get $2 + local.get $0 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float32Array,f32> + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16> (local $0 i32) (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -23406,54 +27790,66 @@ i64.const 0 i64.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store - local.get $0 i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $0 - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $0 - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - local.get $0 - i32.const 3 - f32.const 4 - call $~lib/typedarray/Float32Array#__set - local.get $0 - i32.const 4 - f32.const 5 - call $~lib/typedarray/Float32Array#__set + i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store offset=12 - local.get $0 - call $~lib/typedarray/Float32Array#join - local.set $1 + i32.const 8768 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 8780 + i32.load + local.tee $3 + call $~lib/typedarray/Int16Array#constructor + local.tee $1 i32.store offset=4 + loop $for-loop|0 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $0 + i32.const 8768 + local.get $0 + call $~lib/array/Array#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end global.get $~lib/memory/__stack_pointer - i32.const 8640 + local.get $1 + i32.load + local.tee $0 i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 local.get $1 - i32.const 8640 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 649 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + i32.load offset=4 + local.get $1 + i32.load + i32.sub + local.get $1 + i32.load offset=8 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $0 + i32.store offset=12 + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23462,44 +27858,90 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + local.tee $2 + local.set $5 + local.get $2 + i32.const 1 + i32.and + if + i32.const 1056 + i32.const 1632 + i32.const 1831 + i32.const 9 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 7424 + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $2 i32.store + local.get $2 local.get $0 - call $~lib/typedarray/Float32Array#join - local.set $0 + i32.store + local.get $2 + local.get $0 + call $~lib/rt/itcms/__link + local.get $2 + local.get $5 + i32.store offset=8 + local.get $2 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8640 - i32.store offset=8 - local.get $0 - i32.const 8640 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 650 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $2 + i32.store offset=16 + i32.const 0 + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $0 + call $~lib/typedarray/Int16Array#__get + local.get $2 + local.get $0 + call $~lib/typedarray/Int16Array#__get + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float64Array,f64> + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16> (local $0 i32) (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -23510,54 +27952,64 @@ i64.const 0 i64.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store - local.get $0 i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 3 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 4 - f64.const 5 - call $~lib/typedarray/Float64Array#__set + i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store offset=12 - local.get $0 - call $~lib/typedarray/Float64Array#join - local.set $1 + i32.const 8768 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 8780 + i32.load + local.tee $3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $1 i32.store offset=4 + loop $for-loop|0 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $0 + i32.const 8768 + local.get $0 + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end global.get $~lib/memory/__stack_pointer - i32.const 8640 + local.get $1 + i32.load + local.tee $0 i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 local.get $1 - i32.const 8640 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 649 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + i32.load offset=4 + local.get $1 + i32.load + i32.sub + local.get $1 + i32.load offset=8 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $0 + i32.store offset=12 + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23566,40 +28018,82 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + local.tee $2 + local.set $5 + local.get $2 + i32.const 1 + i32.and + if + i32.const 1056 + i32.const 1632 + i32.const 1831 + i32.const 9 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 7424 + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $2 i32.store + local.get $2 local.get $0 - call $~lib/typedarray/Float64Array#join - local.set $0 + i32.store + local.get $2 + local.get $0 + call $~lib/rt/itcms/__link + local.get $2 + local.get $5 + i32.store offset=8 + local.get $2 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8640 - i32.store offset=8 - local.get $0 - i32.const 8640 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 650 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $2 + i32.store offset=16 + i32.const 0 + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $0 + call $~lib/typedarray/Uint16Array#__get + local.get $2 + local.get $0 + call $~lib/typedarray/Uint16Array#__get + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8> + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32> (local $0 i32) (local $1 i32) (local $2 i32) @@ -23627,7 +28121,7 @@ i32.const 8780 i32.load local.tee $3 - call $~lib/typedarray/Int8Array#constructor + call $~lib/typedarray/Int32Array#constructor local.tee $1 i32.store offset=4 loop $for-loop|0 @@ -23640,11 +28134,7 @@ i32.const 8768 local.get $0 call $~lib/array/Array#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - call $~lib/typedarray/Int8Array#__set + call $~lib/typedarray/Int32Array#__set local.get $0 i32.const 1 i32.add @@ -23690,10 +28180,22 @@ i32.const 20 i32.sub i32.load offset=16 + local.tee $2 local.set $5 + local.get $2 + i32.const 3 + i32.and + if + i32.const 1056 + i32.const 1632 + i32.const 1831 + i32.const 9 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 3 + i32.const 8 call $~lib/rt/itcms/__new local.tee $2 i32.store @@ -23724,10 +28226,10 @@ if local.get $1 local.get $0 - call $~lib/typedarray/Int8Array#__get + call $~lib/typedarray/Int32Array#__get local.get $2 local.get $0 - call $~lib/typedarray/Int8Array#__get + call $~lib/typedarray/Int32Array#__get i32.ne if i32.const 0 @@ -23749,11 +28251,13 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8Array,u8> + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32> (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -23774,13 +28278,13 @@ global.get $~lib/memory/__stack_pointer i32.const 8780 i32.load - local.tee $2 - call $~lib/typedarray/Uint8Array#constructor + local.tee $3 + call $~lib/typedarray/Uint32Array#constructor local.tee $1 i32.store offset=4 loop $for-loop|0 local.get $0 - local.get $2 + local.get $3 i32.lt_s if local.get $1 @@ -23788,9 +28292,7 @@ i32.const 8768 local.get $0 call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Uint32Array#__set local.get $0 i32.const 1 i32.add @@ -23803,45 +28305,89 @@ i32.load local.tee $0 i32.store offset=8 - global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + local.get $1 + i32.load offset=8 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $0 + i32.store offset=12 + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + local.tee $2 + local.set $5 + local.get $2 + i32.const 3 + i32.and + if + i32.const 1056 + i32.const 1632 + i32.const 1831 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.get $0 + i32.store + local.get $2 + local.get $0 + call $~lib/rt/itcms/__link + local.get $2 + local.get $5 + i32.store offset=8 + local.get $2 local.get $0 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - local.get $1 - i32.load offset=8 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $0 - i32.store offset=12 - i32.const 1 - global.set $~argumentsLength + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint8Array.wrap@varargs - local.tee $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 i32.store offset=16 i32.const 0 local.set $0 loop $for-loop|1 local.get $0 - local.get $2 + local.get $3 i32.lt_s if local.get $1 local.get $0 - call $~lib/typedarray/Uint8Array#__get - local.get $3 + call $~lib/typedarray/Uint32Array#__get + local.get $2 local.get $0 - call $~lib/typedarray/Uint8Array#__get + call $~lib/typedarray/Uint32Array#__get i32.ne if i32.const 0 @@ -23863,7 +28409,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8> + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64> (local $0 i32) (local $1 i32) (local $2 i32) @@ -23891,7 +28437,7 @@ i32.const 8780 i32.load local.tee $3 - call $~lib/typedarray/Uint8ClampedArray#constructor + call $~lib/typedarray/Int64Array#constructor local.tee $1 i32.store offset=4 loop $for-loop|0 @@ -23904,9 +28450,8 @@ i32.const 8768 local.get $0 call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set local.get $0 i32.const 1 i32.add @@ -23952,10 +28497,22 @@ i32.const 20 i32.sub i32.load offset=16 + local.tee $2 local.set $5 + local.get $2 + i32.const 7 + i32.and + if + i32.const 1056 + i32.const 1632 + i32.const 1831 + i32.const 9 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 5 + i32.const 10 call $~lib/rt/itcms/__new local.tee $2 i32.store @@ -23986,11 +28543,11 @@ if local.get $1 local.get $0 - call $~lib/typedarray/Uint8ClampedArray#__get + call $~lib/typedarray/Int64Array#__get local.get $2 local.get $0 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.ne + call $~lib/typedarray/Int64Array#__get + i64.ne if i32.const 0 i32.const 1568 @@ -24011,7 +28568,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16> + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64> (local $0 i32) (local $1 i32) (local $2 i32) @@ -24039,7 +28596,7 @@ i32.const 8780 i32.load local.tee $3 - call $~lib/typedarray/Int16Array#constructor + call $~lib/typedarray/Uint64Array#constructor local.tee $1 i32.store offset=4 loop $for-loop|0 @@ -24052,11 +28609,8 @@ i32.const 8768 local.get $0 call $~lib/array/Array#__get - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - call $~lib/typedarray/Int16Array#__set + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set local.get $0 i32.const 1 i32.add @@ -24105,7 +28659,7 @@ local.tee $2 local.set $5 local.get $2 - i32.const 1 + i32.const 7 i32.and if i32.const 1056 @@ -24117,7 +28671,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 6 + i32.const 11 call $~lib/rt/itcms/__new local.tee $2 i32.store @@ -24148,11 +28702,11 @@ if local.get $1 local.get $0 - call $~lib/typedarray/Int16Array#__get + call $~lib/typedarray/Uint64Array#__get local.get $2 local.get $0 - call $~lib/typedarray/Int16Array#__get - i32.ne + call $~lib/typedarray/Uint64Array#__get + i64.ne if i32.const 0 i32.const 1568 @@ -24173,7 +28727,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16> + (func $std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32> (local $0 i32) (local $1 i32) (local $2 i32) @@ -24201,7 +28755,7 @@ i32.const 8780 i32.load local.tee $3 - call $~lib/typedarray/Uint16Array#constructor + call $~lib/typedarray/Float32Array#constructor local.tee $1 i32.store offset=4 loop $for-loop|0 @@ -24214,9 +28768,8 @@ i32.const 8768 local.get $0 call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set local.get $0 i32.const 1 i32.add @@ -24265,7 +28818,7 @@ local.tee $2 local.set $5 local.get $2 - i32.const 1 + i32.const 3 i32.and if i32.const 1056 @@ -24277,7 +28830,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 7 + i32.const 12 call $~lib/rt/itcms/__new local.tee $2 i32.store @@ -24308,11 +28861,11 @@ if local.get $1 local.get $0 - call $~lib/typedarray/Uint16Array#__get + call $~lib/typedarray/Float32Array#__get local.get $2 local.get $0 - call $~lib/typedarray/Uint16Array#__get - i32.ne + call $~lib/typedarray/Float32Array#__get + f32.ne if i32.const 0 i32.const 1568 @@ -24333,7 +28886,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32> + (func $std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64> (local $0 i32) (local $1 i32) (local $2 i32) @@ -24361,7 +28914,7 @@ i32.const 8780 i32.load local.tee $3 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Float64Array#constructor local.tee $1 i32.store offset=4 loop $for-loop|0 @@ -24374,7 +28927,8 @@ i32.const 8768 local.get $0 call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set local.get $0 i32.const 1 i32.add @@ -24423,7 +28977,7 @@ local.tee $2 local.set $5 local.get $2 - i32.const 3 + i32.const 7 i32.and if i32.const 1056 @@ -24435,7 +28989,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 8 + i32.const 13 call $~lib/rt/itcms/__new local.tee $2 i32.store @@ -24466,11 +29020,11 @@ if local.get $1 local.get $0 - call $~lib/typedarray/Int32Array#__get + call $~lib/typedarray/Float64Array#__get local.get $2 local.get $0 - call $~lib/typedarray/Int32Array#__get - i32.ne + call $~lib/typedarray/Float64Array#__get + f64.ne if i32.const 0 i32.const 1568 @@ -24491,13 +29045,96 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32> + (func $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load offset=8 + local.tee $3 + local.get $1 + i32.load offset=12 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 735 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + loop $for-loop|0 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $2 + local.get $0 + i32.load offset=4 + i32.add + i32.load8_s + local.tee $4 + local.get $2 + local.get $1 + i32.load offset=4 + i32.add + i32.load8_s + local.tee $5 + i32.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 9184 + i32.store + i32.const 9184 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $4 + f64.convert_i32_s + local.get $5 + f64.convert_i32_s + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.const 1568 + i32.const 741 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 f32) + (local $8 f64) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -24513,59 +29150,277 @@ i32.const 0 i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 8768 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $3 i32.store + local.get $3 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - i32.const 8780 - i32.load - local.tee $3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $1 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $2 i32.store offset=4 - loop $for-loop|0 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $1 - local.get $0 - i32.const 8768 - local.get $0 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end + local.get $2 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load - local.tee $0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $4 i32.store offset=8 + local.get $4 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - local.get $1 - i32.load offset=8 + i32.const 10 + call $~lib/typedarray/Int8Array#constructor + local.tee $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8848 + i32.store offset=16 local.get $1 - i32.load offset=4 + call $~lib/typedarray/Int8Array#set<~lib/array/Array> + i32.const 10 + i32.const 0 + i32.const 15 + i32.const 9152 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 local.get $1 - i32.load - i32.sub - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $0 - i32.store offset=12 - i32.const 1 - global.set $~argumentsLength + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> global.get $~lib/memory/__stack_pointer + i32.const 8928 + i32.store offset=16 + i32.const 0 + local.set $0 + block $folding-inner0 + local.get $1 + i32.load offset=8 + i32.const 8940 + i32.load + i32.const 3 + i32.add + i32.lt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 3 + i32.add + local.set $5 + i32.const 8932 + i32.load + local.set $6 + i32.const 8940 + i32.load + local.set $9 + loop $for-loop|0 + local.get $0 + local.get $9 + i32.lt_s + if + local.get $0 + local.get $5 + i32.add + local.get $6 + local.get $0 + i32.const 2 + i32.shl + i32.add + f32.load + local.tee $7 + local.get $7 + f32.sub + f32.const 0 + f32.eq + if (result i32) + local.get $7 + i32.trunc_f32_s + else + i32.const 0 + end + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + i32.const 10 + i32.const 0 + i32.const 15 + i32.const 9232 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + local.get $1 + local.get $3 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> + i32.const 10 + i32.const 0 + i32.const 15 + i32.const 9264 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + global.get $~lib/memory/__stack_pointer + i32.const 9024 + i32.store offset=16 + i32.const 0 + local.set $0 + local.get $1 + i32.load offset=8 + i32.const 9036 + i32.load + i32.const 2 + i32.add + i32.lt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 2 + i32.add + local.set $3 + i32.const 9028 + i32.load + local.set $5 + i32.const 9036 + i32.load + local.set $6 + loop $for-loop|00 + local.get $0 + local.get $6 + i32.lt_s + if + local.get $0 + local.get $3 + i32.add + local.get $5 + local.get $0 + i32.const 3 + i32.shl + i32.add + f64.load + local.tee $8 + local.get $8 + f64.sub + f64.const 0 + f64.eq + if (result i32) + local.get $8 + i32.trunc_f64_s + else + i32.const 0 + end + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|00 + end + end + i32.const 10 + i32.const 0 + i32.const 15 + i32.const 9296 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + local.get $1 + local.get $2 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> + local.get $1 + local.get $4 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + i32.const 9104 + i32.store offset=16 + local.get $1 + call $~lib/typedarray/Int8Array#set<~lib/array/Array> + i32.const 10 + i32.const 0 + i32.const 15 + i32.const 9328 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 + local.get $1 + local.get $2 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -24575,87 +29430,84 @@ i32.const 0 i32.store local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - local.tee $2 - local.set $5 - local.get $2 - i32.const 3 - i32.and + i32.load offset=8 + local.tee $4 + local.get $1 + i32.load offset=12 + i32.ne if - i32.const 1056 - i32.const 1632 - i32.const 1831 - i32.const 9 + i32.const 0 + i32.const 1568 + i32.const 735 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - local.get $0 - i32.store - local.get $2 - local.get $0 - call $~lib/rt/itcms/__link - local.get $2 - local.get $5 - i32.store offset=8 - local.get $2 - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - local.get $3 + loop $for-loop|0 + local.get $2 + local.get $4 i32.lt_s if + local.get $2 local.get $1 - local.get $0 - call $~lib/typedarray/Uint32Array#__get + i32.load offset=4 + i32.add + i32.load8_u + local.tee $3 + local.set $5 + local.get $3 local.get $2 local.get $0 - call $~lib/typedarray/Uint32Array#__get + i32.load offset=4 + i32.add + i32.load8_u + local.tee $3 i32.ne if + global.get $~lib/memory/__stack_pointer + i32.const 9392 + i32.store + i32.const 9392 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $3 + f64.convert_i32_u + local.get $5 + f64.convert_i32_u + f64.const 0 + f64.const 0 + call $~lib/builtins/trace i32.const 0 i32.const 1568 - i32.const 707 - i32.const 5 + i32.const 741 + i32.const 7 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 i32.const 1 i32.add - local.set $0 - br $for-loop|1 + local.set $2 + br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 f32) + (local $8 f64) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -24671,60 +29523,277 @@ i32.const 0 i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 8768 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $3 i32.store + local.get $3 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - i32.const 8780 - i32.load - local.tee $3 - call $~lib/typedarray/Int64Array#constructor - local.tee $1 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $2 i32.store offset=4 - loop $for-loop|0 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $1 - local.get $0 - i32.const 8768 - local.get $0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end + local.get $2 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load - local.tee $0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $4 i32.store offset=8 + local.get $4 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - local.get $1 - i32.load offset=8 + i32.const 10 + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8848 + i32.store offset=16 local.get $1 - i32.load offset=4 + call $~lib/typedarray/Int8Array#set<~lib/array/Array> + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 9360 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 local.get $1 - i32.load - i32.sub - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $0 - i32.store offset=12 - i32.const 1 - global.set $~argumentsLength + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> global.get $~lib/memory/__stack_pointer + i32.const 8928 + i32.store offset=16 + i32.const 0 + local.set $0 + block $folding-inner0 + local.get $1 + i32.load offset=8 + i32.const 8940 + i32.load + i32.const 3 + i32.add + i32.lt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 3 + i32.add + local.set $5 + i32.const 8932 + i32.load + local.set $6 + i32.const 8940 + i32.load + local.set $9 + loop $for-loop|0 + local.get $0 + local.get $9 + i32.lt_s + if + local.get $0 + local.get $5 + i32.add + local.get $6 + local.get $0 + i32.const 2 + i32.shl + i32.add + f32.load + local.tee $7 + local.get $7 + f32.sub + f32.const 0 + f32.eq + if (result i32) + local.get $7 + i32.trunc_f32_u + else + i32.const 0 + end + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 9440 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + local.get $1 + local.get $3 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 9472 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + global.get $~lib/memory/__stack_pointer + i32.const 9024 + i32.store offset=16 + i32.const 0 + local.set $0 + local.get $1 + i32.load offset=8 + i32.const 9036 + i32.load + i32.const 2 + i32.add + i32.lt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 2 + i32.add + local.set $3 + i32.const 9028 + i32.load + local.set $5 + i32.const 9036 + i32.load + local.set $6 + loop $for-loop|00 + local.get $0 + local.get $6 + i32.lt_s + if + local.get $0 + local.get $3 + i32.add + local.get $5 + local.get $0 + i32.const 3 + i32.shl + i32.add + f64.load + local.tee $8 + local.get $8 + f64.sub + f64.const 0 + f64.eq + if (result i32) + local.get $8 + i32.trunc_f64_u + else + i32.const 0 + end + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|00 + end + end + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 9504 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + local.get $1 + local.get $2 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> + local.get $1 + local.get $4 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + i32.const 9104 + i32.store offset=16 + local.get $1 + call $~lib/typedarray/Int8Array#set<~lib/array/Array> + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 9536 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 + local.get $1 + local.get $2 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -24734,87 +29803,85 @@ i32.const 0 i32.store local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - local.tee $2 - local.set $5 - local.get $2 - i32.const 7 - i32.and + i32.load offset=8 + local.tee $4 + local.get $1 + i32.load offset=12 + i32.ne if - i32.const 1056 - i32.const 1632 - i32.const 1831 - i32.const 9 + i32.const 0 + i32.const 1568 + i32.const 735 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - local.get $0 - i32.store - local.get $2 - local.get $0 - call $~lib/rt/itcms/__link - local.get $2 - local.get $5 - i32.store offset=8 - local.get $2 - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - local.get $3 + loop $for-loop|0 + local.get $2 + local.get $4 i32.lt_s if + local.get $2 local.get $1 - local.get $0 - call $~lib/typedarray/Int64Array#__get + i32.load offset=4 + i32.add + i32.load8_u + local.tee $3 + local.set $5 + local.get $3 local.get $2 local.get $0 - call $~lib/typedarray/Int64Array#__get - i64.ne + i32.load offset=4 + i32.add + i32.load8_u + local.tee $3 + i32.ne if + global.get $~lib/memory/__stack_pointer + i32.const 9600 + i32.store + i32.const 9600 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $3 + f64.convert_i32_u + local.get $5 + f64.convert_i32_u + f64.const 0 + f64.const 0 + call $~lib/builtins/trace i32.const 0 i32.const 1568 - i32.const 707 - i32.const 5 + i32.const 741 + i32.const 7 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 i32.const 1 i32.add - local.set $0 - br $for-loop|1 + local.set $2 + br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 f32) + (local $10 f64) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -24830,60 +29897,397 @@ i32.const 0 i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 8768 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $3 i32.store + local.get $3 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - i32.const 8780 - i32.load - local.tee $3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $1 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $2 i32.store offset=4 - loop $for-loop|0 + local.get $2 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $4 + i32.store offset=8 + local.get $4 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 10 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8848 + i32.store offset=16 + block $folding-inner0 + i32.const 8860 + i32.load + local.get $1 + i32.load offset=8 + i32.gt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + local.set $6 + i32.const 8852 + i32.load + local.set $7 + i32.const 8860 + i32.load + local.set $8 + loop $for-loop|0 + local.get $0 + local.get $8 + i32.lt_s + if + local.get $0 + local.get $6 + i32.add + local.get $7 + local.get $0 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $5 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + local.get $5 + i32.const 255 + local.get $5 + i32.sub + i32.const 31 + i32.shr_s + i32.or + i32.and + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 9568 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $3 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + global.get $~lib/memory/__stack_pointer + i32.const 8928 + i32.store offset=16 + i32.const 0 + local.set $0 + local.get $1 + i32.load offset=8 + i32.const 8940 + i32.load + i32.const 3 + i32.add i32.lt_s - if - local.get $1 - local.get $0 - i32.const 8768 + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 3 + i32.add + local.set $6 + i32.const 8932 + i32.load + local.set $7 + i32.const 8940 + i32.load + local.set $8 + loop $for-loop|00 local.get $0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set + local.get $8 + i32.lt_s + if + local.get $0 + local.get $6 + i32.add + local.get $7 + local.get $0 + i32.const 2 + i32.shl + i32.add + f32.load + local.tee $9 + local.get $9 + f32.sub + f32.const 0 + f32.eq + if (result i32) + f32.const 0 + f32.const 255 + local.get $9 + f32.min + f32.max + i32.trunc_f32_u + else + i32.const 0 + end + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|00 + end + end + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 9664 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + local.get $1 + local.get $3 + i32.const 6 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 9696 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + global.get $~lib/memory/__stack_pointer + i32.const 9024 + i32.store offset=16 + i32.const 0 + local.set $0 + local.get $1 + i32.load offset=8 + i32.const 9036 + i32.load + i32.const 2 + i32.add + i32.lt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 2 + i32.add + local.set $5 + i32.const 9028 + i32.load + local.set $6 + i32.const 9036 + i32.load + local.set $7 + loop $for-loop|01 local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 + local.get $7 + i32.lt_s + if + local.get $0 + local.get $5 + i32.add + local.get $6 + local.get $0 + i32.const 3 + i32.shl + i32.add + f64.load + local.tee $10 + local.get $10 + f64.sub + f64.const 0 + f64.eq + if (result i32) + f64.const 0 + f64.const 255 + local.get $10 + f64.min + f64.max + i32.trunc_f64_u + else + i32.const 0 + end + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|01 + end + end + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 9728 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + local.get $2 + i32.load offset=8 + local.get $1 + i32.load offset=8 + i32.gt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + call $~lib/memory/memory.copy + local.get $1 + local.get $4 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + i32.const 9104 + i32.store offset=16 + i32.const 0 + local.set $2 + local.get $1 + i32.load offset=8 + i32.const 9116 + i32.load + i32.const 7 + i32.add + i32.lt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 7 + i32.add + local.set $3 + i32.const 9108 + i32.load + local.set $4 + i32.const 9116 + i32.load + local.set $5 + loop $for-loop|02 + local.get $2 + local.get $5 + i32.lt_s + if + local.get $2 + local.get $3 + i32.add + local.get $2 + local.get $4 + i32.add + i32.load8_s + local.tee $0 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + local.get $0 + i32.const 255 + local.get $0 + i32.sub + i32.const 31 + i32.shr_s + i32.or + i32.and + i32.store8 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|02 + end end + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 9760 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 + local.get $1 + local.get $2 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + return end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load - local.tee $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - local.get $1 - i32.load offset=8 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $0 - i32.store offset=12 - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -24893,87 +30297,80 @@ i32.const 0 i32.store local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - local.tee $2 - local.set $5 - local.get $2 - i32.const 7 - i32.and + i32.load offset=8 + i32.const 1 + i32.shr_u + local.tee $3 + local.get $1 + i32.load offset=12 + i32.ne if - i32.const 1056 - i32.const 1632 - i32.const 1831 - i32.const 9 + i32.const 0 + i32.const 1568 + i32.const 735 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - local.get $0 - i32.store - local.get $2 - local.get $0 - call $~lib/rt/itcms/__link - local.get $2 - local.get $5 - i32.store offset=8 - local.get $2 - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 + loop $for-loop|0 + local.get $2 local.get $3 i32.lt_s if - local.get $1 local.get $0 - call $~lib/typedarray/Uint64Array#__get local.get $2 - local.get $0 - call $~lib/typedarray/Uint64Array#__get - i64.ne + call $~lib/typedarray/Int16Array#__uget + local.tee $4 + local.get $1 + local.get $2 + call $~lib/typedarray/Int16Array#__uget + local.tee $5 + i32.ne if + global.get $~lib/memory/__stack_pointer + i32.const 9840 + i32.store + i32.const 9840 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $4 + f64.convert_i32_s + local.get $5 + f64.convert_i32_s + f64.const 0 + f64.const 0 + call $~lib/builtins/trace i32.const 0 i32.const 1568 - i32.const 707 - i32.const 5 + i32.const 741 + i32.const 7 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 i32.const 1 i32.add - local.set $0 - br $for-loop|1 + local.set $2 + br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int16Array> (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 f32) + (local $8 f64) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -24989,60 +30386,285 @@ i32.const 0 i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 8768 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $3 i32.store + local.get $3 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - i32.const 8780 - i32.load - local.tee $3 - call $~lib/typedarray/Float32Array#constructor - local.tee $1 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $2 i32.store offset=4 - loop $for-loop|0 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $1 - local.get $0 - i32.const 8768 - local.get $0 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end + local.get $2 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load - local.tee $0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $4 i32.store offset=8 + local.get $4 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - local.get $1 - i32.load offset=8 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $0 + i32.const 10 + call $~lib/typedarray/Int16Array#constructor + local.tee $1 i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8848 + i32.store offset=16 + local.get $1 + call $~lib/typedarray/Int16Array#set<~lib/array/Array> + i32.const 10 i32.const 1 - global.set $~argumentsLength + i32.const 64 + i32.const 9792 + call $~lib/rt/__newArray + local.set $0 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + i32.const 8928 + i32.store offset=16 + i32.const 0 + local.set $0 + block $folding-inner0 + i32.const 8940 + i32.load + i32.const 3 + i32.add + local.get $1 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 6 + i32.add + local.set $5 + i32.const 8932 + i32.load + local.set $6 + i32.const 8940 + i32.load + local.set $9 + loop $for-loop|0 + local.get $0 + local.get $9 + i32.lt_s + if + local.get $5 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $6 + local.get $0 + i32.const 2 + i32.shl + i32.add + f32.load + local.tee $7 + local.get $7 + f32.sub + f32.const 0 + f32.eq + if (result i32) + local.get $7 + i32.trunc_f32_s + else + i32.const 0 + end + i32.store16 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + i32.const 10 + i32.const 1 + i32.const 64 + i32.const 9888 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + local.get $1 + local.get $3 + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> + i32.const 10 + i32.const 1 + i32.const 64 + i32.const 9936 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + i32.const 9024 + i32.store offset=16 + i32.const 0 + local.set $0 + i32.const 9036 + i32.load + i32.const 2 + i32.add + local.get $1 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 4 + i32.add + local.set $3 + i32.const 9028 + i32.load + local.set $5 + i32.const 9036 + i32.load + local.set $6 + loop $for-loop|00 + local.get $0 + local.get $6 + i32.lt_s + if + local.get $3 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $5 + local.get $0 + i32.const 3 + i32.shl + i32.add + f64.load + local.tee $8 + local.get $8 + f64.sub + f64.const 0 + f64.eq + if (result i32) + local.get $8 + i32.trunc_f64_s + else + i32.const 0 + end + i32.store16 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|00 + end + end + i32.const 10 + i32.const 1 + i32.const 64 + i32.const 9984 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + local.get $1 + local.get $2 + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> + local.get $1 + local.get $4 + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + i32.const 9104 + i32.store offset=16 + local.get $1 + call $~lib/typedarray/Int16Array#set<~lib/array/Array> + i32.const 10 + i32.const 1 + i32.const 64 + i32.const 10032 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 + local.get $1 + local.get $2 + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -25052,87 +30674,80 @@ i32.const 0 i32.store local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - local.tee $2 - local.set $5 - local.get $2 - i32.const 3 - i32.and + i32.load offset=8 + i32.const 1 + i32.shr_u + local.tee $3 + local.get $1 + i32.load offset=12 + i32.ne if - i32.const 1056 - i32.const 1632 - i32.const 1831 - i32.const 9 + i32.const 0 + i32.const 1568 + i32.const 735 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - local.get $0 - i32.store - local.get $2 - local.get $0 - call $~lib/rt/itcms/__link - local.get $2 - local.get $5 - i32.store offset=8 - local.get $2 - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 + loop $for-loop|0 + local.get $2 local.get $3 i32.lt_s if - local.get $1 local.get $0 - call $~lib/typedarray/Float32Array#__get local.get $2 - local.get $0 - call $~lib/typedarray/Float32Array#__get - f32.ne + call $~lib/typedarray/Uint16Array#__uget + local.tee $4 + local.get $1 + local.get $2 + call $~lib/typedarray/Uint16Array#__uget + local.tee $5 + i32.ne if + global.get $~lib/memory/__stack_pointer + i32.const 10128 + i32.store + i32.const 10128 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $4 + f64.convert_i32_u + local.get $5 + f64.convert_i32_u + f64.const 0 + f64.const 0 + call $~lib/builtins/trace i32.const 0 i32.const 1568 - i32.const 707 - i32.const 5 + i32.const 741 + i32.const 7 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 i32.const 1 i32.add - local.set $0 - br $for-loop|1 + local.set $2 + br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint16Array> (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 f32) + (local $8 f64) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -25148,144 +30763,281 @@ i32.const 0 i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 8768 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8780 - i32.load + i32.const 3 + call $~lib/typedarray/Int64Array#constructor local.tee $3 - call $~lib/typedarray/Float64Array#constructor - local.tee $1 - i32.store offset=4 - loop $for-loop|0 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $1 - local.get $0 - i32.const 8768 - local.get $0 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load - local.tee $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - local.get $1 - i32.load offset=8 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $0 - i32.store offset=12 - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - local.tee $2 - local.set $5 - local.get $2 - i32.const 7 - i32.and - if - i32.const 1056 - i32.const 1632 - i32.const 1831 - i32.const 9 - call $~lib/builtins/abort - unreachable - end + local.get $3 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor local.tee $2 - i32.store + i32.store offset=4 local.get $2 - local.get $0 - i32.store + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set local.get $2 - local.get $0 - call $~lib/rt/itcms/__link + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set local.get $2 - local.get $5 - i32.store offset=8 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set local.get $2 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $4 + i32.store offset=8 + local.get $4 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 10 + call $~lib/typedarray/Uint16Array#constructor + local.tee $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8848 + i32.store offset=16 + local.get $1 + call $~lib/typedarray/Int16Array#set<~lib/array/Array> + i32.const 10 + i32.const 1 + i32.const 65 + i32.const 10080 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 + i32.const 8928 i32.store offset=16 i32.const 0 local.set $0 - loop $for-loop|1 + block $folding-inner0 + i32.const 8940 + i32.load + i32.const 3 + i32.add + local.get $1 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 6 + i32.add + local.set $5 + i32.const 8932 + i32.load + local.set $6 + i32.const 8940 + i32.load + local.set $9 + loop $for-loop|0 + local.get $0 + local.get $9 + i32.lt_s + if + local.get $5 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $6 + local.get $0 + i32.const 2 + i32.shl + i32.add + f32.load + local.tee $7 + local.get $7 + f32.sub + f32.const 0 + f32.eq + if (result i32) + local.get $7 + i32.trunc_f32_u + else + i32.const 0 + end + i32.store16 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + i32.const 10 + i32.const 1 + i32.const 65 + i32.const 10176 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + local.get $1 local.get $3 - i32.lt_s - if - local.get $1 - local.get $0 - call $~lib/typedarray/Float64Array#__get - local.get $2 + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> + i32.const 10 + i32.const 1 + i32.const 65 + i32.const 10224 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + global.get $~lib/memory/__stack_pointer + i32.const 9024 + i32.store offset=16 + i32.const 0 + local.set $0 + i32.const 9036 + i32.load + i32.const 2 + i32.add + local.get $1 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 4 + i32.add + local.set $3 + i32.const 9028 + i32.load + local.set $5 + i32.const 9036 + i32.load + local.set $6 + loop $for-loop|00 local.get $0 - call $~lib/typedarray/Float64Array#__get - f64.ne + local.get $6 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $3 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $5 + local.get $0 + i32.const 3 + i32.shl + i32.add + f64.load + local.tee $8 + local.get $8 + f64.sub + f64.const 0 + f64.eq + if (result i32) + local.get $8 + i32.trunc_f64_u + else + i32.const 0 + end + i32.store16 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|00 end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1 end + i32.const 10 + i32.const 1 + i32.const 65 + i32.const 10272 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + local.get $1 + local.get $2 + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> + local.get $1 + local.get $4 + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + i32.const 9104 + i32.store offset=16 + local.get $1 + call $~lib/typedarray/Int16Array#set<~lib/array/Array> + i32.const 10 + i32.const 1 + i32.const 65 + i32.const 10320 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 + local.get $1 + local.get $2 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + return end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -25300,6 +31052,8 @@ i32.store local.get $0 i32.load offset=8 + i32.const 2 + i32.shr_u local.tee $3 local.get $1 i32.load offset=12 @@ -25317,24 +31071,20 @@ local.get $3 i32.lt_s if - local.get $2 local.get $0 - i32.load offset=4 - i32.add - i32.load8_s - local.tee $4 local.get $2 + call $~lib/typedarray/Int32Array#__uget + local.tee $4 local.get $1 - i32.load offset=4 - i32.add - i32.load8_s + local.get $2 + call $~lib/typedarray/Int32Array#__uget local.tee $5 i32.ne if global.get $~lib/memory/__stack_pointer - i32.const 9184 + i32.const 10432 i32.store - i32.const 9184 + i32.const 10432 i32.const 3 local.get $2 f64.convert_i32_s @@ -25364,7 +31114,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int32Array> (local $0 i32) (local $1 i32) (local $2 i32) @@ -25372,9 +31122,10 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 f32) - (local $8 f64) - (local $9 i32) + (local $7 i32) + (local $8 f32) + (local $9 f64) + (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -25392,38 +31143,38 @@ global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $0 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $0 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $2 + local.tee $3 i32.store offset=4 - local.get $2 + local.get $3 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $3 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $3 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $3 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -25446,43 +31197,45 @@ call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 - call $~lib/typedarray/Int8Array#constructor + call $~lib/typedarray/Int32Array#constructor local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8848 i32.store offset=16 local.get $1 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> + call $~lib/typedarray/Int32Array#set<~lib/array/Array> i32.const 10 - i32.const 0 - i32.const 15 - i32.const 9152 + i32.const 2 + i32.const 16 + i32.const 10368 call $~lib/rt/__newArray - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=16 local.get $1 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + local.get $2 + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> global.get $~lib/memory/__stack_pointer i32.const 8928 i32.store offset=16 i32.const 0 - local.set $0 + local.set $2 block $folding-inner0 - local.get $1 - i32.load offset=8 i32.const 8940 i32.load i32.const 3 i32.add - i32.lt_s + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s br_if $folding-inner0 local.get $1 i32.load offset=4 - i32.const 3 + i32.const 12 i32.add local.set $5 i32.const 8932 @@ -25490,59 +31243,60 @@ local.set $6 i32.const 8940 i32.load - local.set $9 + local.set $10 loop $for-loop|0 - local.get $0 - local.get $9 + local.get $2 + local.get $10 i32.lt_s if - local.get $0 local.get $5 - i32.add - local.get $6 - local.get $0 + local.get $2 i32.const 2 i32.shl - i32.add - f32.load local.tee $7 + i32.add + local.get $6 local.get $7 + i32.add + f32.load + local.tee $8 + local.get $8 f32.sub f32.const 0 f32.eq if (result i32) - local.get $7 + local.get $8 i32.trunc_f32_s else i32.const 0 end - i32.store8 - local.get $0 + i32.store + local.get $2 i32.const 1 i32.add - local.set $0 + local.set $2 br $for-loop|0 end end i32.const 10 - i32.const 0 - i32.const 15 - i32.const 9232 + i32.const 2 + i32.const 16 + i32.const 10480 call $~lib/rt/__newArray - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=16 local.get $1 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + local.get $2 + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> local.get $1 - local.get $3 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> + local.get $0 + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> i32.const 10 - i32.const 0 - i32.const 15 - i32.const 9264 + i32.const 2 + i32.const 16 + i32.const 10544 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -25550,25 +31304,27 @@ i32.store offset=16 local.get $1 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> global.get $~lib/memory/__stack_pointer i32.const 9024 i32.store offset=16 i32.const 0 local.set $0 - local.get $1 - i32.load offset=8 i32.const 9036 i32.load i32.const 2 i32.add - i32.lt_s + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s br_if $folding-inner0 local.get $1 i32.load offset=4 - i32.const 2 + i32.const 8 i32.add - local.set $3 + local.set $7 i32.const 9028 i32.load local.set $5 @@ -25580,8 +31336,10 @@ local.get $6 i32.lt_s if + local.get $7 local.get $0 - local.get $3 + i32.const 2 + i32.shl i32.add local.get $5 local.get $0 @@ -25589,18 +31347,18 @@ i32.shl i32.add f64.load - local.tee $8 - local.get $8 + local.tee $9 + local.get $9 f64.sub f64.const 0 f64.eq if (result i32) - local.get $8 + local.get $9 i32.trunc_f64_s else i32.const 0 end - i32.store8 + i32.store local.get $0 i32.const 1 i32.add @@ -25609,9 +31367,9 @@ end end i32.const 10 - i32.const 0 - i32.const 15 - i32.const 9296 + i32.const 2 + i32.const 16 + i32.const 10608 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -25619,30 +31377,30 @@ i32.store offset=16 local.get $1 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> local.get $1 - local.get $2 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> + local.get $3 + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> local.get $1 local.get $4 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer i32.const 9104 i32.store offset=16 local.get $1 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> + call $~lib/typedarray/Int32Array#set<~lib/array/Array> i32.const 10 - i32.const 0 - i32.const 15 - i32.const 9328 + i32.const 2 + i32.const 16 + i32.const 10672 call $~lib/rt/__newArray - local.set $2 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store offset=16 local.get $1 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + local.get $3 + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> global.get $~lib/memory/__stack_pointer i32.const 20 i32.add @@ -25656,7 +31414,7 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -25671,7 +31429,9 @@ i32.store local.get $0 i32.load offset=8 - local.tee $4 + i32.const 2 + i32.shr_u + local.tee $3 local.get $1 i32.load offset=12 i32.ne @@ -25685,33 +31445,27 @@ end loop $for-loop|0 local.get $2 - local.get $4 + local.get $3 i32.lt_s if + local.get $0 local.get $2 + call $~lib/typedarray/Uint32Array#__uget + local.tee $4 local.get $1 - i32.load offset=4 - i32.add - i32.load8_u - local.tee $3 - local.set $5 - local.get $3 local.get $2 - local.get $0 - i32.load offset=4 - i32.add - i32.load8_u - local.tee $3 + call $~lib/typedarray/Uint32Array#__uget + local.tee $5 i32.ne if global.get $~lib/memory/__stack_pointer - i32.const 9392 + i32.const 10800 i32.store - i32.const 9392 + i32.const 10800 i32.const 3 local.get $2 f64.convert_i32_s - local.get $3 + local.get $4 f64.convert_i32_u local.get $5 f64.convert_i32_u @@ -25737,7 +31491,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint32Array> (local $0 i32) (local $1 i32) (local $2 i32) @@ -25745,9 +31499,10 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 f32) - (local $8 f64) - (local $9 i32) + (local $7 i32) + (local $8 f32) + (local $9 f64) + (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -25765,38 +31520,38 @@ global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $3 + local.tee $0 i32.store - local.get $3 + local.get $0 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $0 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $0 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $2 + local.tee $3 i32.store offset=4 - local.get $2 + local.get $3 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $3 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $3 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $3 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -25819,43 +31574,45 @@ call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 - call $~lib/typedarray/Uint8Array#constructor + call $~lib/typedarray/Uint32Array#constructor local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8848 i32.store offset=16 local.get $1 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> + call $~lib/typedarray/Int32Array#set<~lib/array/Array> i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9360 + i32.const 2 + i32.const 66 + i32.const 10736 call $~lib/rt/__newArray - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=16 local.get $1 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + local.get $2 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> global.get $~lib/memory/__stack_pointer i32.const 8928 i32.store offset=16 i32.const 0 - local.set $0 + local.set $2 block $folding-inner0 - local.get $1 - i32.load offset=8 i32.const 8940 i32.load i32.const 3 i32.add - i32.lt_s + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s br_if $folding-inner0 local.get $1 i32.load offset=4 - i32.const 3 + i32.const 12 i32.add local.set $5 i32.const 8932 @@ -25863,59 +31620,60 @@ local.set $6 i32.const 8940 i32.load - local.set $9 + local.set $10 loop $for-loop|0 - local.get $0 - local.get $9 + local.get $2 + local.get $10 i32.lt_s if - local.get $0 local.get $5 - i32.add - local.get $6 - local.get $0 + local.get $2 i32.const 2 i32.shl - i32.add - f32.load local.tee $7 + i32.add + local.get $6 local.get $7 + i32.add + f32.load + local.tee $8 + local.get $8 f32.sub f32.const 0 f32.eq if (result i32) - local.get $7 + local.get $8 i32.trunc_f32_u else i32.const 0 end - i32.store8 - local.get $0 + i32.store + local.get $2 i32.const 1 i32.add - local.set $0 + local.set $2 br $for-loop|0 end end i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9440 + i32.const 2 + i32.const 66 + i32.const 10848 call $~lib/rt/__newArray - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=16 local.get $1 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + local.get $2 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> local.get $1 - local.get $3 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> + local.get $0 + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9472 + i32.const 2 + i32.const 66 + i32.const 10912 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -25923,25 +31681,27 @@ i32.store offset=16 local.get $1 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> global.get $~lib/memory/__stack_pointer i32.const 9024 i32.store offset=16 i32.const 0 local.set $0 - local.get $1 - i32.load offset=8 i32.const 9036 i32.load i32.const 2 i32.add - i32.lt_s + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s br_if $folding-inner0 local.get $1 i32.load offset=4 - i32.const 2 + i32.const 8 i32.add - local.set $3 + local.set $7 i32.const 9028 i32.load local.set $5 @@ -25953,8 +31713,10 @@ local.get $6 i32.lt_s if + local.get $7 local.get $0 - local.get $3 + i32.const 2 + i32.shl i32.add local.get $5 local.get $0 @@ -25962,18 +31724,18 @@ i32.shl i32.add f64.load - local.tee $8 - local.get $8 + local.tee $9 + local.get $9 f64.sub f64.const 0 f64.eq if (result i32) - local.get $8 + local.get $9 i32.trunc_f64_u else i32.const 0 end - i32.store8 + i32.store local.get $0 i32.const 1 i32.add @@ -25982,9 +31744,9 @@ end end i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9504 + i32.const 2 + i32.const 66 + i32.const 10976 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -25992,30 +31754,30 @@ i32.store offset=16 local.get $1 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> local.get $1 - local.get $2 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> + local.get $3 + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> local.get $1 local.get $4 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer i32.const 9104 i32.store offset=16 local.get $1 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> + call $~lib/typedarray/Int32Array#set<~lib/array/Array> i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9536 + i32.const 2 + i32.const 66 + i32.const 11040 call $~lib/rt/__newArray - local.set $2 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store offset=16 local.get $1 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + local.get $3 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> global.get $~lib/memory/__stack_pointer i32.const 20 i32.add @@ -26029,11 +31791,11 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) + (local $4 i64) + (local $5 i64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -26044,7 +31806,9 @@ i32.store local.get $0 i32.load offset=8 - local.tee $4 + i32.const 3 + i32.shr_u + local.tee $3 local.get $1 i32.load offset=12 i32.ne @@ -26058,36 +31822,30 @@ end loop $for-loop|0 local.get $2 - local.get $4 + local.get $3 i32.lt_s if + local.get $0 local.get $2 + call $~lib/typedarray/Int64Array#__uget + local.tee $4 local.get $1 - i32.load offset=4 - i32.add - i32.load8_u - local.tee $3 - local.set $5 - local.get $3 local.get $2 - local.get $0 - i32.load offset=4 - i32.add - i32.load8_u - local.tee $3 - i32.ne + call $~lib/typedarray/Int64Array#__uget + local.tee $5 + i64.ne if global.get $~lib/memory/__stack_pointer - i32.const 9600 + i32.const 11216 i32.store - i32.const 9600 + i32.const 11216 i32.const 3 local.get $2 f64.convert_i32_s - local.get $3 - f64.convert_i32_u + local.get $4 + f64.convert_i64_s local.get $5 - f64.convert_i32_u + f64.convert_i64_s f64.const 0 f64.const 0 call $~lib/builtins/trace @@ -26110,7 +31868,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int64Array> (local $0 i32) (local $1 i32) (local $2 i32) @@ -26119,9 +31877,8 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 f32) - (local $10 f64) + (local $8 f32) + (local $9 f64) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -26193,140 +31950,92 @@ call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 - call $~lib/typedarray/Uint8ClampedArray#constructor + call $~lib/typedarray/Int64Array#constructor local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8848 i32.store offset=16 + local.get $1 + call $~lib/typedarray/Int64Array#set<~lib/array/Array> + i32.const 10 + i32.const 3 + i32.const 67 + i32.const 11104 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> + global.get $~lib/memory/__stack_pointer + i32.const 8928 + i32.store offset=16 + i32.const 0 + local.set $0 block $folding-inner0 - i32.const 8860 + i32.const 8940 i32.load + i32.const 3 + i32.add local.get $1 i32.load offset=8 + i32.const 3 + i32.shr_u i32.gt_s br_if $folding-inner0 local.get $1 i32.load offset=4 + i32.const 24 + i32.add + local.set $5 + i32.const 8932 + i32.load local.set $6 - i32.const 8852 + i32.const 8940 i32.load local.set $7 - i32.const 8860 - i32.load - local.set $8 loop $for-loop|0 local.get $0 - local.get $8 + local.get $7 i32.lt_s if - local.get $0 - local.get $6 - i32.add - local.get $7 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $5 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor local.get $5 - i32.const 255 - local.get $5 - i32.sub - i32.const 31 - i32.shr_s - i32.or - i32.and - i32.store8 local.get $0 - i32.const 1 + i32.const 3 + i32.shl i32.add - local.set $0 - br $for-loop|0 - end - end - i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9568 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 - local.get $1 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=16 - i32.const 0 - local.set $0 - local.get $1 - i32.load offset=8 - i32.const 8940 - i32.load - i32.const 3 - i32.add - i32.lt_s - br_if $folding-inner0 - local.get $1 - i32.load offset=4 - i32.const 3 - i32.add - local.set $6 - i32.const 8932 - i32.load - local.set $7 - i32.const 8940 - i32.load - local.set $8 - loop $for-loop|00 - local.get $0 - local.get $8 - i32.lt_s - if - local.get $0 local.get $6 - i32.add - local.get $7 local.get $0 i32.const 2 i32.shl i32.add f32.load - local.tee $9 - local.get $9 + local.tee $8 + local.get $8 f32.sub f32.const 0 f32.eq - if (result i32) - f32.const 0 - f32.const 255 - local.get $9 - f32.min - f32.max - i32.trunc_f32_u + if (result i64) + local.get $8 + i64.trunc_f32_s else - i32.const 0 + i64.const 0 end - i32.store8 + i64.store local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|00 + br $for-loop|0 end end i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9664 + i32.const 3 + i32.const 67 + i32.const 11264 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -26334,15 +32043,14 @@ i32.store offset=16 local.get $1 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> local.get $1 local.get $3 - i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9696 + i32.const 3 + i32.const 67 + i32.const 11376 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -26350,72 +32058,71 @@ i32.store offset=16 local.get $1 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> global.get $~lib/memory/__stack_pointer i32.const 9024 i32.store offset=16 i32.const 0 local.set $0 - local.get $1 - i32.load offset=8 i32.const 9036 i32.load i32.const 2 i32.add - i32.lt_s + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s br_if $folding-inner0 local.get $1 i32.load offset=4 - i32.const 2 + i32.const 16 i32.add - local.set $5 + local.set $3 i32.const 9028 i32.load - local.set $6 + local.set $5 i32.const 9036 i32.load - local.set $7 - loop $for-loop|01 + local.set $6 + loop $for-loop|00 local.get $0 - local.get $7 + local.get $6 i32.lt_s if - local.get $0 - local.get $5 - i32.add - local.get $6 + local.get $3 local.get $0 i32.const 3 i32.shl + local.tee $7 + i32.add + local.get $5 + local.get $7 i32.add f64.load - local.tee $10 - local.get $10 + local.tee $9 + local.get $9 f64.sub f64.const 0 f64.eq - if (result i32) - f64.const 0 - f64.const 255 - local.get $10 - f64.min - f64.max - i32.trunc_f64_u + if (result i64) + local.get $9 + i64.trunc_f64_s else - i32.const 0 + i64.const 0 end - i32.store8 + i64.store local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|01 + br $for-loop|00 end end i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9728 + i32.const 3 + i32.const 67 + i32.const 11488 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -26423,85 +32130,22 @@ i32.store offset=16 local.get $1 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - local.get $2 - i32.load offset=8 - local.get $1 - i32.load offset=8 - i32.gt_s - br_if $folding-inner0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> local.get $1 - i32.load offset=4 - local.get $2 - i32.load offset=4 local.get $2 - i32.load offset=8 - call $~lib/memory/memory.copy + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> local.get $1 local.get $4 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer i32.const 9104 i32.store offset=16 - i32.const 0 - local.set $2 - local.get $1 - i32.load offset=8 - i32.const 9116 - i32.load - i32.const 7 - i32.add - i32.lt_s - br_if $folding-inner0 local.get $1 - i32.load offset=4 - i32.const 7 - i32.add - local.set $3 - i32.const 9108 - i32.load - local.set $4 - i32.const 9116 - i32.load - local.set $5 - loop $for-loop|02 - local.get $2 - local.get $5 - i32.lt_s - if - local.get $2 - local.get $3 - i32.add - local.get $2 - local.get $4 - i32.add - i32.load8_s - local.tee $0 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - local.get $0 - i32.const 255 - local.get $0 - i32.sub - i32.const 31 - i32.shr_s - i32.or - i32.and - i32.store8 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|02 - end - end + call $~lib/typedarray/Int64Array#set<~lib/array/Array> i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9760 + i32.const 3 + i32.const 67 + i32.const 11600 call $~lib/rt/__newArray local.set $2 global.get $~lib/memory/__stack_pointer @@ -26509,7 +32153,7 @@ i32.store offset=16 local.get $1 local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> global.get $~lib/memory/__stack_pointer i32.const 20 i32.add @@ -26523,11 +32167,11 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) + (local $4 i64) + (local $5 i64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -26538,7 +32182,7 @@ i32.store local.get $0 i32.load offset=8 - i32.const 1 + i32.const 3 i32.shr_u local.tee $3 local.get $1 @@ -26559,25 +32203,25 @@ if local.get $0 local.get $2 - call $~lib/typedarray/Int16Array#__uget + call $~lib/typedarray/Uint64Array#__uget local.tee $4 local.get $1 local.get $2 - call $~lib/typedarray/Int16Array#__uget + call $~lib/typedarray/Uint64Array#__uget local.tee $5 - i32.ne + i64.ne if global.get $~lib/memory/__stack_pointer - i32.const 9840 + i32.const 11824 i32.store - i32.const 9840 + i32.const 11824 i32.const 3 local.get $2 f64.convert_i32_s local.get $4 - f64.convert_i32_s + f64.convert_i64_u local.get $5 - f64.convert_i32_s + f64.convert_i64_u f64.const 0 f64.const 0 call $~lib/builtins/trace @@ -26600,7 +32244,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int16Array> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint64Array> (local $0 i32) (local $1 i32) (local $2 i32) @@ -26608,9 +32252,9 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 f32) - (local $8 f64) - (local $9 i32) + (local $7 i32) + (local $8 f32) + (local $9 f64) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -26682,18 +32326,18 @@ call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 - call $~lib/typedarray/Int16Array#constructor + call $~lib/typedarray/Uint64Array#constructor local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8848 i32.store offset=16 local.get $1 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> + call $~lib/typedarray/Int64Array#set<~lib/array/Array> i32.const 10 - i32.const 1 - i32.const 64 - i32.const 9792 + i32.const 3 + i32.const 68 + i32.const 11712 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -26701,7 +32345,7 @@ i32.store offset=16 local.get $1 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> global.get $~lib/memory/__stack_pointer i32.const 8928 i32.store offset=16 @@ -26714,13 +32358,13 @@ i32.add local.get $1 i32.load offset=8 - i32.const 1 + i32.const 3 i32.shr_u i32.gt_s br_if $folding-inner0 local.get $1 i32.load offset=4 - i32.const 6 + i32.const 24 i32.add local.set $5 i32.const 8932 @@ -26728,15 +32372,15 @@ local.set $6 i32.const 8940 i32.load - local.set $9 + local.set $7 loop $for-loop|0 local.get $0 - local.get $9 + local.get $7 i32.lt_s if local.get $5 local.get $0 - i32.const 1 + i32.const 3 i32.shl i32.add local.get $6 @@ -26745,18 +32389,18 @@ i32.shl i32.add f32.load - local.tee $7 - local.get $7 + local.tee $8 + local.get $8 f32.sub f32.const 0 f32.eq - if (result i32) - local.get $7 - i32.trunc_f32_s + if (result i64) + local.get $8 + i64.trunc_f32_u else - i32.const 0 + i64.const 0 end - i32.store16 + i64.store local.get $0 i32.const 1 i32.add @@ -26765,9 +32409,9 @@ end end i32.const 10 - i32.const 1 - i32.const 64 - i32.const 9888 + i32.const 3 + i32.const 68 + i32.const 11872 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -26775,14 +32419,14 @@ i32.store offset=16 local.get $1 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> local.get $1 local.get $3 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> i32.const 10 - i32.const 1 - i32.const 64 - i32.const 9936 + i32.const 3 + i32.const 68 + i32.const 11984 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -26790,7 +32434,7 @@ i32.store offset=16 local.get $1 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> global.get $~lib/memory/__stack_pointer i32.const 9024 i32.store offset=16 @@ -26802,13 +32446,13 @@ i32.add local.get $1 i32.load offset=8 - i32.const 1 + i32.const 3 i32.shr_u i32.gt_s br_if $folding-inner0 local.get $1 i32.load offset=4 - i32.const 4 + i32.const 16 i32.add local.set $3 i32.const 9028 @@ -26824,27 +32468,26 @@ if local.get $3 local.get $0 - i32.const 1 + i32.const 3 i32.shl + local.tee $7 i32.add local.get $5 - local.get $0 - i32.const 3 - i32.shl + local.get $7 i32.add f64.load - local.tee $8 - local.get $8 + local.tee $9 + local.get $9 f64.sub f64.const 0 f64.eq - if (result i32) - local.get $8 - i32.trunc_f64_s + if (result i64) + local.get $9 + i64.trunc_f64_u else - i32.const 0 + i64.const 0 end - i32.store16 + i64.store local.get $0 i32.const 1 i32.add @@ -26853,9 +32496,9 @@ end end i32.const 10 - i32.const 1 - i32.const 64 - i32.const 9984 + i32.const 3 + i32.const 68 + i32.const 12096 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -26863,22 +32506,22 @@ i32.store offset=16 local.get $1 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> local.get $1 local.get $2 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> local.get $1 local.get $4 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer i32.const 9104 i32.store offset=16 local.get $1 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> + call $~lib/typedarray/Int64Array#set<~lib/array/Array> i32.const 10 - i32.const 1 - i32.const 64 - i32.const 10032 + i32.const 3 + i32.const 68 + i32.const 12208 call $~lib/rt/__newArray local.set $2 global.get $~lib/memory/__stack_pointer @@ -26886,7 +32529,7 @@ i32.store offset=16 local.get $1 local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> global.get $~lib/memory/__stack_pointer i32.const 20 i32.add @@ -26900,11 +32543,11 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) + (local $4 f32) + (local $5 f32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -26915,7 +32558,7 @@ i32.store local.get $0 i32.load offset=8 - i32.const 1 + i32.const 2 i32.shr_u local.tee $3 local.get $1 @@ -26936,25 +32579,25 @@ if local.get $0 local.get $2 - call $~lib/typedarray/Uint16Array#__uget + call $~lib/typedarray/Float32Array#__uget local.tee $4 local.get $1 local.get $2 - call $~lib/typedarray/Uint16Array#__uget + call $~lib/typedarray/Float32Array#__uget local.tee $5 - i32.ne + f32.ne if global.get $~lib/memory/__stack_pointer - i32.const 10128 + i32.const 12384 i32.store - i32.const 10128 + i32.const 12384 i32.const 3 local.get $2 f64.convert_i32_s local.get $4 - f64.convert_i32_u + f64.promote_f32 local.get $5 - f64.convert_i32_u + f64.promote_f32 f64.const 0 f64.const 0 call $~lib/builtins/trace @@ -26977,7 +32620,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint16Array> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float32Array> (local $0 i32) (local $1 i32) (local $2 i32) @@ -26985,9 +32628,8 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 f32) - (local $8 f64) - (local $9 i32) + (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -27005,38 +32647,38 @@ global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $2 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $2 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $2 + local.tee $0 i32.store offset=4 - local.get $2 + local.get $0 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $0 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $0 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $0 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -27059,211 +32701,319 @@ call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 - call $~lib/typedarray/Uint16Array#constructor - local.tee $1 + call $~lib/typedarray/Float32Array#constructor + local.tee $3 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8848 i32.store offset=16 - local.get $1 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> - i32.const 10 - i32.const 1 - i32.const 65 - i32.const 10080 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 - local.get $1 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=16 - i32.const 0 - local.set $0 block $folding-inner0 - i32.const 8940 + i32.const 8860 i32.load - i32.const 3 - i32.add - local.get $1 + local.get $3 i32.load offset=8 - i32.const 1 + i32.const 2 i32.shr_u i32.gt_s br_if $folding-inner0 - local.get $1 + local.get $3 i32.load offset=4 - i32.const 6 - i32.add local.set $5 - i32.const 8932 + i32.const 8852 i32.load local.set $6 - i32.const 8940 + i32.const 8860 i32.load - local.set $9 + local.set $7 loop $for-loop|0 - local.get $0 - local.get $9 + local.get $1 + local.get $7 i32.lt_s if local.get $5 - local.get $0 - i32.const 1 + local.get $1 + i32.const 2 i32.shl + local.tee $8 i32.add local.get $6 - local.get $0 - i32.const 2 - i32.shl + local.get $8 i32.add - f32.load - local.tee $7 - local.get $7 - f32.sub - f32.const 0 - f32.eq - if (result i32) - local.get $7 - i32.trunc_f32_u - else - i32.const 0 - end - i32.store16 - local.get $0 + i32.load + f32.convert_i32_s + f32.store + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end i32.const 10 - i32.const 1 - i32.const 65 - i32.const 10176 + i32.const 2 + i32.const 61 + i32.const 12320 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 local.get $1 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + i32.store offset=16 + local.get $3 local.get $1 + call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> + global.get $~lib/memory/__stack_pointer + i32.const 8928 + i32.store offset=16 + i32.const 8940 + i32.load + i32.const 3 + i32.add local.get $3 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $3 + i32.load offset=4 + i32.const 12 + i32.add + i32.const 8932 + i32.load + i32.const 8936 + i32.load + call $~lib/memory/memory.copy i32.const 10 - i32.const 1 - i32.const 65 - i32.const 10224 + i32.const 2 + i32.const 61 + i32.const 12432 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 local.get $1 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> - global.get $~lib/memory/__stack_pointer - i32.const 9024 i32.store offset=16 + local.get $3 + local.get $1 + call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> i32.const 0 - local.set $0 - i32.const 9036 - i32.load - i32.const 2 + local.set $1 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 6 i32.add - local.get $1 + local.get $3 i32.load offset=8 - i32.const 1 + i32.const 2 i32.shr_u i32.gt_s br_if $folding-inner0 - local.get $1 + local.get $3 i32.load offset=4 - i32.const 4 + i32.const 24 i32.add - local.set $3 - i32.const 9028 - i32.load local.set $5 - i32.const 9036 - i32.load + local.get $2 + i32.load offset=4 local.set $6 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $2 loop $for-loop|00 - local.get $0 - local.get $6 + local.get $1 + local.get $2 i32.lt_s if - local.get $3 - local.get $0 - i32.const 1 + local.get $5 + local.get $1 + i32.const 2 i32.shl i32.add - local.get $5 - local.get $0 + local.get $6 + local.get $1 i32.const 3 i32.shl i32.add - f64.load - local.tee $8 - local.get $8 - f64.sub - f64.const 0 - f64.eq - if (result i32) - local.get $8 - i32.trunc_f64_u - else - i32.const 0 - end - i32.store16 - local.get $0 + i64.load + f32.convert_i64_s + f32.store + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|00 end end i32.const 10 - i32.const 1 - i32.const 65 - i32.const 10272 + i32.const 2 + i32.const 61 + i32.const 12496 call $~lib/rt/__newArray - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=16 - local.get $1 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> - local.get $1 + local.get $3 local.get $2 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> - local.get $1 + call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> + i32.const 0 + local.set $2 + local.get $0 + i32.load offset=8 + local.get $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $3 + i32.load offset=4 + local.set $1 + local.get $0 + i32.load offset=4 + local.set $5 + local.get $0 + i32.load offset=8 + local.set $0 + loop $for-loop|01 + local.get $0 + local.get $2 + i32.gt_s + if + local.get $1 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.add + i32.load8_u + f32.convert_i32_u + f32.store + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|01 + end + end + i32.const 0 + local.set $0 local.get $4 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.const 4 + i32.add + local.get $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $3 + i32.load offset=4 + i32.const 16 + i32.add + local.set $2 + local.get $4 + i32.load offset=4 + local.set $1 + local.get $4 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.set $4 + loop $for-loop|02 + local.get $0 + local.get $4 + i32.lt_s + if + local.get $2 + local.get $0 + i32.const 2 + i32.shl + i32.add + local.get $1 + local.get $0 + i32.const 1 + i32.shl + i32.add + i32.load16_s + f32.convert_i32_s + f32.store + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|02 + end + end global.get $~lib/memory/__stack_pointer i32.const 9104 i32.store offset=16 - local.get $1 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> + i32.const 0 + local.set $0 + i32.const 9116 + i32.load + i32.const 7 + i32.add + local.get $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $3 + i32.load offset=4 + i32.const 28 + i32.add + local.set $2 + i32.const 9108 + i32.load + local.set $4 + i32.const 9116 + i32.load + local.set $1 + loop $for-loop|03 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $2 + local.get $0 + i32.const 2 + i32.shl + i32.add + local.get $0 + local.get $4 + i32.add + i32.load8_s + f32.convert_i32_s + f32.store + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|03 + end + end i32.const 10 - i32.const 1 - i32.const 65 - i32.const 10320 + i32.const 2 + i32.const 61 + i32.const 12560 call $~lib/rt/__newArray - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=16 - local.get $1 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + local.get $3 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> global.get $~lib/memory/__stack_pointer i32.const 20 i32.add @@ -27277,11 +33027,11 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) + (local $4 f64) + (local $5 f64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -27292,7 +33042,7 @@ i32.store local.get $0 i32.load offset=8 - i32.const 2 + i32.const 3 i32.shr_u local.tee $3 local.get $1 @@ -27313,25 +33063,23 @@ if local.get $0 local.get $2 - call $~lib/typedarray/Int32Array#__uget + call $~lib/typedarray/Float64Array#__uget local.tee $4 local.get $1 local.get $2 - call $~lib/typedarray/Int32Array#__uget + call $~lib/typedarray/Float64Array#__uget local.tee $5 - i32.ne + f64.ne if global.get $~lib/memory/__stack_pointer - i32.const 10432 + i32.const 12736 i32.store - i32.const 10432 + i32.const 12736 i32.const 3 local.get $2 f64.convert_i32_s local.get $4 - f64.convert_i32_s local.get $5 - f64.convert_i32_s f64.const 0 f64.const 0 call $~lib/builtins/trace @@ -27354,7 +33102,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int32Array> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float64Array> (local $0 i32) (local $1 i32) (local $2 i32) @@ -27363,9 +33111,6 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 f32) - (local $9 f64) - (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -27383,38 +33128,38 @@ global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set - local.get $0 + local.get $2 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set - local.get $0 + local.get $2 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $3 + local.tee $1 i32.store offset=4 - local.get $3 + local.get $1 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $3 + local.get $1 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $3 + local.get $1 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $3 + local.get $1 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -27437,168 +33182,111 @@ call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 - call $~lib/typedarray/Int32Array#constructor - local.tee $1 + call $~lib/typedarray/Float64Array#constructor + local.tee $3 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8848 i32.store offset=16 - local.get $1 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> - i32.const 10 - i32.const 2 - i32.const 16 - i32.const 10368 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $1 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=16 - i32.const 0 - local.set $2 block $folding-inner0 - i32.const 8940 + i32.const 8860 i32.load - i32.const 3 - i32.add - local.get $1 + local.get $3 i32.load offset=8 - i32.const 2 + i32.const 3 i32.shr_u i32.gt_s br_if $folding-inner0 - local.get $1 + local.get $3 i32.load offset=4 - i32.const 12 - i32.add local.set $5 - i32.const 8932 + i32.const 8852 i32.load local.set $6 - i32.const 8940 + i32.const 8860 i32.load - local.set $10 + local.set $7 loop $for-loop|0 - local.get $2 - local.get $10 + local.get $0 + local.get $7 i32.lt_s if local.get $5 - local.get $2 - i32.const 2 + local.get $0 + i32.const 3 i32.shl - local.tee $7 i32.add local.get $6 - local.get $7 + local.get $0 + i32.const 2 + i32.shl i32.add - f32.load - local.tee $8 - local.get $8 - f32.sub - f32.const 0 - f32.eq - if (result i32) - local.get $8 - i32.trunc_f32_s - else - i32.const 0 - end - i32.store - local.get $2 + i32.load + f64.convert_i32_s + f64.store + local.get $0 i32.const 1 i32.add - local.set $2 + local.set $0 br $for-loop|0 end end i32.const 10 - i32.const 2 - i32.const 16 - i32.const 10480 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $1 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> - local.get $1 - local.get $0 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> - i32.const 10 - i32.const 2 - i32.const 16 - i32.const 10544 + i32.const 3 + i32.const 62 + i32.const 12624 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $1 + local.get $3 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> global.get $~lib/memory/__stack_pointer - i32.const 9024 + i32.const 8928 i32.store offset=16 i32.const 0 local.set $0 - i32.const 9036 + i32.const 8940 i32.load - i32.const 2 + i32.const 3 i32.add - local.get $1 + local.get $3 i32.load offset=8 - i32.const 2 + i32.const 3 i32.shr_u i32.gt_s br_if $folding-inner0 - local.get $1 + local.get $3 i32.load offset=4 - i32.const 8 + i32.const 24 i32.add - local.set $7 - i32.const 9028 - i32.load local.set $5 - i32.const 9036 + i32.const 8932 i32.load local.set $6 + i32.const 8940 + i32.load + local.set $7 loop $for-loop|00 local.get $0 - local.get $6 + local.get $7 i32.lt_s if - local.get $7 + local.get $5 local.get $0 - i32.const 2 + i32.const 3 i32.shl i32.add - local.get $5 + local.get $6 local.get $0 - i32.const 3 + i32.const 2 i32.shl i32.add - f64.load - local.tee $9 - local.get $9 - f64.sub - f64.const 0 - f64.eq - if (result i32) - local.get $9 - i32.trunc_f64_s - else - i32.const 0 - end - i32.store + f32.load + f64.promote_f32 + f64.store local.get $0 i32.const 1 i32.add @@ -27607,40 +33295,235 @@ end end i32.const 10 - i32.const 2 - i32.const 16 - i32.const 10608 + i32.const 3 + i32.const 62 + i32.const 12784 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=16 - local.get $1 + local.get $3 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> + i32.const 0 + local.set $0 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 6 + i32.add + local.get $3 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $3 + i32.load offset=4 + i32.const 48 + i32.add + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $2 + loop $for-loop|01 + local.get $0 + local.get $2 + i32.lt_s + if + local.get $5 + local.get $0 + i32.const 3 + i32.shl + local.tee $7 + i32.add + local.get $6 + local.get $7 + i32.add + i64.load + f64.convert_i64_s + f64.store + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|01 + end + end + i32.const 10 + i32.const 3 + i32.const 62 + i32.const 12896 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 + local.get $3 + local.get $2 + call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> + i32.const 0 + local.set $2 local.get $1 + i32.load offset=8 local.get $3 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $3 + i32.load offset=4 + local.set $0 + local.get $1 + i32.load offset=4 + local.set $5 local.get $1 + i32.load offset=8 + local.set $1 + loop $for-loop|02 + local.get $1 + local.get $2 + i32.gt_s + if + local.get $0 + local.get $2 + i32.const 3 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.add + i32.load8_u + f64.convert_i32_u + f64.store + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|02 + end + end + i32.const 0 + local.set $1 local.get $4 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.const 4 + i32.add + local.get $3 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $3 + i32.load offset=4 + i32.const 32 + i32.add + local.set $2 + local.get $4 + i32.load offset=4 + local.set $0 + local.get $4 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.set $4 + loop $for-loop|03 + local.get $1 + local.get $4 + i32.lt_s + if + local.get $2 + local.get $1 + i32.const 3 + i32.shl + i32.add + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_s + f64.convert_i32_s + f64.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|03 + end + end global.get $~lib/memory/__stack_pointer i32.const 9104 i32.store offset=16 - local.get $1 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> + i32.const 0 + local.set $1 + i32.const 9116 + i32.load + i32.const 7 + i32.add + local.get $3 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $3 + i32.load offset=4 + i32.const 56 + i32.add + local.set $2 + i32.const 9108 + i32.load + local.set $4 + i32.const 9116 + i32.load + local.set $0 + loop $for-loop|04 + local.get $0 + local.get $1 + i32.gt_s + if + local.get $2 + local.get $1 + i32.const 3 + i32.shl + i32.add + local.get $1 + local.get $4 + i32.add + i32.load8_s + f64.convert_i32_s + f64.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|04 + end + end i32.const 10 - i32.const 2 - i32.const 16 - i32.const 10672 + i32.const 3 + i32.const 62 + i32.const 13008 call $~lib/rt/__newArray - local.set $3 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=16 local.get $1 + i32.store offset=16 local.get $3 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + local.get $1 + call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> global.get $~lib/memory/__stack_pointer i32.const 20 i32.add @@ -27654,11 +33537,40 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) + (func $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8> + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -27666,85 +33578,126 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 13184 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 13184 + i32.store + end + local.get $0 + local.get $1 + call $~lib/typedarray/Int8Array#sort + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 855 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Int8Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 856 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Int8Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 857 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 13216 + i32.store offset=8 + local.get $0 + i32.const 13216 + call $~lib/typedarray/Int8Array#sort + drop + local.get $0 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 859 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load offset=8 + i32.const 1 + call $~lib/typedarray/Int8Array#__get i32.const 2 - i32.shr_u - local.tee $3 - local.get $1 - i32.load offset=12 i32.ne if i32.const 0 i32.const 1568 - i32.const 735 + i32.const 860 i32.const 3 call $~lib/builtins/abort unreachable end - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $2 - call $~lib/typedarray/Uint32Array#__uget - local.tee $4 - local.get $1 - local.get $2 - call $~lib/typedarray/Uint32Array#__uget - local.tee $5 - i32.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 10800 - i32.store - i32.const 10800 - i32.const 3 - local.get $2 - f64.convert_i32_s - local.get $4 - f64.convert_i32_u - local.get $5 - f64.convert_i32_u - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.const 1568 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end + local.get $0 + i32.const 2 + call $~lib/typedarray/Int8Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 861 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint32Array> + (func $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8> (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 f32) - (local $9 f64) - (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -27752,375 +33705,311 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 3 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Uint8Array#constructor local.tee $0 i32.store local.get $0 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $0 + i32.const 2 i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set + call $~lib/typedarray/Uint8Array#__set local.get $0 + i32.const 1 i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $3 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 13248 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 13248 + i32.store + end + local.get $0 + local.get $1 + call $~lib/typedarray/Uint8Array#sort + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 i32.store offset=4 - local.get $3 + local.get $0 i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $3 + call $~lib/typedarray/Uint8Array#__get i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 855 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__get i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 856 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint8Array#__get i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 857 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $4 + i32.const 13280 i32.store offset=8 - local.get $4 + local.get $0 + i32.const 13280 + call $~lib/typedarray/Uint8Array#sort + drop + local.get $0 i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $4 + call $~lib/typedarray/Uint8Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 859 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $4 + call $~lib/typedarray/Uint8Array#__get i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 860 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint8Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 861 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 10 - call $~lib/typedarray/Uint32Array#constructor - local.tee $1 - i32.store offset=12 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8> + (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=16 - local.get $1 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> - i32.const 10 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store + local.get $0 i32.const 2 - i32.const 66 - i32.const 10736 - call $~lib/rt/__newArray - local.set $2 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + i32.const 0 + global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $1 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=16 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $2 - block $folding-inner0 - i32.const 8940 - i32.load - i32.const 3 - i32.add - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $1 - i32.load offset=4 - i32.const 12 - i32.add - local.set $5 - i32.const 8932 - i32.load - local.set $6 - i32.const 8940 - i32.load - local.set $10 - loop $for-loop|0 - local.get $2 - local.get $10 - i32.lt_s - if - local.get $5 - local.get $2 - i32.const 2 - i32.shl - local.tee $7 - i32.add - local.get $6 - local.get $7 - i32.add - f32.load - local.tee $8 - local.get $8 - f32.sub - f32.const 0 - f32.eq - if (result i32) - local.get $8 - i32.trunc_f32_u - else - i32.const 0 - end - i32.store - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - i32.const 10 - i32.const 2 - i32.const 66 - i32.const 10848 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $1 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - local.get $1 - local.get $0 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> - i32.const 10 - i32.const 2 - i32.const 66 - i32.const 10912 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 - local.get $1 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=16 - i32.const 0 - local.set $0 - i32.const 9036 - i32.load - i32.const 2 - i32.add - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $1 - i32.load offset=4 - i32.const 8 - i32.add - local.set $7 - i32.const 9028 - i32.load - local.set $5 - i32.const 9036 - i32.load - local.set $6 - loop $for-loop|00 - local.get $0 - local.get $6 - i32.lt_s - if - local.get $7 - local.get $0 - i32.const 2 - i32.shl - i32.add - local.get $5 - local.get $0 - i32.const 3 - i32.shl - i32.add - f64.load - local.tee $9 - local.get $9 - f64.sub - f64.const 0 - f64.eq - if (result i32) - local.get $9 - i32.trunc_f64_u - else - i32.const 0 - end - i32.store - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|00 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange end - end - i32.const 10 - i32.const 2 - i32.const 66 - i32.const 10976 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 - local.get $1 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - local.get $1 - local.get $3 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> - local.get $1 - local.get $4 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=16 - local.get $1 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> - i32.const 10 - i32.const 2 - i32.const 66 - i32.const 11040 - call $~lib/rt/__newArray - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=16 - local.get $1 - local.get $3 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i64) - (local $5 i64) + unreachable + end + i32.const 13312 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 13312 + i32.store + end + local.get $0 + local.get $1 + call $~lib/typedarray/Uint8Array#sort + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 - i32.sub + i32.add global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 - i32.store + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 855 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load offset=8 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 856 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get i32.const 3 - i32.shr_u - local.tee $3 - local.get $1 - i32.load offset=12 i32.ne if i32.const 0 i32.const 1568 - i32.const 735 + i32.const 857 i32.const 3 call $~lib/builtins/abort unreachable end - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $2 - call $~lib/typedarray/Int64Array#__uget - local.tee $4 - local.get $1 - local.get $2 - call $~lib/typedarray/Int64Array#__uget - local.tee $5 - i64.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 11216 - i32.store - i32.const 11216 - i32.const 3 - local.get $2 - f64.convert_i32_s - local.get $4 - f64.convert_i64_s - local.get $5 - f64.convert_i64_s - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.const 1568 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end + global.get $~lib/memory/__stack_pointer + i32.const 13344 + i32.store offset=8 + local.get $0 + i32.const 13344 + call $~lib/typedarray/Uint8Array#sort + drop + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 859 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 860 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 861 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int64Array> + (func $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16> (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 f32) - (local $9 f64) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -28128,290 +34017,184 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $3 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 i32.store - local.get $3 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $3 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $0 i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $2 i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $2 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $2 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $4 - i32.store offset=8 - local.get $4 - i32.const 0 - i32.const 1000 call $~lib/typedarray/Int16Array#__set - local.get $4 + local.get $0 i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $4 i32.const 2 - i32.const 1002 call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + i32.const 0 + global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - i32.const 10 - call $~lib/typedarray/Int64Array#constructor - local.tee $1 - i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=16 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 13376 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 13376 + i32.store + end + local.get $0 local.get $1 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> - i32.const 10 - i32.const 3 - i32.const 67 - i32.const 11104 - call $~lib/rt/__newArray + call $~lib/typedarray/Int16Array#sort local.set $0 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.store offset=16 - local.get $1 + i32.store offset=4 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=16 i32.const 0 - local.set $0 - block $folding-inner0 - i32.const 8940 - i32.load - i32.const 3 - i32.add - local.get $1 - i32.load offset=8 + call $~lib/typedarray/Int16Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 855 i32.const 3 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $1 - i32.load offset=4 - i32.const 24 - i32.add - local.set $5 - i32.const 8932 - i32.load - local.set $6 - i32.const 8940 - i32.load - local.set $7 - loop $for-loop|0 - local.get $0 - local.get $7 - i32.lt_s - if - local.get $5 - local.get $0 - i32.const 3 - i32.shl - i32.add - local.get $6 - local.get $0 - i32.const 2 - i32.shl - i32.add - f32.load - local.tee $8 - local.get $8 - f32.sub - f32.const 0 - f32.eq - if (result i64) - local.get $8 - i64.trunc_f32_s - else - i64.const 0 - end - i64.store - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - i32.const 10 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Int16Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 856 i32.const 3 - i32.const 67 - i32.const 11264 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 - local.get $1 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - local.get $1 - local.get $3 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> - i32.const 10 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Int16Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 857 i32.const 3 - i32.const 67 - i32.const 11376 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 - local.get $1 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=16 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 13408 + i32.store offset=8 + local.get $0 + i32.const 13408 + call $~lib/typedarray/Int16Array#sort + drop + local.get $0 + i32.const 0 + call $~lib/typedarray/Int16Array#__get + i32.const 3 + i32.ne + if i32.const 0 - local.set $0 - i32.const 9036 - i32.load - i32.const 2 - i32.add - local.get $1 - i32.load offset=8 + i32.const 1568 + i32.const 859 i32.const 3 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $1 - i32.load offset=4 - i32.const 16 - i32.add - local.set $3 - i32.const 9028 - i32.load - local.set $5 - i32.const 9036 - i32.load - local.set $6 - loop $for-loop|00 - local.get $0 - local.get $6 - i32.lt_s - if - local.get $3 - local.get $0 - i32.const 3 - i32.shl - local.tee $7 - i32.add - local.get $5 - local.get $7 - i32.add - f64.load - local.tee $9 - local.get $9 - f64.sub - f64.const 0 - f64.eq - if (result i64) - local.get $9 - i64.trunc_f64_s - else - i64.const 0 - end - i64.store - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|00 - end - end - i32.const 10 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Int16Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 860 i32.const 3 - i32.const 67 - i32.const 11488 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 - local.get $1 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - local.get $1 - local.get $2 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> - local.get $1 - local.get $4 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=16 - local.get $1 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> - i32.const 10 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Int16Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 861 i32.const 3 - i32.const 67 - i32.const 11600 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $1 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - return + call $~lib/builtins/abort + unreachable end - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i64) - (local $5 i64) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16> + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -28420,83 +34203,125 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 13440 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 13440 + i32.store + end local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $3 local.get $1 - i32.load offset=12 + call $~lib/typedarray/Uint16Array#sort + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint16Array#__get + i32.const 1 i32.ne if i32.const 0 i32.const 1568 - i32.const 735 + i32.const 855 i32.const 3 call $~lib/builtins/abort unreachable end - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $2 - call $~lib/typedarray/Uint64Array#__uget - local.tee $4 - local.get $1 - local.get $2 - call $~lib/typedarray/Uint64Array#__uget - local.tee $5 - i64.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 11824 - i32.store - i32.const 11824 - i32.const 3 - local.get $2 - f64.convert_i32_s - local.get $4 - f64.convert_i64_u - local.get $5 - f64.convert_i64_u - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.const 1568 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 856 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint16Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 857 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 13472 + i32.store offset=8 + local.get $0 + i32.const 13472 + call $~lib/typedarray/Uint16Array#sort + drop + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint16Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 859 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 860 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint16Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 861 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint64Array> + (func $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32> (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 f32) - (local $9 f64) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -28504,374 +34329,155 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 i32.store - local.get $3 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $3 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $0 i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $2 i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $2 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $2 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 0 i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $4 - i32.store offset=8 - local.get $4 + call $~lib/typedarray/Int32Array#__set i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $4 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $4 - i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set + global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - i32.const 10 - call $~lib/typedarray/Uint64Array#constructor - local.tee $1 - i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=16 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 13504 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 13504 + i32.store + end + local.get $0 local.get $1 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> - i32.const 10 - i32.const 3 - i32.const 68 - i32.const 11712 - call $~lib/rt/__newArray + call $~lib/typedarray/Int32Array#sort local.set $0 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.store offset=16 - local.get $1 + i32.store offset=4 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=16 i32.const 0 - local.set $0 - block $folding-inner0 - i32.const 8940 - i32.load - i32.const 3 - i32.add - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $1 - i32.load offset=4 - i32.const 24 - i32.add - local.set $5 - i32.const 8932 - i32.load - local.set $6 - i32.const 8940 - i32.load - local.set $7 - loop $for-loop|0 - local.get $0 - local.get $7 - i32.lt_s - if - local.get $5 - local.get $0 - i32.const 3 - i32.shl - i32.add - local.get $6 - local.get $0 - i32.const 2 - i32.shl - i32.add - f32.load - local.tee $8 - local.get $8 - f32.sub - f32.const 0 - f32.eq - if (result i64) - local.get $8 - i64.trunc_f32_u - else - i64.const 0 - end - i64.store - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - i32.const 10 - i32.const 3 - i32.const 68 - i32.const 11872 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 - local.get $1 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - local.get $1 - local.get $3 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> - i32.const 10 - i32.const 3 - i32.const 68 - i32.const 11984 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 - local.get $1 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=16 + call $~lib/typedarray/Int32Array#__get + i32.const 1 + i32.ne + if i32.const 0 - local.set $0 - i32.const 9036 - i32.load - i32.const 2 - i32.add - local.get $1 - i32.load offset=8 + i32.const 1568 + i32.const 855 i32.const 3 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $1 - i32.load offset=4 - i32.const 16 - i32.add - local.set $3 - i32.const 9028 - i32.load - local.set $5 - i32.const 9036 - i32.load - local.set $6 - loop $for-loop|00 - local.get $0 - local.get $6 - i32.lt_s - if - local.get $3 - local.get $0 - i32.const 3 - i32.shl - local.tee $7 - i32.add - local.get $5 - local.get $7 - i32.add - f64.load - local.tee $9 - local.get $9 - f64.sub - f64.const 0 - f64.eq - if (result i64) - local.get $9 - i64.trunc_f64_u - else - i64.const 0 - end - i64.store - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|00 - end - end - i32.const 10 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 856 i32.const 3 - i32.const 68 - i32.const 12096 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 - local.get $1 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - local.get $1 - local.get $2 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> - local.get $1 - local.get $4 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=16 - local.get $1 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> - i32.const 10 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Int32Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 857 i32.const 3 - i32.const 68 - i32.const 12208 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $1 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - return + call $~lib/builtins/abort + unreachable end - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f32) - (local $5 f32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check global.get $~lib/memory/__stack_pointer + i32.const 13536 + i32.store offset=8 + local.get $0 + i32.const 13536 + call $~lib/typedarray/Int32Array#sort + drop + local.get $0 i32.const 0 - i32.store + call $~lib/typedarray/Int32Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 859 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load offset=8 + i32.const 1 + call $~lib/typedarray/Int32Array#__get i32.const 2 - i32.shr_u - local.tee $3 - local.get $1 - i32.load offset=12 i32.ne if i32.const 0 i32.const 1568 - i32.const 735 + i32.const 860 i32.const 3 call $~lib/builtins/abort unreachable end - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $2 - call $~lib/typedarray/Float32Array#__uget - local.tee $4 - local.get $1 - local.get $2 - call $~lib/typedarray/Float32Array#__uget - local.tee $5 - f32.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 12384 - i32.store - i32.const 12384 - i32.const 3 - local.get $2 - f64.convert_i32_s - local.get $4 - f64.promote_f32 - local.get $5 - f64.promote_f32 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.const 1568 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end + local.get $0 + i32.const 2 + call $~lib/typedarray/Int32Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 861 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float32Array> + (func $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32> (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -28879,399 +34485,184 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $2 - i32.store - local.get $2 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $2 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $2 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor + call $~lib/typedarray/Uint32Array#constructor local.tee $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set + i32.store local.get $0 + i32.const 2 i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Uint32Array#__set local.get $0 + i32.const 1 i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Uint32Array#__set local.get $0 + i32.const 0 i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $4 - i32.store offset=8 - local.get $4 + call $~lib/typedarray/Uint32Array#__set i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $4 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $4 - i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set + global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - i32.const 10 - call $~lib/typedarray/Float32Array#constructor - local.tee $3 - i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=16 - block $folding-inner0 - i32.const 8860 - i32.load - local.get $3 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $3 - i32.load offset=4 - local.set $5 - i32.const 8852 - i32.load - local.set $6 - i32.const 8860 - i32.load - local.set $7 - loop $for-loop|0 - local.get $1 - local.get $7 - i32.lt_s - if - local.get $5 - local.get $1 - i32.const 2 - i32.shl - local.tee $8 - i32.add - local.get $6 - local.get $8 - i32.add - i32.load - f32.convert_i32_s - f32.store - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange end + unreachable end - i32.const 10 - i32.const 2 - i32.const 61 - i32.const 12320 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 - local.get $3 - local.get $1 - call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=16 - i32.const 8940 - i32.load - i32.const 3 - i32.add - local.get $3 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $3 - i32.load offset=4 - i32.const 12 - i32.add - i32.const 8932 - i32.load - i32.const 8936 - i32.load - call $~lib/memory/memory.copy - i32.const 10 - i32.const 2 - i32.const 61 - i32.const 12432 - call $~lib/rt/__newArray + i32.const 13568 local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 - local.get $3 - local.get $1 - call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> + i32.const 13568 + i32.store + end + local.get $0 + local.get $1 + call $~lib/typedarray/Uint32Array#sort + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint32Array#__get + i32.const 1 + i32.ne + if i32.const 0 - local.set $1 - local.get $2 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 6 - i32.add - local.get $3 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $3 - i32.load offset=4 - i32.const 24 - i32.add - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - local.get $2 - i32.load offset=8 + i32.const 1568 + i32.const 855 i32.const 3 - i32.shr_u - local.set $2 - loop $for-loop|00 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $5 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $6 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load - f32.convert_i64_s - f32.store - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|00 - end - end - i32.const 10 - i32.const 2 - i32.const 61 - i32.const 12496 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $3 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> - i32.const 0 - local.set $2 - local.get $0 - i32.load offset=8 - local.get $3 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $3 - i32.load offset=4 - local.set $1 - local.get $0 - i32.load offset=4 - local.set $5 - local.get $0 - i32.load offset=8 - local.set $0 - loop $for-loop|01 - local.get $0 - local.get $2 - i32.gt_s - if - local.get $1 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.get $2 - local.get $5 - i32.add - i32.load8_u - f32.convert_i32_u - f32.store - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|01 - end - end + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__get + i32.const 2 + i32.ne + if i32.const 0 - local.set $0 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.const 4 - i32.add - local.get $3 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $3 - i32.load offset=4 - i32.const 16 - i32.add - local.set $2 - local.get $4 - i32.load offset=4 - local.set $1 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $4 - loop $for-loop|02 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $0 - i32.const 2 - i32.shl - i32.add - local.get $1 - local.get $0 - i32.const 1 - i32.shl - i32.add - i32.load16_s - f32.convert_i32_s - f32.store - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|02 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=16 + i32.const 1568 + i32.const 856 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint32Array#__get + i32.const 3 + i32.ne + if i32.const 0 - local.set $0 - i32.const 9116 - i32.load - i32.const 7 - i32.add - local.get $3 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $3 - i32.load offset=4 - i32.const 28 - i32.add - local.set $2 - i32.const 9108 - i32.load - local.set $4 - i32.const 9116 - i32.load - local.set $1 - loop $for-loop|03 - local.get $0 - local.get $1 - i32.lt_s - if - local.get $2 - local.get $0 - i32.const 2 - i32.shl - i32.add - local.get $0 - local.get $4 - i32.add - i32.load8_s - f32.convert_i32_s - f32.store - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|03 - end - end - i32.const 10 - i32.const 2 - i32.const 61 - i32.const 12560 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 - local.get $3 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - return + i32.const 1568 + i32.const 857 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 13600 + i32.store offset=8 + local.get $0 + i32.const 13600 + call $~lib/typedarray/Uint32Array#sort + drop + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint32Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 859 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 860 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint32Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 861 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f64) - (local $5 f64) + (func $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64> + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 2 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 0 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -29280,79 +34671,125 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 13632 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 13632 + i32.store + end local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $3 local.get $1 - i32.load offset=12 - i32.ne + call $~lib/typedarray/Int64Array#sort + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Int64Array#__get + i64.const 1 + i64.ne if i32.const 0 i32.const 1568 - i32.const 735 + i32.const 855 i32.const 3 call $~lib/builtins/abort unreachable end - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $2 - call $~lib/typedarray/Float64Array#__uget - local.tee $4 - local.get $1 - local.get $2 - call $~lib/typedarray/Float64Array#__uget - local.tee $5 - f64.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 12736 - i32.store - i32.const 12736 - i32.const 3 - local.get $2 - f64.convert_i32_s - local.get $4 - local.get $5 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.const 1568 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end + local.get $0 + i32.const 1 + call $~lib/typedarray/Int64Array#__get + i64.const 2 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 856 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Int64Array#__get + i64.const 3 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 857 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 13664 + i32.store offset=8 + local.get $0 + i32.const 13664 + call $~lib/typedarray/Int64Array#sort + drop + local.get $0 + i32.const 0 + call $~lib/typedarray/Int64Array#__get + i64.const 3 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 859 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Int64Array#__get + i64.const 2 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 860 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Int64Array#__get + i64.const 1 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 861 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float64Array> + (func $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64> (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -29360,422 +34797,432 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $2 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 i32.store - local.get $2 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $2 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $2 + local.get $0 i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 0 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $1 - i32.store offset=4 - local.get $1 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 13696 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 13696 + i32.store + end + local.get $0 local.get $1 + call $~lib/typedarray/Uint64Array#sort + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint64Array#__get + i64.const 1 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 855 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $1 + call $~lib/typedarray/Uint64Array#__get + i64.const 2 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 856 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Uint64Array#__get + i64.const 3 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 857 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $4 + i32.const 13728 i32.store offset=8 - local.get $4 + local.get $0 + i32.const 13728 + call $~lib/typedarray/Uint64Array#sort + drop + local.get $0 i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $4 + call $~lib/typedarray/Uint64Array#__get + i64.const 3 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 859 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $4 + call $~lib/typedarray/Uint64Array#__get + i64.const 2 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 860 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set + call $~lib/typedarray/Uint64Array#__get + i64.const 1 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 861 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 10 - call $~lib/typedarray/Float64Array#constructor - local.tee $3 - i32.store offset=12 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32> + (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=16 - block $folding-inner0 - i32.const 8860 - i32.load - local.get $3 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $3 - i32.load offset=4 - local.set $5 - i32.const 8852 - i32.load - local.set $6 - i32.const 8860 - i32.load - local.set $7 - loop $for-loop|0 - local.get $0 - local.get $7 - i32.lt_s - if - local.get $5 - local.get $0 - i32.const 3 - i32.shl - i32.add - local.get $6 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load - f64.convert_i32_s - f64.store - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 2 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 0 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange end + unreachable end - i32.const 10 - i32.const 3 - i32.const 62 - i32.const 12624 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 - local.get $3 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> + i32.const 13760 + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=16 + i32.const 13760 + i32.store + end + local.get $0 + local.get $1 + call $~lib/typedarray/Float32Array#sort + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Float32Array#__get + f32.const 1 + f32.ne + if i32.const 0 - local.set $0 - i32.const 8940 - i32.load + i32.const 1568 + i32.const 855 i32.const 3 - i32.add - local.get $3 - i32.load offset=8 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Float32Array#__get + f32.const 2 + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 856 i32.const 3 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $3 - i32.load offset=4 - i32.const 24 - i32.add - local.set $5 - i32.const 8932 - i32.load - local.set $6 - i32.const 8940 - i32.load - local.set $7 - loop $for-loop|00 - local.get $0 - local.get $7 - i32.lt_s - if - local.get $5 - local.get $0 - i32.const 3 - i32.shl - i32.add - local.get $6 - local.get $0 - i32.const 2 - i32.shl - i32.add - f32.load - f64.promote_f32 - f64.store - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|00 - end - end - i32.const 10 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Float32Array#__get + f32.const 3 + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 857 i32.const 3 - i32.const 62 - i32.const 12784 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 - local.get $3 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 13792 + i32.store offset=8 + local.get $0 + i32.const 13792 + call $~lib/typedarray/Float32Array#sort + drop + local.get $0 + i32.const 0 + call $~lib/typedarray/Float32Array#__get + f32.const 3 + f32.ne + if i32.const 0 - local.set $0 - local.get $2 - i32.load offset=8 + i32.const 1568 + i32.const 859 i32.const 3 - i32.shr_u - i32.const 6 - i32.add - local.get $3 - i32.load offset=8 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Float32Array#__get + f32.const 2 + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 860 i32.const 3 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $3 - i32.load offset=4 - i32.const 48 - i32.add - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - local.get $2 - i32.load offset=8 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Float32Array#__get + f32.const 1 + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 861 i32.const 3 - i32.shr_u - local.set $2 - loop $for-loop|01 - local.get $0 - local.get $2 - i32.lt_s - if - local.get $5 - local.get $0 - i32.const 3 - i32.shl - local.tee $7 - i32.add - local.get $6 - local.get $7 - i32.add - i64.load - f64.convert_i64_s - f64.store - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|01 - end - end - i32.const 10 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64> + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 2 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 0 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/typedarray/Float64Array#sort@varargs + local.tee $0 + i32.store offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Float64Array#__get + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1568 + i32.const 855 i32.const 3 - i32.const 62 - i32.const 12896 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $3 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Float64Array#__get + f64.const 2 + f64.ne + if i32.const 0 - local.set $2 - local.get $1 - i32.load offset=8 - local.get $3 - i32.load offset=8 + i32.const 1568 + i32.const 856 i32.const 3 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $3 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load offset=4 - local.set $5 - local.get $1 - i32.load offset=8 - local.set $1 - loop $for-loop|02 - local.get $1 - local.get $2 - i32.gt_s - if - local.get $0 - local.get $2 - i32.const 3 - i32.shl - i32.add - local.get $2 - local.get $5 - i32.add - i32.load8_u - f64.convert_i32_u - f64.store - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|02 - end - end + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Float64Array#__get + f64.const 3 + f64.ne + if i32.const 0 - local.set $1 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.const 4 - i32.add - local.get $3 - i32.load offset=8 + i32.const 1568 + i32.const 857 i32.const 3 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $3 - i32.load offset=4 - i32.const 32 - i32.add - local.set $2 - local.get $4 - i32.load offset=4 - local.set $0 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $4 - loop $for-loop|03 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s - f64.convert_i32_s - f64.store - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|03 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=16 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 13824 + i32.store offset=8 + local.get $0 + i32.const 13824 + call $~lib/typedarray/Float64Array#sort + drop + local.get $0 + i32.const 0 + call $~lib/typedarray/Float64Array#__get + f64.const 3 + f64.ne + if i32.const 0 - local.set $1 - i32.const 9116 - i32.load - i32.const 7 - i32.add - local.get $3 - i32.load offset=8 + i32.const 1568 + i32.const 859 i32.const 3 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $3 - i32.load offset=4 - i32.const 56 - i32.add - local.set $2 - i32.const 9108 - i32.load - local.set $4 - i32.const 9116 - i32.load - local.set $0 - loop $for-loop|04 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $1 - local.get $4 - i32.add - i32.load8_s - f64.convert_i32_s - f64.store - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|04 - end - end - i32.const 10 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Float64Array#__get + f64.const 2 + f64.ne + if + i32.const 0 + i32.const 1568 + i32.const 860 i32.const 3 - i32.const 62 - i32.const 13008 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 - local.get $3 - local.get $1 - call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - return + call $~lib/builtins/abort + unreachable end - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable + local.get $0 + i32.const 2 + call $~lib/typedarray/Float64Array#__get + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1568 + i32.const 861 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $start:std/typedarray (local $0 i32) @@ -29811,7 +35258,7 @@ memory.size i32.const 16 i32.shl - i32.const 30108 + i32.const 30852 i32.sub i32.const 1 i32.shr_u @@ -30072,35 +35519,9 @@ end i32.const 0 global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 1696 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 1696 - i32.store - end local.get $0 - local.get $1 - call $~lib/typedarray/Float64Array#sort - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + call $~lib/typedarray/Float64Array#sort@varargs + drop local.get $0 i32.const 0 call $~lib/typedarray/Float64Array#__get @@ -35928,7 +41349,18 @@ local.get $0 local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - i32.const 30108 + call $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8> + call $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8> + call $std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8> + call $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32> + call $std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64> + i32.const 30852 global.set $~lib/memory/__stack_pointer global.get $~lib/rt/itcms/state i32.const 0 @@ -36650,6 +42082,38 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $~lib/typedarray/Float64Array#sort@varargs (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 1696 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 1696 + i32.store + end + local.get $0 + local.get $1 + call $~lib/typedarray/Float64Array#sort + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) (func $~lib/rt/__newArray (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) diff --git a/tests/compiler/std/typedarray.ts b/tests/compiler/std/typedarray.ts index 1bb68ba10a..3d416f5491 100644 --- a/tests/compiler/std/typedarray.ts +++ b/tests/compiler/std/typedarray.ts @@ -845,5 +845,34 @@ testTypedArraySet(); valuesEqual(targetClampedArray, [1, 255, 100, 255, 0, 0, 100, 10, 255, 0]); } +function testArraySort, T extends number>(): void { + var source: ArrayType = instantiate(3); + source[2] = 1; + source[1] = 2; + source[0] = 3; + + let result = source.sort(); + assert(result[0] == 1); + assert(result[1] == 2); + assert(result[2] == 3); + result.sort((a, b) => i32(b > a) - i32(b < a)); + assert(result[0] == 3); + assert(result[1] == 2); + assert(result[2] == 1); +} + +testArraySort(); +testArraySort(); +testArraySort(); +testArraySort(); +testArraySort(); +testArraySort(); +testArraySort(); +testArraySort(); +testArraySort(); +testArraySort(); +testArraySort(); + + __stack_pointer = __heap_base; __collect(); diff --git a/tests/compiler/std/typedarray.untouched.wat b/tests/compiler/std/typedarray.untouched.wat index 1b0015411f..1e7673f0be 100644 --- a/tests/compiler/std/typedarray.untouched.wat +++ b/tests/compiler/std/typedarray.untouched.wat @@ -1,18 +1,20 @@ (module - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $i32_i32_=>_none (func (param i32 i32))) + (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) (type $none_=>_none (func)) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) (type $i32_=>_i32 (func (param i32) (result i32))) (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) (type $i64_i32_i32_=>_i32 (func (param i64 i32 i32) (result i32))) + (type $i64_i64_=>_i32 (func (param i64 i64) (result i32))) (type $f32_i32_i32_=>_i32 (func (param f32 i32 i32) (result i32))) (type $f64_i32_i32_=>_i32 (func (param f64 i32 i32) (result i32))) (type $i32_=>_none (func (param i32))) (type $i32_i32_=>_i64 (func (param i32 i32) (result i64))) (type $i64_i64_i32_i32_=>_i64 (func (param i64 i64 i32 i32) (result i64))) (type $i32_i64_i32_=>_i32 (func (param i32 i64 i32) (result i32))) + (type $f32_f32_=>_i32 (func (param f32 f32) (result i32))) (type $f64_f64_=>_i32 (func (param f64 f64) (result i32))) (type $i64_i32_i32_=>_none (func (param i64 i32 i32))) (type $i32_f32_i32_=>_i32 (func (param i32 f32 i32) (result i32))) @@ -310,9 +312,30 @@ (data (i32.const 13420) "l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00P\00\00\00\00\00\00\00\00\00Y@\00\00\00\00\00@Y@\00\00\00\00\00\80Y@\00\00\00\00\00\c0Y@\00\00\00\00\00@\8f@\00\00\00\00\00H\8f@\00\00\00\00\00P\8f@\00\00\00\00\00\80[\c0\00\00\00\00\00\c0[\c0\00\00\00\00\00\00\\\c0\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 13532) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00\00\ff\00\00\00d\n\ff\ff\00\00\00") (data (i32.const 13564) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00\01\ffd\ff\00\00d\n\ff\00\00\00") - (data (i32.const 13600) "E\00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00A\08\00\00\02\00\00\00A\00\00\00\02\00\00\00A\00\00\00\02\00\00\00\81\08\00\00\02\00\00\00\81\00\00\00\02\00\00\00\01\t\00\00\02\00\00\00\01\01\00\00\02\00\00\00\01\n\00\00\02\00\00\00\01\02\00\00\02\00\00\00\01\19\00\00\02\00\00\00\01\1a\00\00\02\00\00\00\00\00\00\00\00\00\00\00B\08\00\00\00\00\00\00\02\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\19\00\00\00\00\00\00\02\1a\00\00\00\00\00\00B\00\00\00\00\00\00\00\82\08\00\00\00\00\00\00\82\00\00\00\00\00\00\00\02\01\00\00\00\00\00\00\02\n\00\00\00\00\00\00\02\02\00\00\00\00\00\00") - (table $0 123 funcref) - (elem (i32.const 1) $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0) + (data (i32.const 13596) "\1c\00\00\00\00\00\00\00\00\00\00\00E\00\00\00\08\00\00\00{\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13628) "\1c\00\00\00\00\00\00\00\00\00\00\00E\00\00\00\08\00\00\00|\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13660) "\1c\00\00\00\00\00\00\00\00\00\00\00F\00\00\00\08\00\00\00}\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13692) "\1c\00\00\00\00\00\00\00\00\00\00\00F\00\00\00\08\00\00\00~\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13724) "\1c\00\00\00\00\00\00\00\00\00\00\00F\00\00\00\08\00\00\00\7f\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13756) "\1c\00\00\00\00\00\00\00\00\00\00\00F\00\00\00\08\00\00\00\80\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13788) "\1c\00\00\00\00\00\00\00\00\00\00\00G\00\00\00\08\00\00\00\81\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13820) "\1c\00\00\00\00\00\00\00\00\00\00\00G\00\00\00\08\00\00\00\82\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13852) "\1c\00\00\00\00\00\00\00\00\00\00\00H\00\00\00\08\00\00\00\83\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13884) "\1c\00\00\00\00\00\00\00\00\00\00\00H\00\00\00\08\00\00\00\84\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13916) "\1c\00\00\00\00\00\00\00\00\00\00\00I\00\00\00\08\00\00\00\85\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13948) "\1c\00\00\00\00\00\00\00\00\00\00\00I\00\00\00\08\00\00\00\86\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13980) "\1c\00\00\00\00\00\00\00\00\00\00\00J\00\00\00\08\00\00\00\87\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14012) "\1c\00\00\00\00\00\00\00\00\00\00\00J\00\00\00\08\00\00\00\88\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14044) "\1c\00\00\00\00\00\00\00\00\00\00\00K\00\00\00\08\00\00\00\89\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14076) "\1c\00\00\00\00\00\00\00\00\00\00\00K\00\00\00\08\00\00\00\8a\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14108) "\1c\00\00\00\00\00\00\00\00\00\00\00L\00\00\00\08\00\00\00\8b\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14140) "\1c\00\00\00\00\00\00\00\00\00\00\00L\00\00\00\08\00\00\00\8c\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14172) "\1c\00\00\00\00\00\00\00\00\00\00\00M\00\00\00\08\00\00\00\8d\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14204) "\1c\00\00\00\00\00\00\00\00\00\00\00M\00\00\00\08\00\00\00\8e\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14236) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\8f\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14272) "N\00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00A\08\00\00\02\00\00\00A\00\00\00\02\00\00\00A\00\00\00\02\00\00\00\81\08\00\00\02\00\00\00\81\00\00\00\02\00\00\00\01\t\00\00\02\00\00\00\01\01\00\00\02\00\00\00\01\n\00\00\02\00\00\00\01\02\00\00\02\00\00\00\01\19\00\00\02\00\00\00\01\1a\00\00\02\00\00\00\00\00\00\00\00\00\00\00B\08\00\00\00\00\00\00\02\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\19\00\00\00\00\00\00\02\1a\00\00\00\00\00\00B\00\00\00\00\00\00\00\82\08\00\00\00\00\00\00\82\00\00\00\00\00\00\00\02\01\00\00\00\00\00\00\02\n\00\00\00\00\00\00\02\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (table $0 144 funcref) + (elem (i32.const 1) $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|1 $std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64>~anonymous|0) (global $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT i32 (i32.const 1)) (global $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT i32 (i32.const 1)) (global $~lib/typedarray/Uint8ClampedArray.BYTES_PER_ELEMENT i32 (i32.const 1)) @@ -355,10 +378,10 @@ (global $std/typedarray/setSource2 (mut i32) (i32.const 9360)) (global $std/typedarray/setSource3 (mut i32) (i32.const 9456)) (global $std/typedarray/setSource7 (mut i32) (i32.const 9536)) - (global $~lib/rt/__rtti_base i32 (i32.const 13600)) - (global $~lib/memory/__data_end i32 (i32.const 14156)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 30540)) - (global $~lib/memory/__heap_base i32 (i32.const 30540)) + (global $~lib/rt/__rtti_base i32 (i32.const 14272)) + (global $~lib/memory/__data_end i32 (i32.const 14900)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 31284)) + (global $~lib/memory/__heap_base i32 (i32.const 31284)) (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/Object#set:nextWithColor (param $0 i32) (param $1 i32) @@ -32839,169 +32862,4711 @@ end end ) - (func $~lib/rt/itcms/__collect - (local $0 i32) + (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) i32.const 0 - drop - global.get $~lib/rt/itcms/state + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $0 + local.get $3 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.set $5 + local.get $3 + i32.const 1 + i32.sub + local.set $6 + block $while-break|1 + loop $while-continue|1 + local.get $6 + i32.const 0 + i32.ge_s + local.set $7 + local.get $7 + if + local.get $0 + local.get $6 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.set $8 + local.get $5 + local.get $8 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $0 + local.get $6 + local.tee $9 + i32.const 1 + i32.sub + local.set $6 + local.get $9 + i32.const 1 + i32.add + i32.const 0 + i32.shl + i32.add + local.get $8 + i32.store8 + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $0 + local.get $6 + i32.const 1 + i32.add + i32.const 0 + i32.shl + i32.add + local.get $5 + i32.store8 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + ) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + local.get $1 + i32.const 31 + i32.add + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + local.set $3 + local.get $3 + call $~lib/rt/tlsf/__alloc + local.set $4 + local.get $4 i32.const 0 - i32.gt_s - if - loop $while-continue|0 - global.get $~lib/rt/itcms/state + local.get $3 + call $~lib/memory/memory.fill + local.get $1 + i32.const 1 + i32.sub + local.set $5 + loop $for-loop|0 + local.get $5 + i32.const 0 + i32.gt_s + local.set $6 + local.get $6 + if + local.get $5 + local.set $7 + loop $while-continue|1 + local.get $7 + i32.const 1 + i32.and + local.get $4 + local.get $7 + i32.const 6 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $7 + i32.const 1 + i32.shr_s + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.eq + local.set $8 + local.get $8 + if + local.get $7 + i32.const 1 + i32.shr_s + local.set $7 + br $while-continue|1 + end + end + local.get $7 + i32.const 1 + i32.shr_s + local.set $8 + local.get $0 + local.get $8 i32.const 0 - i32.ne - local.set $0 + i32.shl + i32.add + i32.load8_s + local.set $9 local.get $0 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.set $10 + local.get $9 + local.get $10 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s if - call $~lib/rt/itcms/step - drop - br $while-continue|0 + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $5 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + local.get $0 + local.get $5 + i32.const 0 + i32.shl + i32.add + local.get $9 + i32.store8 + local.get $0 + local.get $8 + i32.const 0 + i32.shl + i32.add + local.get $10 + i32.store8 end + local.get $5 + i32.const 1 + i32.sub + local.set $5 + br $for-loop|0 end end - call $~lib/rt/itcms/step - drop - loop $while-continue|1 - global.get $~lib/rt/itcms/state - i32.const 0 - i32.ne - local.set $0 - local.get $0 + local.get $1 + i32.const 1 + i32.sub + local.set $5 + loop $for-loop|2 + local.get $5 + i32.const 2 + i32.ge_s + local.set $6 + local.get $6 if - call $~lib/rt/itcms/step - drop - br $while-continue|1 + local.get $0 + i32.load8_s + local.set $10 + local.get $0 + local.get $0 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_s + i32.store8 + local.get $0 + local.get $5 + i32.const 0 + i32.shl + i32.add + local.get $10 + i32.store8 + i32.const 1 + local.set $9 + loop $while-continue|3 + local.get $9 + i32.const 1 + i32.shl + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $9 + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.add + local.tee $8 + local.get $5 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $8 + local.set $9 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $9 + i32.const 0 + i32.gt_s + local.set $7 + local.get $7 + if + local.get $0 + i32.load8_s + local.set $10 + local.get $0 + local.get $9 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.set $11 + local.get $10 + local.get $11 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $9 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + local.get $0 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $10 + i32.store8 + local.get $0 + local.get $11 + i32.store8 + end + local.get $9 + i32.const 1 + i32.shr_s + local.set $9 + br $while-continue|4 + end + end + local.get $5 + i32.const 1 + i32.sub + local.set $5 + br $for-loop|2 end end - global.get $~lib/rt/itcms/total - i64.extend_i32_u - i64.const 200 - i64.mul - i64.const 100 - i64.div_u - i32.wrap_i64 - i32.const 1024 - i32.add - global.set $~lib/rt/itcms/threshold - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - drop - ) - (func $~lib/rt/__visit_globals (param $0 i32) - (local $1 i32) - global.get $std/typedarray/forEachValues - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/typedarray/testArrayReverseValues - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/typedarray/testArrayWrapValues - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/typedarray/setSource1 - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/typedarray/setSource2 - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/typedarray/setSource3 - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/typedarray/setSource7 - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - i32.const 336 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 32 + local.get $4 + call $~lib/rt/tlsf/__free local.get $0 - call $~lib/rt/itcms/__visit - i32.const 144 + i32.load8_s offset=1 + local.set $12 local.get $0 - call $~lib/rt/itcms/__visit - i32.const 6704 local.get $0 - call $~lib/rt/itcms/__visit - i32.const 7760 + i32.load8_s + i32.store8 offset=1 local.get $0 - call $~lib/rt/itcms/__visit + local.get $12 + i32.store8 ) - (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int8Array#sort (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - local.get $0 - i32.load - local.tee $2 - if - local.get $2 + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + block $~lib/typedarray/SORT<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + local.get $0 + local.set $3 local.get $1 - call $~lib/rt/itcms/__visit - end - ) - (func $~lib/typedarray/Int8Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - ) - (func $~lib/typedarray/Uint8Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - ) - (func $~lib/typedarray/Uint8ClampedArray~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - ) - (func $~lib/typedarray/Int16Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - ) - (func $~lib/typedarray/Uint16Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 + local.set $2 + local.get $3 + call $~lib/typedarray/Int8Array#get:length + local.set $4 + local.get $4 + i32.const 1 + i32.le_s + if + local.get $3 + br $~lib/typedarray/SORT<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.get $3 + i32.load offset=4 + local.set $5 + local.get $4 + i32.const 2 + i32.eq + if + local.get $5 + i32.load8_s offset=1 + local.set $6 + local.get $5 + i32.load8_s + local.set $7 + local.get $6 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $7 + i32.store8 offset=1 + local.get $5 + local.get $6 + i32.store8 + end + local.get $3 + br $~lib/typedarray/SORT<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.get $5 + local.set $8 + local.get $4 + local.set $7 + local.get $2 + local.set $6 + i32.const 0 + drop + local.get $7 + i32.const 256 + i32.lt_s + if + local.get $8 + local.get $7 + local.get $6 + call $~lib/util/sort/insertionSort + else + local.get $8 + local.get $7 + local.get $6 + call $~lib/util/sort/weakHeapSort + end + local.get $3 + end + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + local.get $0 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.gt_s + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + local.get $0 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.lt_s + i32.sub + ) + (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $0 + local.get $3 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.set $5 + local.get $3 + i32.const 1 + i32.sub + local.set $6 + block $while-break|1 + loop $while-continue|1 + local.get $6 + i32.const 0 + i32.ge_s + local.set $7 + local.get $7 + if + local.get $0 + local.get $6 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.set $8 + local.get $5 + local.get $8 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $0 + local.get $6 + local.tee $9 + i32.const 1 + i32.sub + local.set $6 + local.get $9 + i32.const 1 + i32.add + i32.const 0 + i32.shl + i32.add + local.get $8 + i32.store8 + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $0 + local.get $6 + i32.const 1 + i32.add + i32.const 0 + i32.shl + i32.add + local.get $5 + i32.store8 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + ) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + local.get $1 + i32.const 31 + i32.add + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + local.set $3 + local.get $3 + call $~lib/rt/tlsf/__alloc + local.set $4 + local.get $4 + i32.const 0 + local.get $3 + call $~lib/memory/memory.fill + local.get $1 + i32.const 1 + i32.sub + local.set $5 + loop $for-loop|0 + local.get $5 + i32.const 0 + i32.gt_s + local.set $6 + local.get $6 + if + local.get $5 + local.set $7 + loop $while-continue|1 + local.get $7 + i32.const 1 + i32.and + local.get $4 + local.get $7 + i32.const 6 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $7 + i32.const 1 + i32.shr_s + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.eq + local.set $8 + local.get $8 + if + local.get $7 + i32.const 1 + i32.shr_s + local.set $7 + br $while-continue|1 + end + end + local.get $7 + i32.const 1 + i32.shr_s + local.set $8 + local.get $0 + local.get $8 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.set $9 + local.get $0 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.set $10 + local.get $9 + local.get $10 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $5 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + local.get $0 + local.get $5 + i32.const 0 + i32.shl + i32.add + local.get $9 + i32.store8 + local.get $0 + local.get $8 + i32.const 0 + i32.shl + i32.add + local.get $10 + i32.store8 + end + local.get $5 + i32.const 1 + i32.sub + local.set $5 + br $for-loop|0 + end + end + local.get $1 + i32.const 1 + i32.sub + local.set $5 + loop $for-loop|2 + local.get $5 + i32.const 2 + i32.ge_s + local.set $6 + local.get $6 + if + local.get $0 + i32.load8_u + local.set $10 + local.get $0 + local.get $0 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_u + i32.store8 + local.get $0 + local.get $5 + i32.const 0 + i32.shl + i32.add + local.get $10 + i32.store8 + i32.const 1 + local.set $9 + loop $while-continue|3 + local.get $9 + i32.const 1 + i32.shl + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $9 + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.add + local.tee $8 + local.get $5 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $8 + local.set $9 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $9 + i32.const 0 + i32.gt_s + local.set $7 + local.get $7 + if + local.get $0 + i32.load8_u + local.set $10 + local.get $0 + local.get $9 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.set $11 + local.get $10 + local.get $11 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $9 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + local.get $0 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $10 + i32.store8 + local.get $0 + local.get $11 + i32.store8 + end + local.get $9 + i32.const 1 + i32.shr_s + local.set $9 + br $while-continue|4 + end + end + local.get $5 + i32.const 1 + i32.sub + local.set $5 + br $for-loop|2 + end + end + local.get $4 + call $~lib/rt/tlsf/__free + local.get $0 + i32.load8_u offset=1 + local.set $12 + local.get $0 + local.get $0 + i32.load8_u + i32.store8 offset=1 + local.get $0 + local.get $12 + i32.store8 + ) + (func $~lib/typedarray/Uint8Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + block $~lib/typedarray/SORT<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + call $~lib/typedarray/Uint8Array#get:length + local.set $4 + local.get $4 + i32.const 1 + i32.le_s + if + local.get $3 + br $~lib/typedarray/SORT<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.get $3 + i32.load offset=4 + local.set $5 + local.get $4 + i32.const 2 + i32.eq + if + local.get $5 + i32.load8_u offset=1 + local.set $6 + local.get $5 + i32.load8_u + local.set $7 + local.get $6 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $7 + i32.store8 offset=1 + local.get $5 + local.get $6 + i32.store8 + end + local.get $3 + br $~lib/typedarray/SORT<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.get $5 + local.set $8 + local.get $4 + local.set $7 + local.get $2 + local.set $6 + i32.const 0 + drop + local.get $7 + i32.const 256 + i32.lt_s + if + local.get $8 + local.get $7 + local.get $6 + call $~lib/util/sort/insertionSort + else + local.get $8 + local.get $7 + local.get $6 + call $~lib/util/sort/weakHeapSort + end + local.get $3 + end + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 255 + i32.and + local.get $1 + i32.const 255 + i32.and + i32.gt_u + local.get $0 + i32.const 255 + i32.and + local.get $1 + i32.const 255 + i32.and + i32.lt_u + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $1 + i32.const 255 + i32.and + local.get $0 + i32.const 255 + i32.and + i32.gt_u + local.get $1 + i32.const 255 + i32.and + local.get $0 + i32.const 255 + i32.and + i32.lt_u + i32.sub + ) + (func $~lib/typedarray/Uint8ClampedArray#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + block $~lib/typedarray/SORT<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $4 + local.get $4 + i32.const 1 + i32.le_s + if + local.get $3 + br $~lib/typedarray/SORT<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.get $3 + i32.load offset=4 + local.set $5 + local.get $4 + i32.const 2 + i32.eq + if + local.get $5 + i32.load8_u offset=1 + local.set $6 + local.get $5 + i32.load8_u + local.set $7 + local.get $6 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $7 + i32.store8 offset=1 + local.get $5 + local.get $6 + i32.store8 + end + local.get $3 + br $~lib/typedarray/SORT<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.get $5 + local.set $8 + local.get $4 + local.set $7 + local.get $2 + local.set $6 + i32.const 0 + drop + local.get $7 + i32.const 256 + i32.lt_s + if + local.get $8 + local.get $7 + local.get $6 + call $~lib/util/sort/insertionSort + else + local.get $8 + local.get $7 + local.get $6 + call $~lib/util/sort/weakHeapSort + end + local.get $3 + end + ) + (func $~lib/util/sort/COMPARATOR~anonymous|1 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 255 + i32.and + local.get $1 + i32.const 255 + i32.and + i32.gt_u + local.get $0 + i32.const 255 + i32.and + local.get $1 + i32.const 255 + i32.and + i32.lt_u + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $1 + i32.const 255 + i32.and + local.get $0 + i32.const 255 + i32.and + i32.gt_u + local.get $1 + i32.const 255 + i32.and + local.get $0 + i32.const 255 + i32.and + i32.lt_u + i32.sub + ) + (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $0 + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.set $5 + local.get $3 + i32.const 1 + i32.sub + local.set $6 + block $while-break|1 + loop $while-continue|1 + local.get $6 + i32.const 0 + i32.ge_s + local.set $7 + local.get $7 + if + local.get $0 + local.get $6 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.set $8 + local.get $5 + local.get $8 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $0 + local.get $6 + local.tee $9 + i32.const 1 + i32.sub + local.set $6 + local.get $9 + i32.const 1 + i32.add + i32.const 1 + i32.shl + i32.add + local.get $8 + i32.store16 + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $0 + local.get $6 + i32.const 1 + i32.add + i32.const 1 + i32.shl + i32.add + local.get $5 + i32.store16 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + ) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + local.get $1 + i32.const 31 + i32.add + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + local.set $3 + local.get $3 + call $~lib/rt/tlsf/__alloc + local.set $4 + local.get $4 + i32.const 0 + local.get $3 + call $~lib/memory/memory.fill + local.get $1 + i32.const 1 + i32.sub + local.set $5 + loop $for-loop|0 + local.get $5 + i32.const 0 + i32.gt_s + local.set $6 + local.get $6 + if + local.get $5 + local.set $7 + loop $while-continue|1 + local.get $7 + i32.const 1 + i32.and + local.get $4 + local.get $7 + i32.const 6 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $7 + i32.const 1 + i32.shr_s + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.eq + local.set $8 + local.get $8 + if + local.get $7 + i32.const 1 + i32.shr_s + local.set $7 + br $while-continue|1 + end + end + local.get $7 + i32.const 1 + i32.shr_s + local.set $8 + local.get $0 + local.get $8 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.set $9 + local.get $0 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.set $10 + local.get $9 + local.get $10 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $5 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + local.get $0 + local.get $5 + i32.const 1 + i32.shl + i32.add + local.get $9 + i32.store16 + local.get $0 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $10 + i32.store16 + end + local.get $5 + i32.const 1 + i32.sub + local.set $5 + br $for-loop|0 + end + end + local.get $1 + i32.const 1 + i32.sub + local.set $5 + loop $for-loop|2 + local.get $5 + i32.const 2 + i32.ge_s + local.set $6 + local.get $6 + if + local.get $0 + i32.load16_s + local.set $10 + local.get $0 + local.get $0 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_s + i32.store16 + local.get $0 + local.get $5 + i32.const 1 + i32.shl + i32.add + local.get $10 + i32.store16 + i32.const 1 + local.set $9 + loop $while-continue|3 + local.get $9 + i32.const 1 + i32.shl + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $9 + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.add + local.tee $8 + local.get $5 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $8 + local.set $9 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $9 + i32.const 0 + i32.gt_s + local.set $7 + local.get $7 + if + local.get $0 + i32.load16_s + local.set $10 + local.get $0 + local.get $9 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.set $11 + local.get $10 + local.get $11 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $9 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + local.get $0 + local.get $9 + i32.const 1 + i32.shl + i32.add + local.get $10 + i32.store16 + local.get $0 + local.get $11 + i32.store16 + end + local.get $9 + i32.const 1 + i32.shr_s + local.set $9 + br $while-continue|4 + end + end + local.get $5 + i32.const 1 + i32.sub + local.set $5 + br $for-loop|2 + end + end + local.get $4 + call $~lib/rt/tlsf/__free + local.get $0 + i32.load16_s offset=2 + local.set $12 + local.get $0 + local.get $0 + i32.load16_s + i32.store16 offset=2 + local.get $0 + local.get $12 + i32.store16 + ) + (func $~lib/typedarray/Int16Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + block $~lib/typedarray/SORT<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + call $~lib/typedarray/Int16Array#get:length + local.set $4 + local.get $4 + i32.const 1 + i32.le_s + if + local.get $3 + br $~lib/typedarray/SORT<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.get $3 + i32.load offset=4 + local.set $5 + local.get $4 + i32.const 2 + i32.eq + if + local.get $5 + i32.load16_s offset=2 + local.set $6 + local.get $5 + i32.load16_s + local.set $7 + local.get $6 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $7 + i32.store16 offset=2 + local.get $5 + local.get $6 + i32.store16 + end + local.get $3 + br $~lib/typedarray/SORT<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.get $5 + local.set $8 + local.get $4 + local.set $7 + local.get $2 + local.set $6 + i32.const 0 + drop + local.get $7 + i32.const 256 + i32.lt_s + if + local.get $8 + local.get $7 + local.get $6 + call $~lib/util/sort/insertionSort + else + local.get $8 + local.get $7 + local.get $6 + call $~lib/util/sort/weakHeapSort + end + local.get $3 + end + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + local.get $0 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.gt_s + local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + local.get $0 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.lt_s + i32.sub + ) + (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $0 + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.set $5 + local.get $3 + i32.const 1 + i32.sub + local.set $6 + block $while-break|1 + loop $while-continue|1 + local.get $6 + i32.const 0 + i32.ge_s + local.set $7 + local.get $7 + if + local.get $0 + local.get $6 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.set $8 + local.get $5 + local.get $8 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $0 + local.get $6 + local.tee $9 + i32.const 1 + i32.sub + local.set $6 + local.get $9 + i32.const 1 + i32.add + i32.const 1 + i32.shl + i32.add + local.get $8 + i32.store16 + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $0 + local.get $6 + i32.const 1 + i32.add + i32.const 1 + i32.shl + i32.add + local.get $5 + i32.store16 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + ) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + local.get $1 + i32.const 31 + i32.add + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + local.set $3 + local.get $3 + call $~lib/rt/tlsf/__alloc + local.set $4 + local.get $4 + i32.const 0 + local.get $3 + call $~lib/memory/memory.fill + local.get $1 + i32.const 1 + i32.sub + local.set $5 + loop $for-loop|0 + local.get $5 + i32.const 0 + i32.gt_s + local.set $6 + local.get $6 + if + local.get $5 + local.set $7 + loop $while-continue|1 + local.get $7 + i32.const 1 + i32.and + local.get $4 + local.get $7 + i32.const 6 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $7 + i32.const 1 + i32.shr_s + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.eq + local.set $8 + local.get $8 + if + local.get $7 + i32.const 1 + i32.shr_s + local.set $7 + br $while-continue|1 + end + end + local.get $7 + i32.const 1 + i32.shr_s + local.set $8 + local.get $0 + local.get $8 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.set $9 + local.get $0 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.set $10 + local.get $9 + local.get $10 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $5 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + local.get $0 + local.get $5 + i32.const 1 + i32.shl + i32.add + local.get $9 + i32.store16 + local.get $0 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $10 + i32.store16 + end + local.get $5 + i32.const 1 + i32.sub + local.set $5 + br $for-loop|0 + end + end + local.get $1 + i32.const 1 + i32.sub + local.set $5 + loop $for-loop|2 + local.get $5 + i32.const 2 + i32.ge_s + local.set $6 + local.get $6 + if + local.get $0 + i32.load16_u + local.set $10 + local.get $0 + local.get $0 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_u + i32.store16 + local.get $0 + local.get $5 + i32.const 1 + i32.shl + i32.add + local.get $10 + i32.store16 + i32.const 1 + local.set $9 + loop $while-continue|3 + local.get $9 + i32.const 1 + i32.shl + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $9 + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.add + local.tee $8 + local.get $5 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $8 + local.set $9 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $9 + i32.const 0 + i32.gt_s + local.set $7 + local.get $7 + if + local.get $0 + i32.load16_u + local.set $10 + local.get $0 + local.get $9 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.set $11 + local.get $10 + local.get $11 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $9 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + local.get $0 + local.get $9 + i32.const 1 + i32.shl + i32.add + local.get $10 + i32.store16 + local.get $0 + local.get $11 + i32.store16 + end + local.get $9 + i32.const 1 + i32.shr_s + local.set $9 + br $while-continue|4 + end + end + local.get $5 + i32.const 1 + i32.sub + local.set $5 + br $for-loop|2 + end + end + local.get $4 + call $~lib/rt/tlsf/__free + local.get $0 + i32.load16_u offset=2 + local.set $12 + local.get $0 + local.get $0 + i32.load16_u + i32.store16 offset=2 + local.get $0 + local.get $12 + i32.store16 + ) + (func $~lib/typedarray/Uint16Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + block $~lib/typedarray/SORT<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + call $~lib/typedarray/Uint16Array#get:length + local.set $4 + local.get $4 + i32.const 1 + i32.le_s + if + local.get $3 + br $~lib/typedarray/SORT<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.get $3 + i32.load offset=4 + local.set $5 + local.get $4 + i32.const 2 + i32.eq + if + local.get $5 + i32.load16_u offset=2 + local.set $6 + local.get $5 + i32.load16_u + local.set $7 + local.get $6 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $7 + i32.store16 offset=2 + local.get $5 + local.get $6 + i32.store16 + end + local.get $3 + br $~lib/typedarray/SORT<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.get $5 + local.set $8 + local.get $4 + local.set $7 + local.get $2 + local.set $6 + i32.const 0 + drop + local.get $7 + i32.const 256 + i32.lt_s + if + local.get $8 + local.get $7 + local.get $6 + call $~lib/util/sort/insertionSort + else + local.get $8 + local.get $7 + local.get $6 + call $~lib/util/sort/weakHeapSort + end + local.get $3 + end + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 65535 + i32.and + local.get $1 + i32.const 65535 + i32.and + i32.gt_u + local.get $0 + i32.const 65535 + i32.and + local.get $1 + i32.const 65535 + i32.and + i32.lt_u + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $1 + i32.const 65535 + i32.and + local.get $0 + i32.const 65535 + i32.and + i32.gt_u + local.get $1 + i32.const 65535 + i32.and + local.get $0 + i32.const 65535 + i32.and + i32.lt_u + i32.sub + ) + (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $5 + local.get $3 + i32.const 1 + i32.sub + local.set $6 + block $while-break|1 + loop $while-continue|1 + local.get $6 + i32.const 0 + i32.ge_s + local.set $7 + local.get $7 + if + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $8 + local.get $5 + local.get $8 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $0 + local.get $6 + local.tee $9 + i32.const 1 + i32.sub + local.set $6 + local.get $9 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.store + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $0 + local.get $6 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $5 + i32.store + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + ) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + local.get $1 + i32.const 31 + i32.add + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + local.set $3 + local.get $3 + call $~lib/rt/tlsf/__alloc + local.set $4 + local.get $4 + i32.const 0 + local.get $3 + call $~lib/memory/memory.fill + local.get $1 + i32.const 1 + i32.sub + local.set $5 + loop $for-loop|0 + local.get $5 + i32.const 0 + i32.gt_s + local.set $6 + local.get $6 + if + local.get $5 + local.set $7 + loop $while-continue|1 + local.get $7 + i32.const 1 + i32.and + local.get $4 + local.get $7 + i32.const 6 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $7 + i32.const 1 + i32.shr_s + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.eq + local.set $8 + local.get $8 + if + local.get $7 + i32.const 1 + i32.shr_s + local.set $7 + br $while-continue|1 + end + end + local.get $7 + i32.const 1 + i32.shr_s + local.set $8 + local.get $0 + local.get $8 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $9 + local.get $0 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $10 + local.get $9 + local.get $10 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $5 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + local.get $0 + local.get $5 + i32.const 2 + i32.shl + i32.add + local.get $9 + i32.store + local.get $0 + local.get $8 + i32.const 2 + i32.shl + i32.add + local.get $10 + i32.store + end + local.get $5 + i32.const 1 + i32.sub + local.set $5 + br $for-loop|0 + end + end + local.get $1 + i32.const 1 + i32.sub + local.set $5 + loop $for-loop|2 + local.get $5 + i32.const 2 + i32.ge_s + local.set $6 + local.get $6 + if + local.get $0 + i32.load + local.set $10 + local.get $0 + local.get $0 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + i32.store + local.get $0 + local.get $5 + i32.const 2 + i32.shl + i32.add + local.get $10 + i32.store + i32.const 1 + local.set $9 + loop $while-continue|3 + local.get $9 + i32.const 1 + i32.shl + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $9 + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.add + local.tee $8 + local.get $5 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $8 + local.set $9 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $9 + i32.const 0 + i32.gt_s + local.set $7 + local.get $7 + if + local.get $0 + i32.load + local.set $10 + local.get $0 + local.get $9 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $11 + local.get $10 + local.get $11 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $9 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + local.get $0 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $10 + i32.store + local.get $0 + local.get $11 + i32.store + end + local.get $9 + i32.const 1 + i32.shr_s + local.set $9 + br $while-continue|4 + end + end + local.get $5 + i32.const 1 + i32.sub + local.set $5 + br $for-loop|2 + end + end + local.get $4 + call $~lib/rt/tlsf/__free + local.get $0 + i32.load offset=4 + local.set $12 + local.get $0 + local.get $0 + i32.load + i32.store offset=4 + local.get $0 + local.get $12 + i32.store + ) + (func $~lib/typedarray/Int32Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + block $~lib/typedarray/SORT<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + call $~lib/typedarray/Int32Array#get:length + local.set $4 + local.get $4 + i32.const 1 + i32.le_s + if + local.get $3 + br $~lib/typedarray/SORT<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.get $3 + i32.load offset=4 + local.set $5 + local.get $4 + i32.const 2 + i32.eq + if + local.get $5 + i32.load offset=4 + local.set $6 + local.get $5 + i32.load + local.set $7 + local.get $6 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $7 + i32.store offset=4 + local.get $5 + local.get $6 + i32.store + end + local.get $3 + br $~lib/typedarray/SORT<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.get $5 + local.set $8 + local.get $4 + local.set $7 + local.get $2 + local.set $6 + i32.const 0 + drop + local.get $7 + i32.const 256 + i32.lt_s + if + local.get $8 + local.get $7 + local.get $6 + call $~lib/util/sort/insertionSort + else + local.get $8 + local.get $7 + local.get $6 + call $~lib/util/sort/weakHeapSort + end + local.get $3 + end + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $1 + local.get $0 + i32.gt_s + local.get $1 + local.get $0 + i32.lt_s + i32.sub + ) + (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $5 + local.get $3 + i32.const 1 + i32.sub + local.set $6 + block $while-break|1 + loop $while-continue|1 + local.get $6 + i32.const 0 + i32.ge_s + local.set $7 + local.get $7 + if + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $8 + local.get $5 + local.get $8 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $0 + local.get $6 + local.tee $9 + i32.const 1 + i32.sub + local.set $6 + local.get $9 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.store + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $0 + local.get $6 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $5 + i32.store + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + ) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + local.get $1 + i32.const 31 + i32.add + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + local.set $3 + local.get $3 + call $~lib/rt/tlsf/__alloc + local.set $4 + local.get $4 + i32.const 0 + local.get $3 + call $~lib/memory/memory.fill + local.get $1 + i32.const 1 + i32.sub + local.set $5 + loop $for-loop|0 + local.get $5 + i32.const 0 + i32.gt_s + local.set $6 + local.get $6 + if + local.get $5 + local.set $7 + loop $while-continue|1 + local.get $7 + i32.const 1 + i32.and + local.get $4 + local.get $7 + i32.const 6 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $7 + i32.const 1 + i32.shr_s + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.eq + local.set $8 + local.get $8 + if + local.get $7 + i32.const 1 + i32.shr_s + local.set $7 + br $while-continue|1 + end + end + local.get $7 + i32.const 1 + i32.shr_s + local.set $8 + local.get $0 + local.get $8 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $9 + local.get $0 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $10 + local.get $9 + local.get $10 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $5 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + local.get $0 + local.get $5 + i32.const 2 + i32.shl + i32.add + local.get $9 + i32.store + local.get $0 + local.get $8 + i32.const 2 + i32.shl + i32.add + local.get $10 + i32.store + end + local.get $5 + i32.const 1 + i32.sub + local.set $5 + br $for-loop|0 + end + end + local.get $1 + i32.const 1 + i32.sub + local.set $5 + loop $for-loop|2 + local.get $5 + i32.const 2 + i32.ge_s + local.set $6 + local.get $6 + if + local.get $0 + i32.load + local.set $10 + local.get $0 + local.get $0 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + i32.store + local.get $0 + local.get $5 + i32.const 2 + i32.shl + i32.add + local.get $10 + i32.store + i32.const 1 + local.set $9 + loop $while-continue|3 + local.get $9 + i32.const 1 + i32.shl + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $9 + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.add + local.tee $8 + local.get $5 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $8 + local.set $9 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $9 + i32.const 0 + i32.gt_s + local.set $7 + local.get $7 + if + local.get $0 + i32.load + local.set $10 + local.get $0 + local.get $9 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $11 + local.get $10 + local.get $11 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $9 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + local.get $0 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $10 + i32.store + local.get $0 + local.get $11 + i32.store + end + local.get $9 + i32.const 1 + i32.shr_s + local.set $9 + br $while-continue|4 + end + end + local.get $5 + i32.const 1 + i32.sub + local.set $5 + br $for-loop|2 + end + end + local.get $4 + call $~lib/rt/tlsf/__free + local.get $0 + i32.load offset=4 + local.set $12 + local.get $0 + local.get $0 + i32.load + i32.store offset=4 + local.get $0 + local.get $12 + i32.store + ) + (func $~lib/typedarray/Uint32Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + block $~lib/typedarray/SORT<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + call $~lib/typedarray/Uint32Array#get:length + local.set $4 + local.get $4 + i32.const 1 + i32.le_s + if + local.get $3 + br $~lib/typedarray/SORT<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.get $3 + i32.load offset=4 + local.set $5 + local.get $4 + i32.const 2 + i32.eq + if + local.get $5 + i32.load offset=4 + local.set $6 + local.get $5 + i32.load + local.set $7 + local.get $6 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $7 + i32.store offset=4 + local.get $5 + local.get $6 + i32.store + end + local.get $3 + br $~lib/typedarray/SORT<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.get $5 + local.set $8 + local.get $4 + local.set $7 + local.get $2 + local.set $6 + i32.const 0 + drop + local.get $7 + i32.const 256 + i32.lt_s + if + local.get $8 + local.get $7 + local.get $6 + call $~lib/util/sort/insertionSort + else + local.get $8 + local.get $7 + local.get $6 + call $~lib/util/sort/weakHeapSort + end + local.get $3 + end + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + i32.gt_u + local.get $0 + local.get $1 + i32.lt_u + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $1 + local.get $0 + i32.gt_u + local.get $1 + local.get $0 + i32.lt_u + i32.sub + ) + (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i64) + (local $6 i32) + (local $7 i32) + (local $8 i64) + (local $9 i32) + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $5 + local.get $3 + i32.const 1 + i32.sub + local.set $6 + block $while-break|1 + loop $while-continue|1 + local.get $6 + i32.const 0 + i32.ge_s + local.set $7 + local.get $7 + if + local.get $0 + local.get $6 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $8 + local.get $5 + local.get $8 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $0 + local.get $6 + local.tee $9 + i32.const 1 + i32.sub + local.set $6 + local.get $9 + i32.const 1 + i32.add + i32.const 3 + i32.shl + i32.add + local.get $8 + i64.store + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $0 + local.get $6 + i32.const 1 + i32.add + i32.const 3 + i32.shl + i32.add + local.get $5 + i64.store + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + ) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i64) + (local $10 i64) + (local $11 i32) + (local $12 i64) + local.get $1 + i32.const 31 + i32.add + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + local.set $3 + local.get $3 + call $~lib/rt/tlsf/__alloc + local.set $4 + local.get $4 + i32.const 0 + local.get $3 + call $~lib/memory/memory.fill + local.get $1 + i32.const 1 + i32.sub + local.set $5 + loop $for-loop|0 + local.get $5 + i32.const 0 + i32.gt_s + local.set $6 + local.get $6 + if + local.get $5 + local.set $7 + loop $while-continue|1 + local.get $7 + i32.const 1 + i32.and + local.get $4 + local.get $7 + i32.const 6 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $7 + i32.const 1 + i32.shr_s + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.eq + local.set $8 + local.get $8 + if + local.get $7 + i32.const 1 + i32.shr_s + local.set $7 + br $while-continue|1 + end + end + local.get $7 + i32.const 1 + i32.shr_s + local.set $8 + local.get $0 + local.get $8 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $9 + local.get $0 + local.get $5 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $10 + local.get $9 + local.get $10 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $5 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + local.get $0 + local.get $5 + i32.const 3 + i32.shl + i32.add + local.get $9 + i64.store + local.get $0 + local.get $8 + i32.const 3 + i32.shl + i32.add + local.get $10 + i64.store + end + local.get $5 + i32.const 1 + i32.sub + local.set $5 + br $for-loop|0 + end + end + local.get $1 + i32.const 1 + i32.sub + local.set $5 + loop $for-loop|2 + local.get $5 + i32.const 2 + i32.ge_s + local.set $6 + local.get $6 + if + local.get $0 + i64.load + local.set $10 + local.get $0 + local.get $0 + local.get $5 + i32.const 3 + i32.shl + i32.add + i64.load + i64.store + local.get $0 + local.get $5 + i32.const 3 + i32.shl + i32.add + local.get $10 + i64.store + i32.const 1 + local.set $8 + loop $while-continue|3 + local.get $8 + i32.const 1 + i32.shl + local.get $4 + local.get $8 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $8 + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.add + local.tee $7 + local.get $5 + i32.lt_s + local.set $11 + local.get $11 + if + local.get $7 + local.set $8 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $8 + i32.const 0 + i32.gt_s + local.set $11 + local.get $11 + if + local.get $0 + i64.load + local.set $10 + local.get $0 + local.get $8 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $9 + local.get $10 + local.get $9 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $8 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.get $4 + local.get $8 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $8 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + local.get $0 + local.get $8 + i32.const 3 + i32.shl + i32.add + local.get $10 + i64.store + local.get $0 + local.get $9 + i64.store + end + local.get $8 + i32.const 1 + i32.shr_s + local.set $8 + br $while-continue|4 + end + end + local.get $5 + i32.const 1 + i32.sub + local.set $5 + br $for-loop|2 + end + end + local.get $4 + call $~lib/rt/tlsf/__free + local.get $0 + i64.load offset=8 + local.set $12 + local.get $0 + local.get $0 + i64.load + i64.store offset=8 + local.get $0 + local.get $12 + i64.store + ) + (func $~lib/typedarray/Int64Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i64) + (local $7 i64) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/typedarray/SORT<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + call $~lib/typedarray/Int64Array#get:length + local.set $4 + local.get $4 + i32.const 1 + i32.le_s + if + local.get $3 + br $~lib/typedarray/SORT<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $3 + i32.load offset=4 + local.set $5 + local.get $4 + i32.const 2 + i32.eq + if + local.get $5 + i64.load offset=8 + local.set $6 + local.get $5 + i64.load + local.set $7 + local.get $6 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $7 + i64.store offset=8 + local.get $5 + local.get $6 + i64.store + end + local.get $3 + br $~lib/typedarray/SORT<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $5 + local.set $10 + local.get $4 + local.set $9 + local.get $2 + local.set $8 + i32.const 0 + drop + local.get $9 + i32.const 256 + i32.lt_s + if + local.get $10 + local.get $9 + local.get $8 + call $~lib/util/sort/insertionSort + else + local.get $10 + local.get $9 + local.get $8 + call $~lib/util/sort/weakHeapSort + end + local.get $3 + end + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i64) (param $1 i64) (result i32) + local.get $0 + local.get $1 + i64.gt_s + local.get $0 + local.get $1 + i64.lt_s + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i64) (result i32) + local.get $1 + local.get $0 + i64.gt_s + local.get $1 + local.get $0 + i64.lt_s + i32.sub + ) + (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i64) + (local $6 i32) + (local $7 i32) + (local $8 i64) + (local $9 i32) + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $5 + local.get $3 + i32.const 1 + i32.sub + local.set $6 + block $while-break|1 + loop $while-continue|1 + local.get $6 + i32.const 0 + i32.ge_s + local.set $7 + local.get $7 + if + local.get $0 + local.get $6 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $8 + local.get $5 + local.get $8 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $0 + local.get $6 + local.tee $9 + i32.const 1 + i32.sub + local.set $6 + local.get $9 + i32.const 1 + i32.add + i32.const 3 + i32.shl + i32.add + local.get $8 + i64.store + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $0 + local.get $6 + i32.const 1 + i32.add + i32.const 3 + i32.shl + i32.add + local.get $5 + i64.store + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + ) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i64) + (local $10 i64) + (local $11 i32) + (local $12 i64) + local.get $1 + i32.const 31 + i32.add + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + local.set $3 + local.get $3 + call $~lib/rt/tlsf/__alloc + local.set $4 + local.get $4 + i32.const 0 + local.get $3 + call $~lib/memory/memory.fill + local.get $1 + i32.const 1 + i32.sub + local.set $5 + loop $for-loop|0 + local.get $5 + i32.const 0 + i32.gt_s + local.set $6 + local.get $6 + if + local.get $5 + local.set $7 + loop $while-continue|1 + local.get $7 + i32.const 1 + i32.and + local.get $4 + local.get $7 + i32.const 6 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $7 + i32.const 1 + i32.shr_s + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.eq + local.set $8 + local.get $8 + if + local.get $7 + i32.const 1 + i32.shr_s + local.set $7 + br $while-continue|1 + end + end + local.get $7 + i32.const 1 + i32.shr_s + local.set $8 + local.get $0 + local.get $8 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $9 + local.get $0 + local.get $5 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $10 + local.get $9 + local.get $10 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $5 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + local.get $0 + local.get $5 + i32.const 3 + i32.shl + i32.add + local.get $9 + i64.store + local.get $0 + local.get $8 + i32.const 3 + i32.shl + i32.add + local.get $10 + i64.store + end + local.get $5 + i32.const 1 + i32.sub + local.set $5 + br $for-loop|0 + end + end + local.get $1 + i32.const 1 + i32.sub + local.set $5 + loop $for-loop|2 + local.get $5 + i32.const 2 + i32.ge_s + local.set $6 + local.get $6 + if + local.get $0 + i64.load + local.set $10 + local.get $0 + local.get $0 + local.get $5 + i32.const 3 + i32.shl + i32.add + i64.load + i64.store + local.get $0 + local.get $5 + i32.const 3 + i32.shl + i32.add + local.get $10 + i64.store + i32.const 1 + local.set $8 + loop $while-continue|3 + local.get $8 + i32.const 1 + i32.shl + local.get $4 + local.get $8 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $8 + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.add + local.tee $7 + local.get $5 + i32.lt_s + local.set $11 + local.get $11 + if + local.get $7 + local.set $8 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $8 + i32.const 0 + i32.gt_s + local.set $11 + local.get $11 + if + local.get $0 + i64.load + local.set $10 + local.get $0 + local.get $8 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $9 + local.get $10 + local.get $9 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $8 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.get $4 + local.get $8 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $8 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + local.get $0 + local.get $8 + i32.const 3 + i32.shl + i32.add + local.get $10 + i64.store + local.get $0 + local.get $9 + i64.store + end + local.get $8 + i32.const 1 + i32.shr_s + local.set $8 + br $while-continue|4 + end + end + local.get $5 + i32.const 1 + i32.sub + local.set $5 + br $for-loop|2 + end + end + local.get $4 + call $~lib/rt/tlsf/__free + local.get $0 + i64.load offset=8 + local.set $12 + local.get $0 + local.get $0 + i64.load + i64.store offset=8 + local.get $0 + local.get $12 + i64.store + ) + (func $~lib/typedarray/Uint64Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i64) + (local $7 i64) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/typedarray/SORT<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + call $~lib/typedarray/Uint64Array#get:length + local.set $4 + local.get $4 + i32.const 1 + i32.le_s + if + local.get $3 + br $~lib/typedarray/SORT<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $3 + i32.load offset=4 + local.set $5 + local.get $4 + i32.const 2 + i32.eq + if + local.get $5 + i64.load offset=8 + local.set $6 + local.get $5 + i64.load + local.set $7 + local.get $6 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $7 + i64.store offset=8 + local.get $5 + local.get $6 + i64.store + end + local.get $3 + br $~lib/typedarray/SORT<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $5 + local.set $10 + local.get $4 + local.set $9 + local.get $2 + local.set $8 + i32.const 0 + drop + local.get $9 + i32.const 256 + i32.lt_s + if + local.get $10 + local.get $9 + local.get $8 + call $~lib/util/sort/insertionSort + else + local.get $10 + local.get $9 + local.get $8 + call $~lib/util/sort/weakHeapSort + end + local.get $3 + end + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i64) (param $1 i64) (result i32) + local.get $0 + local.get $1 + i64.gt_u + local.get $0 + local.get $1 + i64.lt_u + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $0 i64) (param $1 i64) (result i32) + local.get $1 + local.get $0 + i64.gt_u + local.get $1 + local.get $0 + i64.lt_u + i32.sub + ) + (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 f32) + (local $6 i32) + (local $7 i32) + (local $8 f32) + (local $9 i32) + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $5 + local.get $3 + i32.const 1 + i32.sub + local.set $6 + block $while-break|1 + loop $while-continue|1 + local.get $6 + i32.const 0 + i32.ge_s + local.set $7 + local.get $7 + if + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $8 + local.get $5 + local.get $8 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $0 + local.get $6 + local.tee $9 + i32.const 1 + i32.sub + local.set $6 + local.get $9 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $8 + f32.store + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $0 + local.get $6 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $5 + f32.store + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + ) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 f32) + (local $10 f32) + (local $11 i32) + (local $12 f32) + local.get $1 + i32.const 31 + i32.add + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + local.set $3 + local.get $3 + call $~lib/rt/tlsf/__alloc + local.set $4 + local.get $4 + i32.const 0 + local.get $3 + call $~lib/memory/memory.fill + local.get $1 + i32.const 1 + i32.sub + local.set $5 + loop $for-loop|0 + local.get $5 + i32.const 0 + i32.gt_s + local.set $6 + local.get $6 + if + local.get $5 + local.set $7 + loop $while-continue|1 + local.get $7 + i32.const 1 + i32.and + local.get $4 + local.get $7 + i32.const 6 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $7 + i32.const 1 + i32.shr_s + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.eq + local.set $8 + local.get $8 + if + local.get $7 + i32.const 1 + i32.shr_s + local.set $7 + br $while-continue|1 + end + end + local.get $7 + i32.const 1 + i32.shr_s + local.set $8 + local.get $0 + local.get $8 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $9 + local.get $0 + local.get $5 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $10 + local.get $9 + local.get $10 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $5 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + local.get $0 + local.get $5 + i32.const 2 + i32.shl + i32.add + local.get $9 + f32.store + local.get $0 + local.get $8 + i32.const 2 + i32.shl + i32.add + local.get $10 + f32.store + end + local.get $5 + i32.const 1 + i32.sub + local.set $5 + br $for-loop|0 + end + end + local.get $1 + i32.const 1 + i32.sub + local.set $5 + loop $for-loop|2 + local.get $5 + i32.const 2 + i32.ge_s + local.set $6 + local.get $6 + if + local.get $0 + f32.load + local.set $10 + local.get $0 + local.get $0 + local.get $5 + i32.const 2 + i32.shl + i32.add + f32.load + f32.store + local.get $0 + local.get $5 + i32.const 2 + i32.shl + i32.add + local.get $10 + f32.store + i32.const 1 + local.set $8 + loop $while-continue|3 + local.get $8 + i32.const 1 + i32.shl + local.get $4 + local.get $8 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $8 + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.add + local.tee $7 + local.get $5 + i32.lt_s + local.set $11 + local.get $11 + if + local.get $7 + local.set $8 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $8 + i32.const 0 + i32.gt_s + local.set $11 + local.get $11 + if + local.get $0 + f32.load + local.set $10 + local.get $0 + local.get $8 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $9 + local.get $10 + local.get $9 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $8 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.get $4 + local.get $8 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $8 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + local.get $0 + local.get $8 + i32.const 2 + i32.shl + i32.add + local.get $10 + f32.store + local.get $0 + local.get $9 + f32.store + end + local.get $8 + i32.const 1 + i32.shr_s + local.set $8 + br $while-continue|4 + end + end + local.get $5 + i32.const 1 + i32.sub + local.set $5 + br $for-loop|2 + end + end + local.get $4 + call $~lib/rt/tlsf/__free + local.get $0 + f32.load offset=4 + local.set $12 + local.get $0 + local.get $0 + f32.load + f32.store offset=4 + local.get $0 + local.get $12 + f32.store + ) + (func $~lib/typedarray/Float32Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 f32) + (local $7 f32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/typedarray/SORT<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + call $~lib/typedarray/Float32Array#get:length + local.set $4 + local.get $4 + i32.const 1 + i32.le_s + if + local.get $3 + br $~lib/typedarray/SORT<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $3 + i32.load offset=4 + local.set $5 + local.get $4 + i32.const 2 + i32.eq + if + local.get $5 + f32.load offset=4 + local.set $6 + local.get $5 + f32.load + local.set $7 + local.get $6 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $7 + f32.store offset=4 + local.get $5 + local.get $6 + f32.store + end + local.get $3 + br $~lib/typedarray/SORT<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $5 + local.set $10 + local.get $4 + local.set $9 + local.get $2 + local.set $8 + i32.const 0 + drop + local.get $9 + i32.const 256 + i32.lt_s + if + local.get $10 + local.get $9 + local.get $8 + call $~lib/util/sort/insertionSort + else + local.get $10 + local.get $9 + local.get $8 + call $~lib/util/sort/weakHeapSort + end + local.get $3 + end + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 f32) (param $1 f32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.reinterpret_f32 + local.set $2 + local.get $1 + i32.reinterpret_f32 + local.set $3 + local.get $2 + local.get $2 + i32.const 31 + i32.shr_s + i32.const 1 + i32.shr_u + i32.xor + local.set $2 + local.get $3 + local.get $3 + i32.const 31 + i32.shr_s + i32.const 1 + i32.shr_u + i32.xor + local.set $3 + local.get $2 + local.get $3 + i32.gt_s + local.get $2 + local.get $3 + i32.lt_s + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 f32) (result i32) + local.get $1 + local.get $0 + f32.gt + local.get $1 + local.get $0 + f32.lt + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 f64) (result i32) + local.get $1 + local.get $0 + f64.gt + local.get $1 + local.get $0 + f64.lt + i32.sub + ) + (func $~lib/rt/itcms/__collect + (local $0 i32) + i32.const 0 + drop + global.get $~lib/rt/itcms/state + i32.const 0 + i32.gt_s + if + loop $while-continue|0 + global.get $~lib/rt/itcms/state + i32.const 0 + i32.ne + local.set $0 + local.get $0 + if + call $~lib/rt/itcms/step + drop + br $while-continue|0 + end + end + end + call $~lib/rt/itcms/step + drop + loop $while-continue|1 + global.get $~lib/rt/itcms/state + i32.const 0 + i32.ne + local.set $0 + local.get $0 + if + call $~lib/rt/itcms/step + drop + br $while-continue|1 + end + end + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i64.const 200 + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + drop + ) + (func $~lib/rt/__visit_globals (param $0 i32) + (local $1 i32) + global.get $std/typedarray/forEachValues + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + global.get $std/typedarray/testArrayReverseValues + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + global.get $std/typedarray/testArrayWrapValues + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + global.get $std/typedarray/setSource1 + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + global.get $std/typedarray/setSource2 + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + global.get $std/typedarray/setSource3 + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + global.get $std/typedarray/setSource7 + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + i32.const 336 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 32 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 144 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 6704 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 7760 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + end + ) + (func $~lib/typedarray/Int8Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/typedarray/Uint8Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/typedarray/Uint8ClampedArray~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/typedarray/Int16Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/typedarray/Uint16Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 call $~lib/arraybuffer/ArrayBufferView~visit ) (func $~lib/typedarray/Int32Array~visit (param $0 i32) (param $1 i32) @@ -33659,420 +38224,573 @@ local.get $1 call $~lib/array/Array#__visit ) + (func $~lib/function/Function<%28i8%2Ci8%29=>i32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i8%2Ci8%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i8%2Ci8%29=>i32>#__visit + ) + (func $~lib/function/Function<%28u8%2Cu8%29=>i32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u8%2Cu8%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Cu8%29=>i32>#__visit + ) + (func $~lib/function/Function<%28i16%2Ci16%29=>i32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i16%2Ci16%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i16%2Ci16%29=>i32>#__visit + ) + (func $~lib/function/Function<%28u16%2Cu16%29=>i32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u16%2Cu16%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u16%2Cu16%29=>i32>#__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit + ) + (func $~lib/function/Function<%28u32%2Cu32%29=>i32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u32%2Cu32%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u32%2Cu32%29=>i32>#__visit + ) + (func $~lib/function/Function<%28i64%2Ci64%29=>i32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i64%2Ci64%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i64%2Ci64%29=>i32>#__visit + ) + (func $~lib/function/Function<%28u64%2Cu64%29=>i32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u64%2Cu64%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u64%2Cu64%29=>i32>#__visit + ) + (func $~lib/function/Function<%28f32%2Cf32%29=>i32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28f32%2Cf32%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28f32%2Cf32%29=>i32>#__visit + ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void> - block $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void> - block $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void> - block $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void> - block $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void> - block $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void> - block $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void> - block $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void> - block $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void> - block $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void> - block $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void> - block $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool> - block $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool> - block $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool> - block $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool> - block $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool> - block $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool> - block $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool> - block $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool> - block $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool> - block $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool> - block $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool> - block $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64> - block $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32> - block $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64> - block $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64> - block $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32> - block $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32> - block $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16> - block $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16> - block $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8> - block $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8> - block $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8> - block $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64> - block $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32> - block $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64> - block $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64> - block $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32> - block $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32> - block $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16> - block $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16> - block $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8> - block $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8> - block $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8> - block $~lib/array/Array - block $~lib/array/Array - block $~lib/function/Function<%28f64%2Cf64%29=>i32> - block $~lib/typedarray/Float64Array - block $~lib/typedarray/Float32Array - block $~lib/typedarray/Uint64Array - block $~lib/typedarray/Int64Array - block $~lib/typedarray/Uint32Array - block $~lib/typedarray/Int32Array - block $~lib/typedarray/Uint16Array - block $~lib/typedarray/Int16Array - block $~lib/typedarray/Uint8ClampedArray - block $~lib/typedarray/Uint8Array - block $~lib/typedarray/Int8Array - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer + block $~lib/function/Function<%28f32%2Cf32%29=>i32> + block $~lib/function/Function<%28u64%2Cu64%29=>i32> + block $~lib/function/Function<%28i64%2Ci64%29=>i32> + block $~lib/function/Function<%28u32%2Cu32%29=>i32> + block $~lib/function/Function<%28i32%2Ci32%29=>i32> + block $~lib/function/Function<%28u16%2Cu16%29=>i32> + block $~lib/function/Function<%28i16%2Ci16%29=>i32> + block $~lib/function/Function<%28u8%2Cu8%29=>i32> + block $~lib/function/Function<%28i8%2Ci8%29=>i32> + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void> + block $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void> + block $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void> + block $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void> + block $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void> + block $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void> + block $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void> + block $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void> + block $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void> + block $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void> + block $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void> + block $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool> + block $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool> + block $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool> + block $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool> + block $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool> + block $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool> + block $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool> + block $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool> + block $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool> + block $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool> + block $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool> + block $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64> + block $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32> + block $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64> + block $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64> + block $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32> + block $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32> + block $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16> + block $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16> + block $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8> + block $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8> + block $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8> + block $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64> + block $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32> + block $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64> + block $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64> + block $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32> + block $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32> + block $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16> + block $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16> + block $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8> + block $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8> + block $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8> + block $~lib/array/Array + block $~lib/array/Array + block $~lib/function/Function<%28f64%2Cf64%29=>i32> + block $~lib/typedarray/Float64Array + block $~lib/typedarray/Float32Array + block $~lib/typedarray/Uint64Array + block $~lib/typedarray/Int64Array + block $~lib/typedarray/Uint32Array + block $~lib/typedarray/Int32Array + block $~lib/typedarray/Uint16Array + block $~lib/typedarray/Int16Array + block $~lib/typedarray/Uint8ClampedArray + block $~lib/typedarray/Uint8Array + block $~lib/typedarray/Int8Array + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/typedarray/Int8Array $~lib/typedarray/Uint8Array $~lib/typedarray/Uint8ClampedArray $~lib/typedarray/Int16Array $~lib/typedarray/Uint16Array $~lib/typedarray/Int32Array $~lib/typedarray/Uint32Array $~lib/typedarray/Int64Array $~lib/typedarray/Uint64Array $~lib/typedarray/Float32Array $~lib/typedarray/Float64Array $~lib/function/Function<%28f64%2Cf64%29=>i32> $~lib/array/Array $~lib/array/Array $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8> $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8> $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8> $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16> $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16> $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32> $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32> $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64> $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64> $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32> $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64> $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8> $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16> $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16> $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32> $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32> $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64> $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64> $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32> $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64> $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool> $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool> $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool> $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool> $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool> $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool> $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool> $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool> $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool> $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void> $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void> $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void> $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void> $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void> $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void> $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void> $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void> $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void> $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/function/Function<%28i8%2Ci8%29=>i32> $~lib/function/Function<%28u8%2Cu8%29=>i32> $~lib/function/Function<%28i16%2Ci16%29=>i32> $~lib/function/Function<%28u16%2Cu16%29=>i32> $~lib/function/Function<%28i32%2Ci32%29=>i32> $~lib/function/Function<%28u32%2Cu32%29=>i32> $~lib/function/Function<%28i64%2Ci64%29=>i32> $~lib/function/Function<%28u64%2Cu64%29=>i32> $~lib/function/Function<%28f32%2Cf32%29=>i32> $invalid + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + return + end + local.get $0 + local.get $1 + call $~lib/typedarray/Int8Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/typedarray/Uint8Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/typedarray/Uint8ClampedArray~visit + return + end + local.get $0 + local.get $1 + call $~lib/typedarray/Int16Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/typedarray/Uint16Array~visit + return + end local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/typedarray/Int8Array $~lib/typedarray/Uint8Array $~lib/typedarray/Uint8ClampedArray $~lib/typedarray/Int16Array $~lib/typedarray/Uint16Array $~lib/typedarray/Int32Array $~lib/typedarray/Uint32Array $~lib/typedarray/Int64Array $~lib/typedarray/Uint64Array $~lib/typedarray/Float32Array $~lib/typedarray/Float64Array $~lib/function/Function<%28f64%2Cf64%29=>i32> $~lib/array/Array $~lib/array/Array $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8> $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8> $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8> $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16> $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16> $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32> $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32> $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64> $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64> $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32> $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64> $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8> $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16> $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16> $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32> $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32> $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64> $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64> $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32> $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64> $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool> $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool> $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool> $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool> $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool> $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool> $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool> $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool> $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool> $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void> $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void> $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void> $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void> $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void> $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void> $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void> $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void> $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void> $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $invalid + local.get $1 + call $~lib/typedarray/Int32Array~visit + return end + local.get $0 + local.get $1 + call $~lib/typedarray/Uint32Array~visit return end + local.get $0 + local.get $1 + call $~lib/typedarray/Int64Array~visit return end local.get $0 local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit + call $~lib/typedarray/Uint64Array~visit return end local.get $0 local.get $1 - call $~lib/typedarray/Int8Array~visit + call $~lib/typedarray/Float32Array~visit return end local.get $0 local.get $1 - call $~lib/typedarray/Uint8Array~visit + call $~lib/typedarray/Float64Array~visit return end local.get $0 local.get $1 - call $~lib/typedarray/Uint8ClampedArray~visit + call $~lib/function/Function<%28f64%2Cf64%29=>i32>~visit return end local.get $0 local.get $1 - call $~lib/typedarray/Int16Array~visit + call $~lib/array/Array~visit return end local.get $0 local.get $1 - call $~lib/typedarray/Uint16Array~visit + call $~lib/array/Array~visit return end local.get $0 local.get $1 - call $~lib/typedarray/Int32Array~visit + call $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>~visit return end local.get $0 local.get $1 - call $~lib/typedarray/Uint32Array~visit + call $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>~visit return end local.get $0 local.get $1 - call $~lib/typedarray/Int64Array~visit + call $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>~visit return end local.get $0 local.get $1 - call $~lib/typedarray/Uint64Array~visit + call $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>~visit return end local.get $0 local.get $1 - call $~lib/typedarray/Float32Array~visit + call $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>~visit return end local.get $0 local.get $1 - call $~lib/typedarray/Float64Array~visit + call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28f64%2Cf64%29=>i32>~visit + call $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>~visit return end local.get $0 local.get $1 - call $~lib/array/Array~visit + call $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>~visit return end local.get $0 local.get $1 - call $~lib/array/Array~visit + call $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>~visit + call $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>~visit + call $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>~visit + call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>~visit + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>~visit + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>~visit + call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>~visit + call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>~visit + call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>~visit + call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>~visit + call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>~visit + call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>~visit + call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>~visit + call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>~visit + call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>~visit + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>~visit + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>~visit + call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>~visit + call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>~visit + call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>~visit + call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>~visit + call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>~visit + call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool>~visit + call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool>~visit + call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool>~visit + call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool>~visit + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool>~visit + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>~visit + call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool>~visit + call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool>~visit + call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>~visit + call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool>~visit + call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool>~visit + call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void>~visit + call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void>~visit + call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void>~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void>~visit + call $~lib/array/Array~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void>~visit + call $~lib/array/Array~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void>~visit + call $~lib/array/Array~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void>~visit + call $~lib/array/Array~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void>~visit + call $~lib/array/Array~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void>~visit + call $~lib/array/Array~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void>~visit + call $~lib/array/Array~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void>~visit + call $~lib/array/Array~visit return end local.get $0 local.get $1 - call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void>~visit + call $~lib/function/Function<%28i8%2Ci8%29=>i32>~visit return end local.get $0 local.get $1 - call $~lib/array/Array~visit + call $~lib/function/Function<%28u8%2Cu8%29=>i32>~visit return end local.get $0 local.get $1 - call $~lib/array/Array~visit + call $~lib/function/Function<%28i16%2Ci16%29=>i32>~visit return end local.get $0 local.get $1 - call $~lib/array/Array~visit + call $~lib/function/Function<%28u16%2Cu16%29=>i32>~visit return end local.get $0 local.get $1 - call $~lib/array/Array~visit + call $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit return end local.get $0 local.get $1 - call $~lib/array/Array~visit + call $~lib/function/Function<%28u32%2Cu32%29=>i32>~visit return end local.get $0 local.get $1 - call $~lib/array/Array~visit + call $~lib/function/Function<%28i64%2Ci64%29=>i32>~visit return end local.get $0 local.get $1 - call $~lib/array/Array~visit + call $~lib/function/Function<%28u64%2Cu64%29=>i32>~visit return end local.get $0 local.get $1 - call $~lib/array/Array~visit + call $~lib/function/Function<%28f32%2Cf32%29=>i32>~visit return end unreachable @@ -34085,8 +38803,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 30560 - i32.const 30608 + i32.const 31312 + i32.const 31360 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -44569,7 +49287,255 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint16Array#toString (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array#toString (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.const 7856 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/typedarray/Uint16Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint16Array,u16> + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Uint16Array#__set + i32.const 0 + drop + local.get $0 + i32.const 7856 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + local.get $1 + call $~lib/typedarray/Uint16Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 7888 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 652 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/typedarray/Uint16Array#toString + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 7888 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 653 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int32Array#toString (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.const 7856 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/typedarray/Int32Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int32Array,i32> + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int32Array#__set + i32.const 0 + drop + local.get $0 + i32.const 7856 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + local.get $1 + call $~lib/typedarray/Int32Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 7888 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 652 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/typedarray/Int32Array#toString + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 7888 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 653 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint32Array#toString (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -44586,7 +49552,7 @@ local.get $1 i32.store local.get $1 - call $~lib/typedarray/Uint16Array#join + call $~lib/typedarray/Uint32Array#join local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -44594,7 +49560,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint16Array,u16> + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint32Array,u32> (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -44611,29 +49577,29 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 5 - call $~lib/typedarray/Uint16Array#constructor + call $~lib/typedarray/Uint32Array#constructor local.tee $0 i32.store local.get $0 i32.const 0 i32.const 1 - call $~lib/typedarray/Uint16Array#__set + call $~lib/typedarray/Uint32Array#__set local.get $0 i32.const 1 i32.const 2 - call $~lib/typedarray/Uint16Array#__set + call $~lib/typedarray/Uint32Array#__set local.get $0 i32.const 2 i32.const 3 - call $~lib/typedarray/Uint16Array#__set + call $~lib/typedarray/Uint32Array#__set local.get $0 i32.const 3 i32.const 4 - call $~lib/typedarray/Uint16Array#__set + call $~lib/typedarray/Uint32Array#__set local.get $0 i32.const 4 i32.const 5 - call $~lib/typedarray/Uint16Array#__set + call $~lib/typedarray/Uint32Array#__set i32.const 0 drop local.get $0 @@ -44643,7 +49609,7 @@ local.get $1 i32.store offset=12 local.get $1 - call $~lib/typedarray/Uint16Array#join + call $~lib/typedarray/Uint32Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -44666,7 +49632,7 @@ unreachable end local.get $0 - call $~lib/typedarray/Uint16Array#toString + call $~lib/typedarray/Uint32Array#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -44693,7 +49659,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int32Array#toString (param $0 i32) (result i32) + (func $~lib/typedarray/Int64Array#toString (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -44710,7 +49676,7 @@ local.get $1 i32.store local.get $1 - call $~lib/typedarray/Int32Array#join + call $~lib/typedarray/Int64Array#join local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -44718,7 +49684,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int32Array,i32> + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int64Array,i64> (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -44735,29 +49701,29 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 5 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Int64Array#constructor local.tee $0 i32.store local.get $0 i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set + i64.const 1 + call $~lib/typedarray/Int64Array#__set local.get $0 i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set + i64.const 2 + call $~lib/typedarray/Int64Array#__set local.get $0 i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set + i64.const 3 + call $~lib/typedarray/Int64Array#__set local.get $0 i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set + i64.const 4 + call $~lib/typedarray/Int64Array#__set local.get $0 i32.const 4 - i32.const 5 - call $~lib/typedarray/Int32Array#__set + i64.const 5 + call $~lib/typedarray/Int64Array#__set i32.const 0 drop local.get $0 @@ -44767,7 +49733,7 @@ local.get $1 i32.store offset=12 local.get $1 - call $~lib/typedarray/Int32Array#join + call $~lib/typedarray/Int64Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -44790,7 +49756,7 @@ unreachable end local.get $0 - call $~lib/typedarray/Int32Array#toString + call $~lib/typedarray/Int64Array#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -44817,7 +49783,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint32Array#toString (param $0 i32) (result i32) + (func $~lib/typedarray/Uint64Array#toString (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -44834,7 +49800,7 @@ local.get $1 i32.store local.get $1 - call $~lib/typedarray/Uint32Array#join + call $~lib/typedarray/Uint64Array#join local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -44842,7 +49808,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint32Array,u32> + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint64Array,u64> (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -44859,29 +49825,29 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 5 - call $~lib/typedarray/Uint32Array#constructor + call $~lib/typedarray/Uint64Array#constructor local.tee $0 i32.store local.get $0 i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set + i64.const 1 + call $~lib/typedarray/Uint64Array#__set local.get $0 i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set + i64.const 2 + call $~lib/typedarray/Uint64Array#__set local.get $0 i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set + i64.const 3 + call $~lib/typedarray/Uint64Array#__set local.get $0 i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint32Array#__set + i64.const 4 + call $~lib/typedarray/Uint64Array#__set local.get $0 i32.const 4 - i32.const 5 - call $~lib/typedarray/Uint32Array#__set + i64.const 5 + call $~lib/typedarray/Uint64Array#__set i32.const 0 drop local.get $0 @@ -44891,7 +49857,7 @@ local.get $1 i32.store offset=12 local.get $1 - call $~lib/typedarray/Uint32Array#join + call $~lib/typedarray/Uint64Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -44914,7 +49880,7 @@ unreachable end local.get $0 - call $~lib/typedarray/Uint32Array#toString + call $~lib/typedarray/Uint64Array#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -44941,7 +49907,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int64Array#toString (param $0 i32) (result i32) + (func $~lib/typedarray/Float32Array#toString (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -44958,7 +49924,7 @@ local.get $1 i32.store local.get $1 - call $~lib/typedarray/Int64Array#join + call $~lib/typedarray/Float32Array#join local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -44966,7 +49932,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int64Array,i64> + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float32Array,f32> (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -44983,30 +49949,30 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 5 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Float32Array#constructor local.tee $0 i32.store local.get $0 i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set + f32.const 1 + call $~lib/typedarray/Float32Array#__set local.get $0 i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set + f32.const 2 + call $~lib/typedarray/Float32Array#__set local.get $0 i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set + f32.const 3 + call $~lib/typedarray/Float32Array#__set local.get $0 i32.const 3 - i64.const 4 - call $~lib/typedarray/Int64Array#__set + f32.const 4 + call $~lib/typedarray/Float32Array#__set local.get $0 i32.const 4 - i64.const 5 - call $~lib/typedarray/Int64Array#__set - i32.const 0 + f32.const 5 + call $~lib/typedarray/Float32Array#__set + i32.const 1 drop local.get $0 i32.const 7856 @@ -45015,13 +49981,13 @@ local.get $1 i32.store offset=12 local.get $1 - call $~lib/typedarray/Int64Array#join + call $~lib/typedarray/Float32Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 local.get $1 - i32.const 7888 + i32.const 9072 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -45032,19 +49998,19 @@ if i32.const 0 i32.const 544 - i32.const 652 + i32.const 649 i32.const 5 call $~lib/builtins/abort unreachable end local.get $0 - call $~lib/typedarray/Int64Array#toString + call $~lib/typedarray/Float32Array#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 local.get $1 - i32.const 7888 + i32.const 9072 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -45055,7 +50021,7 @@ if i32.const 0 i32.const 544 - i32.const 653 + i32.const 650 i32.const 5 call $~lib/builtins/abort unreachable @@ -45065,7 +50031,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint64Array#toString (param $0 i32) (result i32) + (func $~lib/typedarray/Float64Array#toString (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -45082,7 +50048,7 @@ local.get $1 i32.store local.get $1 - call $~lib/typedarray/Uint64Array#join + call $~lib/typedarray/Float64Array#join local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -45090,7 +50056,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint64Array,u64> + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float64Array,f64> (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -45107,30 +50073,30 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 5 - call $~lib/typedarray/Uint64Array#constructor + call $~lib/typedarray/Float64Array#constructor local.tee $0 i32.store local.get $0 i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set + f64.const 1 + call $~lib/typedarray/Float64Array#__set local.get $0 i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set + f64.const 2 + call $~lib/typedarray/Float64Array#__set local.get $0 i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set + f64.const 3 + call $~lib/typedarray/Float64Array#__set local.get $0 i32.const 3 - i64.const 4 - call $~lib/typedarray/Uint64Array#__set + f64.const 4 + call $~lib/typedarray/Float64Array#__set local.get $0 i32.const 4 - i64.const 5 - call $~lib/typedarray/Uint64Array#__set - i32.const 0 + f64.const 5 + call $~lib/typedarray/Float64Array#__set + i32.const 1 drop local.get $0 i32.const 7856 @@ -45139,13 +50105,13 @@ local.get $1 i32.store offset=12 local.get $1 - call $~lib/typedarray/Uint64Array#join + call $~lib/typedarray/Float64Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 local.get $1 - i32.const 7888 + i32.const 9072 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -45156,19 +50122,19 @@ if i32.const 0 i32.const 544 - i32.const 652 + i32.const 649 i32.const 5 call $~lib/builtins/abort unreachable end local.get $0 - call $~lib/typedarray/Uint64Array#toString + call $~lib/typedarray/Float64Array#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 local.get $1 - i32.const 7888 + i32.const 9072 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -45179,46 +50145,283 @@ if i32.const 0 i32.const 544 - i32.const 653 + i32.const 650 i32.const 5 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayWrapValues + local.tee $0 + i32.store + local.get $0 + call $~lib/array/Array#get:length + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $1 + call $~lib/typedarray/Int8Array#constructor + local.tee $2 + i32.store offset=4 + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + call $~lib/typedarray/Int8Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + i32.load offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $5 + i32.store offset=12 + i32.const 1 + drop + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int8Array.wrap@varargs + local.tee $6 + i32.store offset=16 + i32.const 0 + local.set $3 + loop $for-loop|1 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + call $~lib/typedarray/Int8Array#__get + local.get $6 + local.get $3 + call $~lib/typedarray/Int8Array#__get + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Float32Array#toString (param $0 i32) (result i32) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8Array,u8> + (local $0 i32) (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayWrapValues + local.tee $0 i32.store local.get $0 - i32.const 7856 + call $~lib/array/Array#get:length local.set $1 global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $1 - i32.store - local.get $1 - call $~lib/typedarray/Float32Array#join - local.set $1 + call $~lib/typedarray/Uint8Array#constructor + local.tee $2 + i32.store offset=4 + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $2 + i32.load + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + i32.load offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $5 + i32.store offset=12 + i32.const 0 + drop + i32.const 1 + drop + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint8Array.wrap@varargs + local.tee $6 + i32.store offset=16 + i32.const 0 + local.set $3 + loop $for-loop|1 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + call $~lib/typedarray/Uint8Array#__get + local.get $6 + local.get $3 + call $~lib/typedarray/Uint8Array#__get + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float32Array,f32> + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8> (local $0 i32) (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -45230,119 +50433,125 @@ i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 - call $~lib/typedarray/Float32Array#constructor + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayWrapValues local.tee $0 i32.store local.get $0 - i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $0 - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $0 - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - local.get $0 - i32.const 3 - f32.const 4 - call $~lib/typedarray/Float32Array#__set - local.get $0 - i32.const 4 - f32.const 5 - call $~lib/typedarray/Float32Array#__set - i32.const 1 - drop - local.get $0 - i32.const 7856 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - call $~lib/typedarray/Float32Array#join + call $~lib/array/Array#get:length local.set $1 global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $1 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $2 i32.store offset=4 - local.get $1 - i32.const 9072 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 649 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end end - local.get $0 - call $~lib/typedarray/Float32Array#toString - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 9072 - local.set $1 + local.get $2 + i32.load + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $7 i32.store offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 650 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16 + local.get $7 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + i32.load offset=8 i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float64Array#toString (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $5 + i32.store offset=12 i32.const 0 - i32.store - local.get $0 - i32.const 7856 - local.set $1 + drop + i32.const 0 + drop + i32.const 1 + drop global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - call $~lib/typedarray/Float64Array#join - local.set $1 + local.get $5 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray.wrap@varargs + local.tee $6 + i32.store offset=16 + i32.const 0 + local.set $3 + loop $for-loop|1 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#__get + local.get $6 + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end + end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float64Array,f64> + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16> (local $0 i32) (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -45354,90 +50563,119 @@ i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 - call $~lib/typedarray/Float64Array#constructor + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayWrapValues local.tee $0 i32.store local.get $0 - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 3 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 4 - f64.const 5 - call $~lib/typedarray/Float64Array#__set - i32.const 1 - drop - local.get $0 - i32.const 7856 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - call $~lib/typedarray/Float64Array#join + call $~lib/array/Array#get:length local.set $1 global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $1 + call $~lib/typedarray/Int16Array#constructor + local.tee $2 i32.store offset=4 - local.get $1 - i32.const 9072 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 649 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + call $~lib/typedarray/Int16Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end end - local.get $0 - call $~lib/typedarray/Float64Array#toString - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 9072 - local.set $1 + local.get $2 + i32.load + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $7 i32.store offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 650 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $7 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + i32.load offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $5 + i32.store offset=12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 1 + drop + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int16Array.wrap@varargs + local.tee $6 + i32.store offset=16 + i32.const 0 + local.set $3 + loop $for-loop|1 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + call $~lib/typedarray/Int16Array#__get + local.get $6 + local.get $3 + call $~lib/typedarray/Int16Array#__get + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8> + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16> (local $0 i32) (local $1 i32) (local $2 i32) @@ -45470,7 +50708,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $1 - call $~lib/typedarray/Int8Array#constructor + call $~lib/typedarray/Uint16Array#constructor local.tee $2 i32.store offset=4 i32.const 0 @@ -45487,11 +50725,9 @@ local.get $0 local.get $3 call $~lib/array/Array#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - call $~lib/typedarray/Int8Array#__set + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set local.get $3 i32.const 1 i32.add @@ -45517,6 +50753,14 @@ call $~lib/arraybuffer/ArrayBuffer#slice local.tee $5 i32.store offset=12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop i32.const 1 drop global.get $~lib/memory/__stack_pointer @@ -45525,7 +50769,7 @@ i32.const 1 global.set $~argumentsLength i32.const 0 - call $~lib/typedarray/Int8Array.wrap@varargs + call $~lib/typedarray/Uint16Array.wrap@varargs local.tee $6 i32.store offset=16 i32.const 0 @@ -45539,10 +50783,10 @@ if local.get $2 local.get $3 - call $~lib/typedarray/Int8Array#__get + call $~lib/typedarray/Uint16Array#__get local.get $6 local.get $3 - call $~lib/typedarray/Int8Array#__get + call $~lib/typedarray/Uint16Array#__get i32.eq i32.eqz if @@ -45565,7 +50809,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8Array,u8> + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32> (local $0 i32) (local $1 i32) (local $2 i32) @@ -45598,7 +50842,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $1 - call $~lib/typedarray/Uint8Array#constructor + call $~lib/typedarray/Int32Array#constructor local.tee $2 i32.store offset=4 i32.const 0 @@ -45615,9 +50859,7 @@ local.get $0 local.get $3 call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Int32Array#__set local.get $3 i32.const 1 i32.add @@ -45645,6 +50887,14 @@ i32.store offset=12 i32.const 0 drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop i32.const 1 drop global.get $~lib/memory/__stack_pointer @@ -45653,7 +50903,7 @@ i32.const 1 global.set $~argumentsLength i32.const 0 - call $~lib/typedarray/Uint8Array.wrap@varargs + call $~lib/typedarray/Int32Array.wrap@varargs local.tee $6 i32.store offset=16 i32.const 0 @@ -45667,10 +50917,10 @@ if local.get $2 local.get $3 - call $~lib/typedarray/Uint8Array#__get + call $~lib/typedarray/Int32Array#__get local.get $6 local.get $3 - call $~lib/typedarray/Uint8Array#__get + call $~lib/typedarray/Int32Array#__get i32.eq i32.eqz if @@ -45693,7 +50943,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8> + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32> (local $0 i32) (local $1 i32) (local $2 i32) @@ -45726,7 +50976,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $1 - call $~lib/typedarray/Uint8ClampedArray#constructor + call $~lib/typedarray/Uint32Array#constructor local.tee $2 i32.store offset=4 i32.const 0 @@ -45743,9 +50993,7 @@ local.get $0 local.get $3 call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set + call $~lib/typedarray/Uint32Array#__set local.get $3 i32.const 1 i32.add @@ -45775,6 +51023,14 @@ drop i32.const 0 drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop i32.const 1 drop global.get $~lib/memory/__stack_pointer @@ -45783,7 +51039,7 @@ i32.const 1 global.set $~argumentsLength i32.const 0 - call $~lib/typedarray/Uint8ClampedArray.wrap@varargs + call $~lib/typedarray/Uint32Array.wrap@varargs local.tee $6 i32.store offset=16 i32.const 0 @@ -45797,10 +51053,10 @@ if local.get $2 local.get $3 - call $~lib/typedarray/Uint8ClampedArray#__get + call $~lib/typedarray/Uint32Array#__get local.get $6 local.get $3 - call $~lib/typedarray/Uint8ClampedArray#__get + call $~lib/typedarray/Uint32Array#__get i32.eq i32.eqz if @@ -45823,7 +51079,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16> + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64> (local $0 i32) (local $1 i32) (local $2 i32) @@ -45856,7 +51112,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $1 - call $~lib/typedarray/Int16Array#constructor + call $~lib/typedarray/Int64Array#constructor local.tee $2 i32.store offset=4 i32.const 0 @@ -45873,11 +51129,8 @@ local.get $0 local.get $3 call $~lib/array/Array#__get - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - call $~lib/typedarray/Int16Array#__set + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set local.get $3 i32.const 1 i32.add @@ -45909,6 +51162,14 @@ drop i32.const 0 drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop i32.const 1 drop global.get $~lib/memory/__stack_pointer @@ -45917,7 +51178,7 @@ i32.const 1 global.set $~argumentsLength i32.const 0 - call $~lib/typedarray/Int16Array.wrap@varargs + call $~lib/typedarray/Int64Array.wrap@varargs local.tee $6 i32.store offset=16 i32.const 0 @@ -45931,11 +51192,11 @@ if local.get $2 local.get $3 - call $~lib/typedarray/Int16Array#__get + call $~lib/typedarray/Int64Array#__get local.get $6 local.get $3 - call $~lib/typedarray/Int16Array#__get - i32.eq + call $~lib/typedarray/Int64Array#__get + i64.eq i32.eqz if i32.const 0 @@ -45957,7 +51218,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16> + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64> (local $0 i32) (local $1 i32) (local $2 i32) @@ -45990,7 +51251,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $1 - call $~lib/typedarray/Uint16Array#constructor + call $~lib/typedarray/Uint64Array#constructor local.tee $2 i32.store offset=4 i32.const 0 @@ -46007,9 +51268,8 @@ local.get $0 local.get $3 call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set local.get $3 i32.const 1 i32.add @@ -46043,6 +51303,14 @@ drop i32.const 0 drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop i32.const 1 drop global.get $~lib/memory/__stack_pointer @@ -46051,7 +51319,7 @@ i32.const 1 global.set $~argumentsLength i32.const 0 - call $~lib/typedarray/Uint16Array.wrap@varargs + call $~lib/typedarray/Uint64Array.wrap@varargs local.tee $6 i32.store offset=16 i32.const 0 @@ -46065,11 +51333,11 @@ if local.get $2 local.get $3 - call $~lib/typedarray/Uint16Array#__get + call $~lib/typedarray/Uint64Array#__get local.get $6 local.get $3 - call $~lib/typedarray/Uint16Array#__get - i32.eq + call $~lib/typedarray/Uint64Array#__get + i64.eq i32.eqz if i32.const 0 @@ -46091,7 +51359,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32> + (func $std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32> (local $0 i32) (local $1 i32) (local $2 i32) @@ -46124,7 +51392,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $1 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Float32Array#constructor local.tee $2 i32.store offset=4 i32.const 0 @@ -46141,7 +51409,8 @@ local.get $0 local.get $3 call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set local.get $3 i32.const 1 i32.add @@ -46177,6 +51446,14 @@ drop i32.const 0 drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop i32.const 1 drop global.get $~lib/memory/__stack_pointer @@ -46185,7 +51462,7 @@ i32.const 1 global.set $~argumentsLength i32.const 0 - call $~lib/typedarray/Int32Array.wrap@varargs + call $~lib/typedarray/Float32Array.wrap@varargs local.tee $6 i32.store offset=16 i32.const 0 @@ -46199,11 +51476,11 @@ if local.get $2 local.get $3 - call $~lib/typedarray/Int32Array#__get + call $~lib/typedarray/Float32Array#__get local.get $6 local.get $3 - call $~lib/typedarray/Int32Array#__get - i32.eq + call $~lib/typedarray/Float32Array#__get + f32.eq i32.eqz if i32.const 0 @@ -46225,7 +51502,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32> + (func $std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64> (local $0 i32) (local $1 i32) (local $2 i32) @@ -46258,7 +51535,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $1 - call $~lib/typedarray/Uint32Array#constructor + call $~lib/typedarray/Float64Array#constructor local.tee $2 i32.store offset=4 i32.const 0 @@ -46275,7 +51552,8 @@ local.get $0 local.get $3 call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set local.get $3 i32.const 1 i32.add @@ -46313,6 +51591,14 @@ drop i32.const 0 drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop i32.const 1 drop global.get $~lib/memory/__stack_pointer @@ -46321,7 +51607,7 @@ i32.const 1 global.set $~argumentsLength i32.const 0 - call $~lib/typedarray/Uint32Array.wrap@varargs + call $~lib/typedarray/Float64Array.wrap@varargs local.tee $6 i32.store offset=16 i32.const 0 @@ -46335,11 +51621,11 @@ if local.get $2 local.get $3 - call $~lib/typedarray/Uint32Array#__get + call $~lib/typedarray/Float64Array#__get local.get $6 local.get $3 - call $~lib/typedarray/Uint32Array#__get - i32.eq + call $~lib/typedarray/Float64Array#__get + f64.eq i32.eqz if i32.const 0 @@ -46361,7 +51647,98 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64> + (func $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/array/Array#get:length + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 735 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $2 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $0 + local.get $3 + call $~lib/typedarray/Int8Array#__uget + local.set $5 + local.get $1 + local.get $3 + call $~lib/array/Array#__uget + local.set $6 + local.get $5 + local.get $6 + i32.ne + if + i32.const 9616 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + i32.const 3 + local.get $3 + f64.convert_i32_s + local.get $5 + f64.convert_i32_s + local.get $6 + f64.convert_i32_s + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 741 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> (local $0 i32) (local $1 i32) (local $2 i32) @@ -46369,7 +51746,6 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -46385,122 +51761,278 @@ i32.const 0 i32.store offset=16 global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor local.tee $0 i32.store local.get $0 - call $~lib/array/Array#get:length - local.set $1 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $1 - call $~lib/typedarray/Int64Array#constructor - local.tee $2 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 i32.store offset=4 + local.get $1 i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.get $3 - local.get $0 - local.get $3 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load - local.set $7 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $2 i32.store offset=8 - local.get $7 local.get $2 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set local.get $2 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set local.get $2 - i32.load offset=8 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $5 - i32.store offset=12 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer i32.const 0 - drop + i32.const 10 + call $~lib/typedarray/Int8Array#constructor + local.tee $3 + i32.store offset=12 + local.get $3 + global.get $std/typedarray/setSource1 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 i32.const 0 - drop + call $~lib/typedarray/Int8Array#set<~lib/array/Array> + local.get $3 + i32.const 10 i32.const 0 - drop + i32.const 15 + i32.const 9584 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + local.get $3 + global.get $std/typedarray/setSource2 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 3 + call $~lib/typedarray/Int8Array#set<~lib/array/Array> + local.get $3 + i32.const 10 i32.const 0 - drop + i32.const 15 + i32.const 9664 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + local.get $3 + local.get $0 + i32.const 6 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> + local.get $3 + i32.const 10 i32.const 0 + i32.const 15 + i32.const 9696 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + i32.const 1 drop + local.get $3 + global.get $std/typedarray/setSource3 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 2 + call $~lib/typedarray/Int8Array#set<~lib/array/Array> + local.get $3 + i32.const 10 i32.const 0 - drop + i32.const 15 + i32.const 9728 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + local.get $3 + local.get $1 i32.const 0 - drop - i32.const 1 - drop + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> + local.get $3 + local.get $2 + i32.const 4 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> + local.get $3 + global.get $std/typedarray/setSource7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 7 + call $~lib/typedarray/Int8Array#set<~lib/array/Array> i32.const 0 - i32.const 1 - global.set $~argumentsLength + drop + local.get $3 + i32.const 10 i32.const 0 - call $~lib/typedarray/Int64Array.wrap@varargs - local.tee $6 + i32.const 15 + i32.const 9760 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + call $~lib/typedarray/Uint8Array#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/array/Array#get:length + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 735 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 0 local.set $3 - loop $for-loop|1 + loop $for-loop|0 local.get $3 - local.get $1 + local.get $2 i32.lt_s local.set $4 local.get $4 if - local.get $2 + local.get $0 local.get $3 - call $~lib/typedarray/Int64Array#__get - local.get $6 + call $~lib/typedarray/Uint8Array#__uget + local.set $5 + local.get $1 local.get $3 - call $~lib/typedarray/Int64Array#__get - i64.eq - i32.eqz + call $~lib/array/Array#__uget + local.set $6 + local.get $5 + local.get $6 + i32.ne if + i32.const 9824 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + i32.const 3 + local.get $3 + f64.convert_i32_s + local.get $5 + f64.convert_i32_u + local.get $6 + f64.convert_i32_u + f64.const 0 + f64.const 0 + call $~lib/builtins/trace i32.const 0 - i32.const 544 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 741 + i32.const 7 + call $~lib/builtins/abort + unreachable + end end local.get $3 i32.const 1 i32.add local.set $3 - br $for-loop|1 + br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> (local $0 i32) (local $1 i32) (local $2 i32) @@ -46508,7 +52040,6 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -46524,126 +52055,187 @@ i32.const 0 i32.store offset=16 global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor local.tee $0 i32.store local.get $0 - call $~lib/array/Array#get:length - local.set $1 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $1 - call $~lib/typedarray/Uint64Array#constructor - local.tee $2 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 i32.store offset=4 + local.get $1 i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.get $3 - local.get $0 - local.get $3 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load - local.set $7 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $2 i32.store offset=8 - local.get $7 local.get $2 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set local.get $2 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set local.get $2 - i32.load offset=8 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $5 - i32.store offset=12 - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer i32.const 0 - drop + i32.const 10 + call $~lib/typedarray/Uint8Array#constructor + local.tee $3 + i32.store offset=12 + local.get $3 + global.get $std/typedarray/setSource1 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 i32.const 0 - drop + call $~lib/typedarray/Uint8Array#set<~lib/array/Array> + local.get $3 + i32.const 10 i32.const 0 - drop + i32.const 63 + i32.const 9792 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + local.get $3 + global.get $std/typedarray/setSource2 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 3 + call $~lib/typedarray/Uint8Array#set<~lib/array/Array> + local.get $3 + i32.const 10 i32.const 0 - drop + i32.const 63 + i32.const 9872 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + local.get $3 + local.get $0 + i32.const 6 + call $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int64Array> + local.get $3 + i32.const 10 i32.const 0 - drop + i32.const 63 + i32.const 9904 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> i32.const 1 drop + local.get $3 + global.get $std/typedarray/setSource3 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 0 - i32.const 1 - global.set $~argumentsLength + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 2 + call $~lib/typedarray/Uint8Array#set<~lib/array/Array> + local.get $3 + i32.const 10 i32.const 0 - call $~lib/typedarray/Uint64Array.wrap@varargs - local.tee $6 + i32.const 63 + i32.const 9936 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + local.get $3 + local.get $1 i32.const 0 - local.set $3 - loop $for-loop|1 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.get $3 - call $~lib/typedarray/Uint64Array#__get - local.get $6 - local.get $3 - call $~lib/typedarray/Uint64Array#__get - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 - end - end + call $~lib/typedarray/Uint8Array#set<~lib/typedarray/Uint8Array> + local.get $3 + local.get $2 + i32.const 4 + call $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int16Array> + local.get $3 + global.get $std/typedarray/setSource7 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 7 + call $~lib/typedarray/Uint8Array#set<~lib/array/Array> + i32.const 0 + drop + local.get $3 + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 9968 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32> - (local $0 i32) - (local $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -46651,140 +52243,90 @@ (local $6 i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues - local.tee $0 i32.store local.get $0 - call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $2 + local.get $2 local.get $1 - call $~lib/typedarray/Float32Array#constructor - local.tee $2 - i32.store offset=4 + call $~lib/array/Array#get:length + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 735 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 0 local.set $3 loop $for-loop|0 local.get $3 - local.get $1 + local.get $2 i32.lt_s local.set $4 local.get $4 if - local.get $2 - local.get $3 local.get $0 local.get $3 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $2 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $2 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $2 - i32.load offset=8 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $5 - i32.store offset=12 - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 1 - drop - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Float32Array.wrap@varargs - local.tee $6 - i32.store offset=16 - i32.const 0 - local.set $3 - loop $for-loop|1 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 + call $~lib/typedarray/Uint8ClampedArray#__uget + local.set $5 + local.get $1 local.get $3 - call $~lib/typedarray/Float32Array#__get + call $~lib/array/Array#__uget + local.set $6 + local.get $5 local.get $6 - local.get $3 - call $~lib/typedarray/Float32Array#__get - f32.eq - i32.eqz + i32.ne if + i32.const 10032 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + i32.const 3 + local.get $3 + f64.convert_i32_s + local.get $5 + f64.convert_i32_u + local.get $6 + f64.convert_i32_u + f64.const 0 + f64.const 0 + call $~lib/builtins/trace i32.const 0 - i32.const 544 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 741 + i32.const 7 + call $~lib/builtins/abort + unreachable + end end local.get $3 i32.const 1 i32.add local.set $3 - br $for-loop|1 + br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> (local $0 i32) (local $1 i32) (local $2 i32) @@ -46792,7 +52334,6 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -46808,128 +52349,187 @@ i32.const 0 i32.store offset=16 global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor local.tee $0 i32.store local.get $0 - call $~lib/array/Array#get:length - local.set $1 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $1 - call $~lib/typedarray/Float64Array#constructor - local.tee $2 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 i32.store offset=4 + local.get $1 i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.get $3 - local.get $0 - local.get $3 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load - local.set $7 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $2 i32.store offset=8 - local.get $7 local.get $2 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set local.get $2 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set local.get $2 - i32.load offset=8 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $5 - i32.store offset=12 - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer i32.const 0 - drop + i32.const 10 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $3 + i32.store offset=12 + local.get $3 + global.get $std/typedarray/setSource1 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 i32.const 0 - drop + call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> + local.get $3 + i32.const 10 i32.const 0 - drop + i32.const 63 + i32.const 10000 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + local.get $3 + global.get $std/typedarray/setSource2 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> + local.get $3 + i32.const 10 i32.const 0 - drop + i32.const 63 + i32.const 10096 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + local.get $3 + local.get $0 + i32.const 6 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> + local.get $3 + i32.const 10 i32.const 0 - drop + i32.const 63 + i32.const 10128 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> i32.const 1 drop + local.get $3 + global.get $std/typedarray/setSource3 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> + local.get $3 + i32.const 10 i32.const 0 - i32.const 1 - global.set $~argumentsLength + i32.const 63 + i32.const 10160 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + local.get $3 + local.get $1 i32.const 0 - call $~lib/typedarray/Float64Array.wrap@varargs - local.tee $6 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint8Array> + local.get $3 + local.get $2 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> + local.get $3 + global.get $std/typedarray/setSource7 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store offset=16 + local.get $6 + i32.const 7 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> + i32.const 1 + drop + local.get $3 + i32.const 10 i32.const 0 - local.set $3 - loop $for-loop|1 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.get $3 - call $~lib/typedarray/Float64Array#__get - local.get $6 - local.get $3 - call $~lib/typedarray/Float64Array#__get - f64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 - end - end + i32.const 63 + i32.const 10192 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -46945,11 +52545,11 @@ i32.const 0 i32.store local.get $0 - call $~lib/typedarray/Int8Array#get:length + call $~lib/typedarray/Int16Array#get:length local.set $2 local.get $2 local.get $1 - call $~lib/array/Array#get:length + call $~lib/array/Array#get:length i32.eq i32.eqz if @@ -46971,17 +52571,17 @@ if local.get $0 local.get $3 - call $~lib/typedarray/Int8Array#__uget + call $~lib/typedarray/Int16Array#__uget local.set $5 local.get $1 local.get $3 - call $~lib/array/Array#__uget + call $~lib/array/Array#__uget local.set $6 local.get $5 local.get $6 i32.ne if - i32.const 9616 + i32.const 10272 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 @@ -47020,7 +52620,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int16Array> (local $0 i32) (local $1 i32) (local $2 i32) @@ -47103,7 +52703,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 10 - call $~lib/typedarray/Int8Array#constructor + call $~lib/typedarray/Int16Array#constructor local.tee $3 i32.store offset=12 local.get $3 @@ -47114,19 +52714,19 @@ i32.store offset=16 local.get $6 i32.const 0 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> + call $~lib/typedarray/Int16Array#set<~lib/array/Array> local.get $3 i32.const 10 - i32.const 0 - i32.const 15 - i32.const 9584 + i32.const 1 + i32.const 64 + i32.const 10224 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> local.get $3 global.get $std/typedarray/setSource2 local.set $6 @@ -47135,35 +52735,35 @@ i32.store offset=16 local.get $6 i32.const 3 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> + call $~lib/typedarray/Int16Array#set<~lib/array/Array> local.get $3 i32.const 10 - i32.const 0 - i32.const 15 - i32.const 9664 + i32.const 1 + i32.const 64 + i32.const 10320 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> local.get $3 local.get $0 i32.const 6 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> local.get $3 i32.const 10 - i32.const 0 - i32.const 15 - i32.const 9696 + i32.const 1 + i32.const 64 + i32.const 10368 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> i32.const 1 drop local.get $3 @@ -47174,27 +52774,27 @@ i32.store offset=16 local.get $6 i32.const 2 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> + call $~lib/typedarray/Int16Array#set<~lib/array/Array> local.get $3 i32.const 10 - i32.const 0 - i32.const 15 - i32.const 9728 + i32.const 1 + i32.const 64 + i32.const 10416 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> local.get $3 local.get $1 i32.const 0 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> local.get $3 local.get $2 i32.const 4 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> local.get $3 global.get $std/typedarray/setSource7 local.set $6 @@ -47203,27 +52803,27 @@ i32.store offset=16 local.get $6 i32.const 7 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> + call $~lib/typedarray/Int16Array#set<~lib/array/Array> i32.const 0 drop local.get $3 i32.const 10 - i32.const 0 - i32.const 15 - i32.const 9760 + i32.const 1 + i32.const 64 + i32.const 10464 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -47239,11 +52839,11 @@ i32.const 0 i32.store local.get $0 - call $~lib/typedarray/Uint8Array#get:length + call $~lib/typedarray/Uint16Array#get:length local.set $2 local.get $2 local.get $1 - call $~lib/array/Array#get:length + call $~lib/array/Array#get:length i32.eq i32.eqz if @@ -47265,17 +52865,17 @@ if local.get $0 local.get $3 - call $~lib/typedarray/Uint8Array#__uget + call $~lib/typedarray/Uint16Array#__uget local.set $5 local.get $1 local.get $3 - call $~lib/array/Array#__uget + call $~lib/array/Array#__uget local.set $6 local.get $5 local.get $6 i32.ne if - i32.const 9824 + i32.const 10560 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 @@ -47314,7 +52914,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint16Array> (local $0 i32) (local $1 i32) (local $2 i32) @@ -47397,7 +52997,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 10 - call $~lib/typedarray/Uint8Array#constructor + call $~lib/typedarray/Uint16Array#constructor local.tee $3 i32.store offset=12 local.get $3 @@ -47408,19 +53008,19 @@ i32.store offset=16 local.get $6 i32.const 0 - call $~lib/typedarray/Uint8Array#set<~lib/array/Array> + call $~lib/typedarray/Uint16Array#set<~lib/array/Array> local.get $3 i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9792 + i32.const 1 + i32.const 65 + i32.const 10512 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> local.get $3 global.get $std/typedarray/setSource2 local.set $6 @@ -47429,35 +53029,35 @@ i32.store offset=16 local.get $6 i32.const 3 - call $~lib/typedarray/Uint8Array#set<~lib/array/Array> + call $~lib/typedarray/Uint16Array#set<~lib/array/Array> local.get $3 i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9872 + i32.const 1 + i32.const 65 + i32.const 10608 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> local.get $3 local.get $0 i32.const 6 - call $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int64Array> + call $~lib/typedarray/Uint16Array#set<~lib/typedarray/Int64Array> local.get $3 i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9904 + i32.const 1 + i32.const 65 + i32.const 10656 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> i32.const 1 drop local.get $3 @@ -47468,27 +53068,27 @@ i32.store offset=16 local.get $6 i32.const 2 - call $~lib/typedarray/Uint8Array#set<~lib/array/Array> + call $~lib/typedarray/Uint16Array#set<~lib/array/Array> local.get $3 i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9936 + i32.const 1 + i32.const 65 + i32.const 10704 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> local.get $3 local.get $1 i32.const 0 - call $~lib/typedarray/Uint8Array#set<~lib/typedarray/Uint8Array> + call $~lib/typedarray/Uint16Array#set<~lib/typedarray/Uint8Array> local.get $3 local.get $2 i32.const 4 - call $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int16Array> + call $~lib/typedarray/Uint16Array#set<~lib/typedarray/Int16Array> local.get $3 global.get $std/typedarray/setSource7 local.set $6 @@ -47497,27 +53097,27 @@ i32.store offset=16 local.get $6 i32.const 7 - call $~lib/typedarray/Uint8Array#set<~lib/array/Array> + call $~lib/typedarray/Uint16Array#set<~lib/array/Array> i32.const 0 drop local.get $3 i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9968 + i32.const 1 + i32.const 65 + i32.const 10752 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -47533,11 +53133,11 @@ i32.const 0 i32.store local.get $0 - call $~lib/typedarray/Uint8ClampedArray#get:length + call $~lib/typedarray/Int32Array#get:length local.set $2 local.get $2 local.get $1 - call $~lib/array/Array#get:length + call $~lib/array/Array#get:length i32.eq i32.eqz if @@ -47559,17 +53159,17 @@ if local.get $0 local.get $3 - call $~lib/typedarray/Uint8ClampedArray#__uget + call $~lib/typedarray/Int32Array#__uget local.set $5 local.get $1 local.get $3 - call $~lib/array/Array#__uget + call $~lib/array/Array#__uget local.set $6 local.get $5 local.get $6 i32.ne if - i32.const 10032 + i32.const 10864 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 @@ -47579,9 +53179,9 @@ local.get $3 f64.convert_i32_s local.get $5 - f64.convert_i32_u + f64.convert_i32_s local.get $6 - f64.convert_i32_u + f64.convert_i32_s f64.const 0 f64.const 0 call $~lib/builtins/trace @@ -47608,7 +53208,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int32Array> (local $0 i32) (local $1 i32) (local $2 i32) @@ -47691,7 +53291,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 10 - call $~lib/typedarray/Uint8ClampedArray#constructor + call $~lib/typedarray/Int32Array#constructor local.tee $3 i32.store offset=12 local.get $3 @@ -47702,19 +53302,19 @@ i32.store offset=16 local.get $6 i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> + call $~lib/typedarray/Int32Array#set<~lib/array/Array> local.get $3 i32.const 10 - i32.const 0 - i32.const 63 - i32.const 10000 + i32.const 2 + i32.const 16 + i32.const 10800 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> local.get $3 global.get $std/typedarray/setSource2 local.set $6 @@ -47723,35 +53323,35 @@ i32.store offset=16 local.get $6 i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> + call $~lib/typedarray/Int32Array#set<~lib/array/Array> local.get $3 i32.const 10 - i32.const 0 - i32.const 63 - i32.const 10096 + i32.const 2 + i32.const 16 + i32.const 10912 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> local.get $3 local.get $0 i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> local.get $3 i32.const 10 - i32.const 0 - i32.const 63 - i32.const 10128 + i32.const 2 + i32.const 16 + i32.const 10976 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> i32.const 1 drop local.get $3 @@ -47762,27 +53362,27 @@ i32.store offset=16 local.get $6 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> + call $~lib/typedarray/Int32Array#set<~lib/array/Array> local.get $3 i32.const 10 - i32.const 0 - i32.const 63 - i32.const 10160 + i32.const 2 + i32.const 16 + i32.const 11040 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> local.get $3 local.get $1 i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint8Array> + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> local.get $3 local.get $2 i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> local.get $3 global.get $std/typedarray/setSource7 local.set $6 @@ -47791,27 +53391,27 @@ i32.store offset=16 local.get $6 i32.const 7 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> - i32.const 1 + call $~lib/typedarray/Int32Array#set<~lib/array/Array> + i32.const 0 drop local.get $3 i32.const 10 - i32.const 0 - i32.const 63 - i32.const 10192 + i32.const 2 + i32.const 16 + i32.const 11104 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -47827,11 +53427,11 @@ i32.const 0 i32.store local.get $0 - call $~lib/typedarray/Int16Array#get:length + call $~lib/typedarray/Uint32Array#get:length local.set $2 local.get $2 local.get $1 - call $~lib/array/Array#get:length + call $~lib/array/Array#get:length i32.eq i32.eqz if @@ -47853,17 +53453,17 @@ if local.get $0 local.get $3 - call $~lib/typedarray/Int16Array#__uget + call $~lib/typedarray/Uint32Array#__uget local.set $5 local.get $1 local.get $3 - call $~lib/array/Array#__uget + call $~lib/array/Array#__uget local.set $6 local.get $5 local.get $6 i32.ne if - i32.const 10272 + i32.const 11232 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 @@ -47873,9 +53473,9 @@ local.get $3 f64.convert_i32_s local.get $5 - f64.convert_i32_s + f64.convert_i32_u local.get $6 - f64.convert_i32_s + f64.convert_i32_u f64.const 0 f64.const 0 call $~lib/builtins/trace @@ -47902,7 +53502,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int16Array> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint32Array> (local $0 i32) (local $1 i32) (local $2 i32) @@ -47985,7 +53585,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 10 - call $~lib/typedarray/Int16Array#constructor + call $~lib/typedarray/Uint32Array#constructor local.tee $3 i32.store offset=12 local.get $3 @@ -47996,19 +53596,19 @@ i32.store offset=16 local.get $6 i32.const 0 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> + call $~lib/typedarray/Uint32Array#set<~lib/array/Array> local.get $3 i32.const 10 - i32.const 1 - i32.const 64 - i32.const 10224 + i32.const 2 + i32.const 66 + i32.const 11168 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> local.get $3 global.get $std/typedarray/setSource2 local.set $6 @@ -48017,35 +53617,35 @@ i32.store offset=16 local.get $6 i32.const 3 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> + call $~lib/typedarray/Uint32Array#set<~lib/array/Array> local.get $3 i32.const 10 - i32.const 1 - i32.const 64 - i32.const 10320 + i32.const 2 + i32.const 66 + i32.const 11280 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> local.get $3 local.get $0 i32.const 6 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> + call $~lib/typedarray/Uint32Array#set<~lib/typedarray/Int64Array> local.get $3 i32.const 10 - i32.const 1 - i32.const 64 - i32.const 10368 + i32.const 2 + i32.const 66 + i32.const 11344 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> i32.const 1 drop local.get $3 @@ -48056,27 +53656,27 @@ i32.store offset=16 local.get $6 i32.const 2 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> + call $~lib/typedarray/Uint32Array#set<~lib/array/Array> local.get $3 i32.const 10 - i32.const 1 - i32.const 64 - i32.const 10416 + i32.const 2 + i32.const 66 + i32.const 11408 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> local.get $3 local.get $1 i32.const 0 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> + call $~lib/typedarray/Uint32Array#set<~lib/typedarray/Uint8Array> local.get $3 local.get $2 i32.const 4 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> + call $~lib/typedarray/Uint32Array#set<~lib/typedarray/Int16Array> local.get $3 global.get $std/typedarray/setSource7 local.set $6 @@ -48085,32 +53685,32 @@ i32.store offset=16 local.get $6 i32.const 7 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> + call $~lib/typedarray/Uint32Array#set<~lib/array/Array> i32.const 0 drop local.get $3 i32.const 10 - i32.const 1 - i32.const 64 - i32.const 10464 + i32.const 2 + i32.const 66 + i32.const 11472 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) + (local $5 i64) + (local $6 i64) (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -48121,11 +53721,11 @@ i32.const 0 i32.store local.get $0 - call $~lib/typedarray/Uint16Array#get:length + call $~lib/typedarray/Int64Array#get:length local.set $2 local.get $2 local.get $1 - call $~lib/array/Array#get:length + call $~lib/array/Array#get:length i32.eq i32.eqz if @@ -48147,17 +53747,17 @@ if local.get $0 local.get $3 - call $~lib/typedarray/Uint16Array#__uget + call $~lib/typedarray/Int64Array#__uget local.set $5 local.get $1 local.get $3 - call $~lib/array/Array#__uget + call $~lib/array/Array#__uget local.set $6 local.get $5 local.get $6 - i32.ne + i64.ne if - i32.const 10560 + i32.const 11648 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 @@ -48167,9 +53767,9 @@ local.get $3 f64.convert_i32_s local.get $5 - f64.convert_i32_u + f64.convert_i64_s local.get $6 - f64.convert_i32_u + f64.convert_i64_s f64.const 0 f64.const 0 call $~lib/builtins/trace @@ -48196,7 +53796,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint16Array> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int64Array> (local $0 i32) (local $1 i32) (local $2 i32) @@ -48279,7 +53879,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 10 - call $~lib/typedarray/Uint16Array#constructor + call $~lib/typedarray/Int64Array#constructor local.tee $3 i32.store offset=12 local.get $3 @@ -48290,19 +53890,19 @@ i32.store offset=16 local.get $6 i32.const 0 - call $~lib/typedarray/Uint16Array#set<~lib/array/Array> + call $~lib/typedarray/Int64Array#set<~lib/array/Array> local.get $3 i32.const 10 - i32.const 1 - i32.const 65 - i32.const 10512 + i32.const 3 + i32.const 67 + i32.const 11536 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> local.get $3 global.get $std/typedarray/setSource2 local.set $6 @@ -48311,35 +53911,35 @@ i32.store offset=16 local.get $6 i32.const 3 - call $~lib/typedarray/Uint16Array#set<~lib/array/Array> + call $~lib/typedarray/Int64Array#set<~lib/array/Array> local.get $3 i32.const 10 - i32.const 1 - i32.const 65 - i32.const 10608 + i32.const 3 + i32.const 67 + i32.const 11696 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> local.get $3 local.get $0 i32.const 6 - call $~lib/typedarray/Uint16Array#set<~lib/typedarray/Int64Array> + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> local.get $3 i32.const 10 - i32.const 1 - i32.const 65 - i32.const 10656 + i32.const 3 + i32.const 67 + i32.const 11808 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> i32.const 1 drop local.get $3 @@ -48350,27 +53950,27 @@ i32.store offset=16 local.get $6 i32.const 2 - call $~lib/typedarray/Uint16Array#set<~lib/array/Array> + call $~lib/typedarray/Int64Array#set<~lib/array/Array> local.get $3 i32.const 10 - i32.const 1 - i32.const 65 - i32.const 10704 + i32.const 3 + i32.const 67 + i32.const 11920 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> local.get $3 local.get $1 i32.const 0 - call $~lib/typedarray/Uint16Array#set<~lib/typedarray/Uint8Array> + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> local.get $3 local.get $2 i32.const 4 - call $~lib/typedarray/Uint16Array#set<~lib/typedarray/Int16Array> + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> local.get $3 global.get $std/typedarray/setSource7 local.set $6 @@ -48379,32 +53979,32 @@ i32.store offset=16 local.get $6 i32.const 7 - call $~lib/typedarray/Uint16Array#set<~lib/array/Array> + call $~lib/typedarray/Int64Array#set<~lib/array/Array> i32.const 0 drop local.get $3 i32.const 10 - i32.const 1 - i32.const 65 - i32.const 10752 + i32.const 3 + i32.const 67 + i32.const 12032 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) + (local $5 i64) + (local $6 i64) (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -48415,11 +54015,11 @@ i32.const 0 i32.store local.get $0 - call $~lib/typedarray/Int32Array#get:length + call $~lib/typedarray/Uint64Array#get:length local.set $2 local.get $2 local.get $1 - call $~lib/array/Array#get:length + call $~lib/array/Array#get:length i32.eq i32.eqz if @@ -48441,17 +54041,17 @@ if local.get $0 local.get $3 - call $~lib/typedarray/Int32Array#__uget + call $~lib/typedarray/Uint64Array#__uget local.set $5 local.get $1 local.get $3 - call $~lib/array/Array#__uget + call $~lib/array/Array#__uget local.set $6 local.get $5 local.get $6 - i32.ne + i64.ne if - i32.const 10864 + i32.const 12256 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 @@ -48461,9 +54061,9 @@ local.get $3 f64.convert_i32_s local.get $5 - f64.convert_i32_s + f64.convert_i64_u local.get $6 - f64.convert_i32_s + f64.convert_i64_u f64.const 0 f64.const 0 call $~lib/builtins/trace @@ -48490,7 +54090,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int32Array> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint64Array> (local $0 i32) (local $1 i32) (local $2 i32) @@ -48573,7 +54173,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 10 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Uint64Array#constructor local.tee $3 i32.store offset=12 local.get $3 @@ -48584,19 +54184,19 @@ i32.store offset=16 local.get $6 i32.const 0 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> + call $~lib/typedarray/Uint64Array#set<~lib/array/Array> local.get $3 i32.const 10 - i32.const 2 - i32.const 16 - i32.const 10800 + i32.const 3 + i32.const 68 + i32.const 12144 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> local.get $3 global.get $std/typedarray/setSource2 local.set $6 @@ -48605,35 +54205,35 @@ i32.store offset=16 local.get $6 i32.const 3 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> + call $~lib/typedarray/Uint64Array#set<~lib/array/Array> local.get $3 i32.const 10 - i32.const 2 - i32.const 16 - i32.const 10912 + i32.const 3 + i32.const 68 + i32.const 12304 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> local.get $3 local.get $0 i32.const 6 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> + call $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int64Array> local.get $3 i32.const 10 - i32.const 2 - i32.const 16 - i32.const 10976 + i32.const 3 + i32.const 68 + i32.const 12416 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> i32.const 1 drop local.get $3 @@ -48644,27 +54244,27 @@ i32.store offset=16 local.get $6 i32.const 2 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> + call $~lib/typedarray/Uint64Array#set<~lib/array/Array> local.get $3 i32.const 10 - i32.const 2 - i32.const 16 - i32.const 11040 + i32.const 3 + i32.const 68 + i32.const 12528 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> local.get $3 local.get $1 i32.const 0 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> + call $~lib/typedarray/Uint64Array#set<~lib/typedarray/Uint8Array> local.get $3 local.get $2 i32.const 4 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> + call $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int16Array> local.get $3 global.get $std/typedarray/setSource7 local.set $6 @@ -48673,32 +54273,32 @@ i32.store offset=16 local.get $6 i32.const 7 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> + call $~lib/typedarray/Uint64Array#set<~lib/array/Array> i32.const 0 drop local.get $3 i32.const 10 - i32.const 2 - i32.const 16 - i32.const 11104 + i32.const 3 + i32.const 68 + i32.const 12640 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) + (local $5 f32) + (local $6 f32) (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -48709,11 +54309,11 @@ i32.const 0 i32.store local.get $0 - call $~lib/typedarray/Uint32Array#get:length + call $~lib/typedarray/Float32Array#get:length local.set $2 local.get $2 local.get $1 - call $~lib/array/Array#get:length + call $~lib/array/Array#get:length i32.eq i32.eqz if @@ -48735,17 +54335,17 @@ if local.get $0 local.get $3 - call $~lib/typedarray/Uint32Array#__uget + call $~lib/typedarray/Float32Array#__uget local.set $5 local.get $1 local.get $3 - call $~lib/array/Array#__uget + call $~lib/array/Array#__uget local.set $6 local.get $5 local.get $6 - i32.ne + f32.ne if - i32.const 11232 + i32.const 12816 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 @@ -48755,9 +54355,9 @@ local.get $3 f64.convert_i32_s local.get $5 - f64.convert_i32_u + f64.promote_f32 local.get $6 - f64.convert_i32_u + f64.promote_f32 f64.const 0 f64.const 0 call $~lib/builtins/trace @@ -48784,7 +54384,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint32Array> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float32Array> (local $0 i32) (local $1 i32) (local $2 i32) @@ -48867,7 +54467,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 10 - call $~lib/typedarray/Uint32Array#constructor + call $~lib/typedarray/Float32Array#constructor local.tee $3 i32.store offset=12 local.get $3 @@ -48878,19 +54478,19 @@ i32.store offset=16 local.get $6 i32.const 0 - call $~lib/typedarray/Uint32Array#set<~lib/array/Array> + call $~lib/typedarray/Float32Array#set<~lib/array/Array> local.get $3 i32.const 10 i32.const 2 - i32.const 66 - i32.const 11168 + i32.const 61 + i32.const 12752 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> local.get $3 global.get $std/typedarray/setSource2 local.set $6 @@ -48899,66 +54499,45 @@ i32.store offset=16 local.get $6 i32.const 3 - call $~lib/typedarray/Uint32Array#set<~lib/array/Array> + call $~lib/typedarray/Float32Array#set<~lib/array/Array> local.get $3 i32.const 10 i32.const 2 - i32.const 66 - i32.const 11280 + i32.const 61 + i32.const 12864 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> local.get $3 local.get $0 i32.const 6 - call $~lib/typedarray/Uint32Array#set<~lib/typedarray/Int64Array> + call $~lib/typedarray/Float32Array#set<~lib/typedarray/Int64Array> local.get $3 i32.const 10 i32.const 2 - i32.const 66 - i32.const 11344 + i32.const 61 + i32.const 12928 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - i32.const 1 + call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> + i32.const 0 drop local.get $3 - global.get $std/typedarray/setSource3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - i32.const 2 - call $~lib/typedarray/Uint32Array#set<~lib/array/Array> - local.get $3 - i32.const 10 - i32.const 2 - i32.const 66 - i32.const 11408 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - local.get $3 local.get $1 i32.const 0 - call $~lib/typedarray/Uint32Array#set<~lib/typedarray/Uint8Array> + call $~lib/typedarray/Float32Array#set<~lib/typedarray/Uint8Array> local.get $3 local.get $2 i32.const 4 - call $~lib/typedarray/Uint32Array#set<~lib/typedarray/Int16Array> + call $~lib/typedarray/Float32Array#set<~lib/typedarray/Int16Array> local.get $3 global.get $std/typedarray/setSource7 local.set $6 @@ -48967,32 +54546,32 @@ i32.store offset=16 local.get $6 i32.const 7 - call $~lib/typedarray/Uint32Array#set<~lib/array/Array> + call $~lib/typedarray/Float32Array#set<~lib/array/Array> i32.const 0 drop local.get $3 i32.const 10 i32.const 2 - i32.const 66 - i32.const 11472 + i32.const 61 + i32.const 12992 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i64) - (local $6 i64) + (local $5 f64) + (local $6 f64) (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -49003,11 +54582,11 @@ i32.const 0 i32.store local.get $0 - call $~lib/typedarray/Int64Array#get:length + call $~lib/typedarray/Float64Array#get:length local.set $2 local.get $2 local.get $1 - call $~lib/array/Array#get:length + call $~lib/array/Array#get:length i32.eq i32.eqz if @@ -49029,17 +54608,17 @@ if local.get $0 local.get $3 - call $~lib/typedarray/Int64Array#__uget + call $~lib/typedarray/Float64Array#__uget local.set $5 local.get $1 local.get $3 - call $~lib/array/Array#__uget + call $~lib/array/Array#__uget local.set $6 local.get $5 local.get $6 - i64.ne + f64.ne if - i32.const 11648 + i32.const 13168 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 @@ -49049,9 +54628,7 @@ local.get $3 f64.convert_i32_s local.get $5 - f64.convert_i64_s local.get $6 - f64.convert_i64_s f64.const 0 f64.const 0 call $~lib/builtins/trace @@ -49078,7 +54655,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int64Array> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float64Array> (local $0 i32) (local $1 i32) (local $2 i32) @@ -49161,7 +54738,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 10 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Float64Array#constructor local.tee $3 i32.store offset=12 local.get $3 @@ -49172,19 +54749,19 @@ i32.store offset=16 local.get $6 i32.const 0 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> + call $~lib/typedarray/Float64Array#set<~lib/array/Array> local.get $3 i32.const 10 i32.const 3 - i32.const 67 - i32.const 11536 + i32.const 62 + i32.const 13056 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> local.get $3 global.get $std/typedarray/setSource2 local.set $6 @@ -49193,66 +54770,45 @@ i32.store offset=16 local.get $6 i32.const 3 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> + call $~lib/typedarray/Float64Array#set<~lib/array/Array> local.get $3 i32.const 10 i32.const 3 - i32.const 67 - i32.const 11696 + i32.const 62 + i32.const 13216 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> local.get $3 local.get $0 i32.const 6 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> + call $~lib/typedarray/Float64Array#set<~lib/typedarray/Int64Array> local.get $3 i32.const 10 i32.const 3 - i32.const 67 - i32.const 11808 + i32.const 62 + i32.const 13328 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - i32.const 1 + call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> + i32.const 0 drop local.get $3 - global.get $std/typedarray/setSource3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - i32.const 2 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> - local.get $3 - i32.const 10 - i32.const 3 - i32.const 67 - i32.const 11920 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - local.get $3 local.get $1 i32.const 0 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> + call $~lib/typedarray/Float64Array#set<~lib/typedarray/Uint8Array> local.get $3 local.get $2 i32.const 4 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> + call $~lib/typedarray/Float64Array#set<~lib/typedarray/Int16Array> local.get $3 global.get $std/typedarray/setSource7 local.set $6 @@ -49261,127 +54817,449 @@ i32.store offset=16 local.get $6 i32.const 7 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> + call $~lib/typedarray/Float64Array#set<~lib/array/Array> i32.const 0 drop local.get $3 i32.const 10 i32.const 3 - i32.const 67 - i32.const 12032 + i32.const 62 + i32.const 13440 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8> + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 0 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int8Array#sort@varargs + local.tee $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 855 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/typedarray/Int8Array#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 856 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/typedarray/Int8Array#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 857 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 13648 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $2 + call $~lib/typedarray/Int8Array#sort + drop + local.get $1 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 859 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/typedarray/Int8Array#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 860 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/typedarray/Int8Array#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 861 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8> + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 0 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint8Array#sort@varargs + local.tee $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint8Array#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 855 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/typedarray/Uint8Array#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 856 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 857 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 13712 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $2 + call $~lib/typedarray/Uint8Array#sort + drop + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint8Array#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 859 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/typedarray/Uint8Array#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 860 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 861 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> (param $0 i32) (param $1 i32) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8> + (local $0 i32) + (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 i64) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 i32.store local.get $0 - call $~lib/typedarray/Uint64Array#get:length + i32.const 2 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 0 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#sort@varargs + local.tee $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 855 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 856 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 857 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 13776 local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 local.get $2 + call $~lib/typedarray/Uint8ClampedArray#sort + drop local.get $1 - call $~lib/array/Array#get:length + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 735 + i32.const 859 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $2 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $0 - local.get $3 - call $~lib/typedarray/Uint64Array#__uget - local.set $5 - local.get $1 - local.get $3 - call $~lib/array/Array#__uget - local.set $6 - local.get $5 - local.get $6 - i64.ne - if - i32.const 12256 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - i32.const 3 - local.get $3 - f64.convert_i32_s - local.get $5 - f64.convert_i64_u - local.get $6 - f64.convert_i64_u - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end + local.get $1 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 860 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 861 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint64Array> + (func $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16> (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -49389,293 +55267,416 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Int16Array#constructor local.tee $0 i32.store local.get $0 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $0 + i32.const 2 i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set + call $~lib/typedarray/Int16Array#__set local.get $0 + i32.const 1 i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer + local.get $0 i32.const 0 - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int16Array#sort@varargs local.tee $1 i32.store offset=4 local.get $1 i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $1 + call $~lib/typedarray/Int16Array#__get i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 855 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 + i32.const 1 + call $~lib/typedarray/Int16Array#__get i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 856 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 + i32.const 2 + call $~lib/typedarray/Int16Array#__get i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 857 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 13840 + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $2 + local.get $2 i32.store offset=8 local.get $2 + call $~lib/typedarray/Int16Array#sort + drop + local.get $1 i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $2 + call $~lib/typedarray/Int16Array#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 859 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $2 + call $~lib/typedarray/Int16Array#__get i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 860 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/typedarray/Int16Array#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 861 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 10 - call $~lib/typedarray/Uint64Array#constructor - local.tee $3 - i32.store offset=12 - local.get $3 - global.get $std/typedarray/setSource1 - local.set $6 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16> + (local $0 i32) + (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - i32.const 0 - call $~lib/typedarray/Uint64Array#set<~lib/array/Array> - local.get $3 - i32.const 10 - i32.const 3 - i32.const 68 - i32.const 12144 - call $~lib/rt/__newArray - local.set $6 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - local.get $3 - global.get $std/typedarray/setSource2 - local.set $6 + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - i32.const 3 - call $~lib/typedarray/Uint64Array#set<~lib/array/Array> - local.get $3 - i32.const 10 - i32.const 3 - i32.const 68 - i32.const 12304 - call $~lib/rt/__newArray - local.set $6 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - local.get $3 - local.get $0 - i32.const 6 - call $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int64Array> - local.get $3 - i32.const 10 + i32.const 0 i32.const 3 - i32.const 68 - i32.const 12416 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + local.get $0 i32.const 1 - drop - local.get $3 - global.get $std/typedarray/setSource3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 i32.const 2 - call $~lib/typedarray/Uint64Array#set<~lib/array/Array> - local.get $3 - i32.const 10 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 0 i32.const 3 - i32.const 68 - i32.const 12528 - call $~lib/rt/__newArray - local.set $6 + call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - local.get $3 + local.get $0 + i32.const 0 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint16Array#sort@varargs + local.tee $1 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/typedarray/Uint64Array#set<~lib/typedarray/Uint8Array> - local.get $3 - local.get $2 - i32.const 4 - call $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int16Array> - local.get $3 - global.get $std/typedarray/setSource7 - local.set $6 + call $~lib/typedarray/Uint16Array#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 855 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/typedarray/Uint16Array#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 856 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 857 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 13904 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - i32.const 7 - call $~lib/typedarray/Uint64Array#set<~lib/array/Array> - i32.const 0 + local.get $2 + i32.store offset=8 + local.get $2 + call $~lib/typedarray/Uint16Array#sort drop - local.get $3 - i32.const 10 + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint16Array#__get i32.const 3 - i32.const 68 - i32.const 12640 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 859 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/typedarray/Uint16Array#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 860 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 861 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> (param $0 i32) (param $1 i32) + (func $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32> + (local $0 i32) + (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f32) - (local $6 f32) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 i32.store local.get $0 - call $~lib/typedarray/Float32Array#get:length + i32.const 2 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 0 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#sort@varargs + local.tee $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 855 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 856 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/typedarray/Int32Array#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 857 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 13968 local.set $2 + global.get $~lib/memory/__stack_pointer local.get $2 + i32.store offset=8 + local.get $2 + call $~lib/typedarray/Int32Array#sort + drop local.get $1 - call $~lib/array/Array#get:length + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 735 + i32.const 859 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $2 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $0 - local.get $3 - call $~lib/typedarray/Float32Array#__uget - local.set $5 - local.get $1 - local.get $3 - call $~lib/array/Array#__uget - local.set $6 - local.get $5 - local.get $6 - f32.ne - if - i32.const 12816 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - i32.const 3 - local.get $3 - f64.convert_i32_s - local.get $5 - f64.promote_f32 - local.get $6 - f64.promote_f32 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end + local.get $1 + i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 860 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/typedarray/Int32Array#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 861 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float32Array> + (func $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32> (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -49683,270 +55684,416 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Uint32Array#constructor local.tee $0 i32.store local.get $0 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $0 + i32.const 2 i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set + call $~lib/typedarray/Uint32Array#__set local.get $0 + i32.const 1 i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer + local.get $0 i32.const 0 - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint32Array#sort@varargs local.tee $1 i32.store offset=4 local.get $1 i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $1 + call $~lib/typedarray/Uint32Array#__get i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 855 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 + i32.const 1 + call $~lib/typedarray/Uint32Array#__get i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 856 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__get i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 857 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 14032 + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $2 + local.get $2 i32.store offset=8 local.get $2 + call $~lib/typedarray/Uint32Array#sort + drop + local.get $1 i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $2 + call $~lib/typedarray/Uint32Array#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 859 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $2 + call $~lib/typedarray/Uint32Array#__get i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 860 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 861 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 10 - call $~lib/typedarray/Float32Array#constructor - local.tee $3 - i32.store offset=12 - local.get $3 - global.get $std/typedarray/setSource1 - local.set $6 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64> + (local $0 i32) + (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - i32.const 0 - call $~lib/typedarray/Float32Array#set<~lib/array/Array> - local.get $3 - i32.const 10 - i32.const 2 - i32.const 61 - i32.const 12752 - call $~lib/rt/__newArray - local.set $6 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> - local.get $3 - global.get $std/typedarray/setSource2 - local.set $6 + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - i32.const 3 - call $~lib/typedarray/Float32Array#set<~lib/array/Array> - local.get $3 - i32.const 10 - i32.const 2 - i32.const 61 - i32.const 12864 - call $~lib/rt/__newArray - local.set $6 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> - local.get $3 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store local.get $0 - i32.const 6 - call $~lib/typedarray/Float32Array#set<~lib/typedarray/Int64Array> - local.get $3 - i32.const 10 i32.const 2 - i32.const 61 - i32.const 12928 - call $~lib/rt/__newArray - local.set $6 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 0 + i64.const 3 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> + local.get $0 i32.const 0 - drop - local.get $3 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int64Array#sort@varargs + local.tee $1 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/typedarray/Float32Array#set<~lib/typedarray/Uint8Array> - local.get $3 - local.get $2 - i32.const 4 - call $~lib/typedarray/Float32Array#set<~lib/typedarray/Int16Array> - local.get $3 - global.get $std/typedarray/setSource7 - local.set $6 + call $~lib/typedarray/Int64Array#__get + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 855 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/typedarray/Int64Array#__get + i64.const 2 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 856 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/typedarray/Int64Array#__get + i64.const 3 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 857 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 14096 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - i32.const 7 - call $~lib/typedarray/Float32Array#set<~lib/array/Array> - i32.const 0 + local.get $2 + i32.store offset=8 + local.get $2 + call $~lib/typedarray/Int64Array#sort drop - local.get $3 - i32.const 10 + local.get $1 + i32.const 0 + call $~lib/typedarray/Int64Array#__get + i64.const 3 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 859 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/typedarray/Int64Array#__get + i64.const 2 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 860 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 2 - i32.const 61 - i32.const 12992 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> + call $~lib/typedarray/Int64Array#__get + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 861 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> (param $0 i32) (param $1 i32) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64> + (local $0 i32) + (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f64) - (local $6 f64) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 i32.store local.get $0 - call $~lib/typedarray/Float64Array#get:length + i32.const 2 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 0 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 0 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint64Array#sort@varargs + local.tee $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint64Array#__get + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 855 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/typedarray/Uint64Array#__get + i64.const 2 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 856 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint64Array#__get + i64.const 3 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 857 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 14160 local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 local.get $2 + call $~lib/typedarray/Uint64Array#sort + drop local.get $1 - call $~lib/array/Array#get:length - i32.eq + i32.const 0 + call $~lib/typedarray/Uint64Array#__get + i64.const 3 + i64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 735 + i32.const 859 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $2 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $0 - local.get $3 - call $~lib/typedarray/Float64Array#__uget - local.set $5 - local.get $1 - local.get $3 - call $~lib/array/Array#__uget - local.set $6 - local.get $5 - local.get $6 - f64.ne - if - i32.const 13168 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - i32.const 3 - local.get $3 - f64.convert_i32_s - local.get $5 - local.get $6 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end + local.get $1 + i32.const 1 + call $~lib/typedarray/Uint64Array#__get + i64.const 2 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 860 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint64Array#__get + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 861 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float64Array> + (func $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32> (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -49954,168 +56101,268 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Float32Array#constructor local.tee $0 i32.store local.get $0 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set + i32.const 2 + f32.const 1 + call $~lib/typedarray/Float32Array#__set local.get $0 i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set + f32.const 2 + call $~lib/typedarray/Float32Array#__set local.get $0 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set + i32.const 0 + f32.const 3 + call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer + local.get $0 i32.const 0 - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Float32Array#sort@varargs local.tee $1 i32.store offset=4 local.get $1 i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Float32Array#__get + f32.const 1 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 855 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Float32Array#__get + f32.const 2 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 856 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Float32Array#__get + f32.const 3 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 857 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set + i32.const 14224 + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $2 + local.get $2 i32.store offset=8 local.get $2 + call $~lib/typedarray/Float32Array#sort + drop + local.get $1 i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $2 + call $~lib/typedarray/Float32Array#__get + f32.const 3 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 859 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $2 + call $~lib/typedarray/Float32Array#__get + f32.const 2 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 860 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set + call $~lib/typedarray/Float32Array#__get + f32.const 1 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 861 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 10 - call $~lib/typedarray/Float64Array#constructor - local.tee $3 - i32.store offset=12 - local.get $3 - global.get $std/typedarray/setSource1 - local.set $6 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64> + (local $0 i32) + (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - i32.const 0 - call $~lib/typedarray/Float64Array#set<~lib/array/Array> - local.get $3 - i32.const 10 - i32.const 3 - i32.const 62 - i32.const 13056 - call $~lib/rt/__newArray - local.set $6 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> - local.get $3 - global.get $std/typedarray/setSource2 - local.set $6 + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - i32.const 3 - call $~lib/typedarray/Float64Array#set<~lib/array/Array> - local.get $3 - i32.const 10 - i32.const 3 - i32.const 62 - i32.const 13216 - call $~lib/rt/__newArray - local.set $6 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> - local.get $3 - local.get $0 - i32.const 6 - call $~lib/typedarray/Float64Array#set<~lib/typedarray/Int64Array> - local.get $3 - i32.const 10 + i32.const 0 i32.const 3 - i32.const 62 - i32.const 13328 - call $~lib/rt/__newArray - local.set $6 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 2 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 0 + f64.const 3 + call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> + local.get $0 i32.const 0 - drop - local.get $3 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Float64Array#sort@varargs + local.tee $1 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/typedarray/Float64Array#set<~lib/typedarray/Uint8Array> - local.get $3 - local.get $2 - i32.const 4 - call $~lib/typedarray/Float64Array#set<~lib/typedarray/Int16Array> - local.get $3 - global.get $std/typedarray/setSource7 - local.set $6 + call $~lib/typedarray/Float64Array#__get + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 855 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/typedarray/Float64Array#__get + f64.const 2 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 856 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/typedarray/Float64Array#__get + f64.const 3 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 857 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 14256 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - i32.const 7 - call $~lib/typedarray/Float64Array#set<~lib/array/Array> - i32.const 0 + local.get $2 + i32.store offset=8 + local.get $2 + call $~lib/typedarray/Float64Array#sort drop - local.get $3 - i32.const 10 - i32.const 3 - i32.const 62 - i32.const 13440 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> + local.get $1 + i32.const 0 + call $~lib/typedarray/Float64Array#__get + f64.const 3 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 859 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/typedarray/Float64Array#__get + f64.const 2 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 860 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/typedarray/Float64Array#__get + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 861 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) @@ -52474,6 +58721,17 @@ i32.store offset=4 local.get $8 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + call $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8> + call $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8> + call $std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8> + call $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32> + call $std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64> global.get $~lib/memory/__heap_base global.set $~lib/memory/__stack_pointer call $~lib/rt/itcms/__collect @@ -60987,4 +67245,471 @@ global.set $~lib/memory/__stack_pointer local.get $9 ) + (func $~lib/typedarray/Int8Array#sort@varargs (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/memory/__stack_pointer + block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) + i32.const 1 + drop + i32.const 1 + if (result i32) + i32.const 1 + i32.const 4 + i32.le_u + else + i32.const 0 + end + drop + i32.const 13616 + br $~lib/util/sort/COMPARATOR|inlined.0 + end + local.tee $1 + i32.store + end + local.get $0 + local.get $1 + call $~lib/typedarray/Int8Array#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Uint8Array#sort@varargs (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/memory/__stack_pointer + block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) + i32.const 1 + drop + i32.const 0 + if (result i32) + i32.const 1 + i32.const 4 + i32.le_u + else + i32.const 0 + end + drop + i32.const 13680 + br $~lib/util/sort/COMPARATOR|inlined.0 + end + local.tee $1 + i32.store + end + local.get $0 + local.get $1 + call $~lib/typedarray/Uint8Array#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Uint8ClampedArray#sort@varargs (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/memory/__stack_pointer + block $~lib/util/sort/COMPARATOR|inlined.1 (result i32) + i32.const 1 + drop + i32.const 0 + if (result i32) + i32.const 1 + i32.const 4 + i32.le_u + else + i32.const 0 + end + drop + i32.const 13744 + br $~lib/util/sort/COMPARATOR|inlined.1 + end + local.tee $1 + i32.store + end + local.get $0 + local.get $1 + call $~lib/typedarray/Uint8ClampedArray#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Int16Array#sort@varargs (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/memory/__stack_pointer + block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) + i32.const 1 + drop + i32.const 1 + if (result i32) + i32.const 2 + i32.const 4 + i32.le_u + else + i32.const 0 + end + drop + i32.const 13808 + br $~lib/util/sort/COMPARATOR|inlined.0 + end + local.tee $1 + i32.store + end + local.get $0 + local.get $1 + call $~lib/typedarray/Int16Array#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Uint16Array#sort@varargs (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/memory/__stack_pointer + block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) + i32.const 1 + drop + i32.const 0 + if (result i32) + i32.const 2 + i32.const 4 + i32.le_u + else + i32.const 0 + end + drop + i32.const 13872 + br $~lib/util/sort/COMPARATOR|inlined.0 + end + local.tee $1 + i32.store + end + local.get $0 + local.get $1 + call $~lib/typedarray/Uint16Array#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Int32Array#sort@varargs (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/memory/__stack_pointer + block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) + i32.const 1 + drop + i32.const 1 + if (result i32) + i32.const 4 + i32.const 4 + i32.le_u + else + i32.const 0 + end + drop + i32.const 13936 + br $~lib/util/sort/COMPARATOR|inlined.0 + end + local.tee $1 + i32.store + end + local.get $0 + local.get $1 + call $~lib/typedarray/Int32Array#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Uint32Array#sort@varargs (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/memory/__stack_pointer + block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) + i32.const 1 + drop + i32.const 0 + if (result i32) + i32.const 4 + i32.const 4 + i32.le_u + else + i32.const 0 + end + drop + i32.const 14000 + br $~lib/util/sort/COMPARATOR|inlined.0 + end + local.tee $1 + i32.store + end + local.get $0 + local.get $1 + call $~lib/typedarray/Uint32Array#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Int64Array#sort@varargs (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/memory/__stack_pointer + block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) + i32.const 1 + drop + i32.const 1 + if (result i32) + i32.const 8 + i32.const 4 + i32.le_u + else + i32.const 0 + end + drop + i32.const 14064 + br $~lib/util/sort/COMPARATOR|inlined.0 + end + local.tee $1 + i32.store + end + local.get $0 + local.get $1 + call $~lib/typedarray/Int64Array#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Uint64Array#sort@varargs (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/memory/__stack_pointer + block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) + i32.const 1 + drop + i32.const 0 + if (result i32) + i32.const 8 + i32.const 4 + i32.le_u + else + i32.const 0 + end + drop + i32.const 14128 + br $~lib/util/sort/COMPARATOR|inlined.0 + end + local.tee $1 + i32.store + end + local.get $0 + local.get $1 + call $~lib/typedarray/Uint64Array#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Float32Array#sort@varargs (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/memory/__stack_pointer + block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) + i32.const 0 + drop + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + i32.const 14192 + br $~lib/util/sort/COMPARATOR|inlined.0 + end + local.tee $1 + i32.store + end + local.get $0 + local.get $1 + call $~lib/typedarray/Float32Array#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) )