1
0
mirror of https://github.com/fluencelabs/assemblyscript synced 2025-07-26 11:42:08 +00:00

Use macro style for more internal helpers; Update dist files

This commit is contained in:
dcodeIO
2018-12-08 23:38:49 +01:00
parent b585703eae
commit 3ed83ef3ae
37 changed files with 544 additions and 543 deletions

2
dist/asc.js vendored

File diff suppressed because one or more lines are too long

2
dist/asc.js.map vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@@ -14,10 +14,9 @@ import {
} from "./internal/string";
import {
defaultComparator,
insertionSort,
weakHeapSort
} from "./internal/array";
COMPARATOR,
SORT
} from "./internal/sort";
import {
itoa,
@@ -403,7 +402,7 @@ export class Array<T> {
return this;
}
sort(comparator: (a: T, b: T) => i32 = defaultComparator<T>()): this {
sort(comparator: (a: T, b: T) => i32 = COMPARATOR<T>()): this {
// TODO remove this when flow will allow trackcing null
assert(comparator); // The comparison function must be a function
@@ -419,19 +418,8 @@ export class Array<T> {
}
return this;
}
if (isReference<T>()) {
// TODO replace this to faster stable sort (TimSort) when it implemented
insertionSort<T>(buffer, 0, length, comparator);
return this;
} else {
if (length < 256) {
insertionSort<T>(buffer, 0, length, comparator);
} else {
weakHeapSort<T>(buffer, 0, length, comparator);
}
return this;
}
SORT<T>(buffer, 0, length, comparator);
return this;
}
join(separator: string = ","): string {

@@ -1,4 +1,7 @@
import { AL_MASK, MAX_SIZE_32 } from "./allocator";
import {
AL_MASK,
MAX_SIZE_32
} from "./allocator";
/** Size of an ArrayBuffer header. */
export const HEADER_SIZE: usize = (offsetof<ArrayBuffer>() + AL_MASK) & ~AL_MASK;

@@ -1,10 +1,10 @@
import {
HEADER_SIZE as STRING_HEADER_SIZE
HEADER_SIZE
} from "./string";
/** Computes the 32-bit hash of a value of any type. */
@inline
export function hash<T>(key: T): u32 {
export function HASH<T>(key: T): u32 {
// branch-level tree-shaking makes this a `(return (call ...))`
if (isString(key)) {
return hashStr(key);
@@ -66,7 +66,7 @@ function hash64(key: u64): u32 {
function hashStr(key: string): u32 {
var v = FNV_OFFSET;
for (let i: usize = 0, k: usize = key.length << 1; i < k; ++i) {
v = (v ^ <u32>load<u8>(changetype<usize>(key) + i, STRING_HEADER_SIZE)) * FNV_PRIME;
v = (v ^ <u32>load<u8>(changetype<usize>(key) + i, HEADER_SIZE)) * FNV_PRIME;
}
return v;
}

@@ -4,12 +4,12 @@ import {
} from "./arraybuffer";
import {
compareUnsafe,
compareUnsafe
} from "./string";
/** Obtains the default comparator for the specified type. */
/** Obtains the default comparator for the specified value type. */
@inline
export function defaultComparator<T>(): (a: T, b: T) => i32 {
export function COMPARATOR<T>(): (a: T, b: T) => i32 {
if (isInteger<T>()) {
if (isSigned<T>() && sizeof<T>() <= 4) {
return (a: T, b: T): i32 => (<i32>(a - b));
@@ -44,8 +44,27 @@ export function defaultComparator<T>(): (a: T, b: T) => i32 {
}
}
@inline
export function SORT<T>(
buffer: ArrayBuffer,
byteOffset: i32,
length: i32,
comparator: (a: T, b: T) => i32
): void {
if (isReference<T>()) {
// TODO replace this to faster stable sort (TimSort) when it implemented
insertionSort<T>(buffer, byteOffset, length, comparator);
} else {
if (length < 256) {
insertionSort<T>(buffer, byteOffset, length, comparator);
} else {
weakHeapSort<T>(buffer, byteOffset, length, comparator);
}
}
}
/** Sorts an Array with the 'Insertion Sort' algorithm. */
export function insertionSort<T>(
function insertionSort<T>(
buffer: ArrayBuffer,
byteOffset: i32,
length: i32,
@@ -65,7 +84,7 @@ export function insertionSort<T>(
}
/** Sorts an Array with the 'Weak Heap Sort' algorithm. */
export function weakHeapSort<T>(
function weakHeapSort<T>(
buffer: ArrayBuffer,
byteOffset: i32,
length: i32,

@@ -7,9 +7,8 @@ import {
} from "./arraybuffer";
import {
insertionSort,
weakHeapSort
} from "./array";
SORT as SORT_IMPL
} from "./sort";
/** Typed array base class. Not a global object. */
export abstract class TypedArray<T> {
@@ -106,18 +105,8 @@ export function SORT<TArray extends TypedArray<T>, T>(
}
return array;
}
if (isReference<T>()) {
// TODO replace this to faster stable sort (TimSort) when it implemented
insertionSort<T>(buffer, byteOffset, length, comparator);
return array;
} else {
if (length < 256) {
insertionSort<T>(buffer, byteOffset, length, comparator);
} else {
weakHeapSort<T>(buffer, byteOffset, length, comparator);
}
return array;
}
SORT_IMPL<T>(buffer, byteOffset, length, comparator);
return array;
}
@inline

@@ -3,7 +3,7 @@ import {
} from "./internal/arraybuffer";
import {
hash
HASH
} from "./internal/hash";
// A deterministic hash map based on CloseTable from https://github.com/jorendorff/dht
@@ -80,16 +80,16 @@ export class Map<K,V> {
}
has(key: K): bool {
return this.find(key, hash<K>(key)) !== null;
return this.find(key, HASH<K>(key)) !== null;
}
get(key: K): V {
var entry = this.find(key, hash<K>(key));
var entry = this.find(key, HASH<K>(key));
return entry ? entry.value : <V>unreachable();
}
set(key: K, value: V): void {
var hashCode = hash<K>(key);
var hashCode = HASH<K>(key);
var entry = this.find(key, hashCode);
if (entry) {
entry.value = value;
@@ -120,7 +120,7 @@ export class Map<K,V> {
}
delete(key: K): bool {
var entry = this.find(key, hash<K>(key));
var entry = this.find(key, HASH<K>(key));
if (!entry) return false;
entry.taggedNext |= EMPTY;
--this.entriesCount;
@@ -149,7 +149,7 @@ export class Map<K,V> {
let newEntry = changetype<MapEntry<K,V>>(newPtr);
newEntry.key = oldEntry.key;
newEntry.value = oldEntry.value;
let newBucketIndex = hash<K>(oldEntry.key) & newBucketsMask;
let newBucketIndex = HASH<K>(oldEntry.key) & newBucketsMask;
let newBucketPtrBase = changetype<usize>(newBuckets) + <usize>newBucketIndex * BUCKET_SIZE;
newEntry.taggedNext = load<usize>(newBucketPtrBase, HEADER_SIZE_AB);
store<usize>(newBucketPtrBase, newPtr, HEADER_SIZE_AB);

@@ -3,7 +3,7 @@ import {
} from "./internal/arraybuffer";
import {
hash
HASH
} from "./internal/hash";
// A deterministic hash set based on CloseTable from https://github.com/jorendorff/dht
@@ -78,11 +78,11 @@ export class Set<K> {
}
has(key: K): bool {
return this.find(key, hash(key)) !== null;
return this.find(key, HASH(key)) !== null;
}
add(key: K): void {
var hashCode = hash(key);
var hashCode = HASH(key);
var entry = this.find(key, hashCode);
if (!entry) {
// check if rehashing is necessary
@@ -109,7 +109,7 @@ export class Set<K> {
}
delete(key: K): bool {
var entry = this.find(key, hash<K>(key));
var entry = this.find(key, HASH<K>(key));
if (!entry) return false;
entry.taggedNext |= EMPTY;
--this.entriesCount;
@@ -137,7 +137,7 @@ export class Set<K> {
if (!(oldEntry.taggedNext & EMPTY)) {
let newEntry = changetype<SetEntry<K>>(newPtr);
newEntry.key = oldEntry.key;
let newBucketIndex = hash<K>(oldEntry.key) & newBucketsMask;
let newBucketIndex = HASH<K>(oldEntry.key) & newBucketsMask;
let newBucketPtrBase = changetype<usize>(newBuckets) + <usize>newBucketIndex * BUCKET_SIZE;
newEntry.taggedNext = load<usize>(newBucketPtrBase, HEADER_SIZE_AB);
store<usize>(newBucketPtrBase, newPtr, HEADER_SIZE_AB);

@@ -9,8 +9,8 @@ import {
} from "./internal/typedarray";
import {
defaultComparator
} from "./internal/array";
COMPARATOR
} from "./internal/sort";
export class Int8Array extends TypedArray<i8> {
static readonly BYTES_PER_ELEMENT: usize = sizeof<i8>();
@@ -19,7 +19,7 @@ export class Int8Array extends TypedArray<i8> {
return FILL<Int8Array, i8>(this, value, start, end);
}
sort(comparator: (a: i8, b: i8) => i32 = defaultComparator<i8>()): Int8Array {
sort(comparator: (a: i8, b: i8) => i32 = COMPARATOR<i8>()): Int8Array {
return SORT<Int8Array, i8>(this, comparator);
}
@@ -53,7 +53,7 @@ export class Uint8Array extends TypedArray<u8> {
return FILL<Uint8Array, u8>(this, value, start, end);
}
sort(comparator: (a: u8, b: u8) => i32 = defaultComparator<u8>()): Uint8Array {
sort(comparator: (a: u8, b: u8) => i32 = COMPARATOR<u8>()): Uint8Array {
return SORT<Uint8Array, u8>(this, comparator);
}
@@ -97,7 +97,7 @@ export class Uint8ClampedArray extends Uint8Array {
return changetype<Uint8ClampedArray>(super.fill(value, start, end)); // safe because '.fill' reuses 'this'
}
sort(comparator: (a: u8, b: u8) => i32 = defaultComparator<u8>()): Uint8ClampedArray {
sort(comparator: (a: u8, b: u8) => i32 = COMPARATOR<u8>()): Uint8ClampedArray {
return changetype<Uint8ClampedArray>(super.sort(comparator)); // safe because '.sort' reuses 'this'
}
@@ -117,7 +117,7 @@ export class Int16Array extends TypedArray<i16> {
return FILL<Int16Array, i16>(this, value, start, end);
}
sort(comparator: (a: i16, b: i16) => i32 = defaultComparator<i16>()): Int16Array {
sort(comparator: (a: i16, b: i16) => i32 = COMPARATOR<i16>()): Int16Array {
return SORT<Int16Array, i16>(this, comparator);
}
@@ -151,7 +151,7 @@ export class Uint16Array extends TypedArray<u16> {
return FILL<Uint16Array, u16>(this, value, start, end);
}
sort(comparator: (a: u16, b: u16) => i32 = defaultComparator<u16>()): Uint16Array {
sort(comparator: (a: u16, b: u16) => i32 = COMPARATOR<u16>()): Uint16Array {
return SORT<Uint16Array, u16>(this, comparator);
}
@@ -185,7 +185,7 @@ export class Int32Array extends TypedArray<i32> {
return FILL<Int32Array, i32>(this, value, start, end);
}
sort(comparator: (a: i32, b: i32) => i32 = defaultComparator<i32>()): Int32Array {
sort(comparator: (a: i32, b: i32) => i32 = COMPARATOR<i32>()): Int32Array {
return SORT<Int32Array, i32>(this, comparator);
}
@@ -219,7 +219,7 @@ export class Uint32Array extends TypedArray<u32> {
return FILL<Uint32Array, u32>(this, value, start, end);
}
sort(comparator: (a: u32, b: u32) => i32 = defaultComparator<u32>()): Uint32Array {
sort(comparator: (a: u32, b: u32) => i32 = COMPARATOR<u32>()): Uint32Array {
return SORT<Uint32Array, u32>(this, comparator);
}
@@ -253,7 +253,7 @@ export class Int64Array extends TypedArray<i64> {
return FILL<Int64Array, i64>(this, value, start, end);
}
sort(comparator: (a: i64, b: i64) => i32 = defaultComparator<i64>()): Int64Array {
sort(comparator: (a: i64, b: i64) => i32 = COMPARATOR<i64>()): Int64Array {
return SORT<Int64Array, i64>(this, comparator);
}
@@ -287,7 +287,7 @@ export class Uint64Array extends TypedArray<u64> {
return FILL<Uint64Array, u64>(this, value, start, end);
}
sort(comparator: (a: u64, b: u64) => i32 = defaultComparator<u64>()): Uint64Array {
sort(comparator: (a: u64, b: u64) => i32 = COMPARATOR<u64>()): Uint64Array {
return SORT<Uint64Array, u64>(this, comparator);
}
@@ -321,7 +321,7 @@ export class Float32Array extends TypedArray<f32> {
return FILL<Float32Array, f32>(this, value, start, end);
}
sort(comparator: (a: f32, b: f32) => i32 = defaultComparator<f32>()): Float32Array {
sort(comparator: (a: f32, b: f32) => i32 = COMPARATOR<f32>()): Float32Array {
return SORT<Float32Array, f32>(this, comparator);
}
@@ -355,7 +355,7 @@ export class Float64Array extends TypedArray<f64> {
return FILL<Float64Array, f64>(this, value, start, end);
}
sort(comparator: (a: f64, b: f64) => i32 = defaultComparator<f64>()): Float64Array {
sort(comparator: (a: f64, b: f64) => i32 = COMPARATOR<f64>()): Float64Array {
return SORT<Float64Array, f64>(this, comparator);
}

@@ -99,7 +99,7 @@
if
i32.const 0
i32.const 168
i32.const 23
i32.const 26
i32.const 2
call $~lib/env/abort
unreachable

@@ -192,7 +192,7 @@
if
i32.const 0
i32.const 168
i32.const 23
i32.const 26
i32.const 2
call $~lib/env/abort
unreachable
@@ -481,7 +481,7 @@
if
i32.const 0
i32.const 136
i32.const 46
i32.const 45
i32.const 39
call $~lib/env/abort
unreachable
@@ -558,7 +558,7 @@
if
i32.const 0
i32.const 136
i32.const 46
i32.const 45
i32.const 39
call $~lib/env/abort
unreachable
@@ -635,7 +635,7 @@
if
i32.const 0
i32.const 136
i32.const 46
i32.const 45
i32.const 39
call $~lib/env/abort
unreachable
@@ -728,7 +728,7 @@
if
i32.const 0
i32.const 136
i32.const 46
i32.const 45
i32.const 39
call $~lib/env/abort
unreachable

@@ -465,7 +465,7 @@
if
i32.const 0
i32.const 40
i32.const 23
i32.const 26
i32.const 2
call $~lib/env/abort
unreachable
@@ -729,7 +729,7 @@
if
i32.const 0
i32.const 8
i32.const 46
i32.const 45
i32.const 39
call $~lib/env/abort
unreachable
@@ -2242,7 +2242,7 @@
if
i32.const 0
i32.const 40
i32.const 37
i32.const 40
i32.const 4
call $~lib/env/abort
unreachable
@@ -2307,7 +2307,7 @@
if
i32.const 0
i32.const 40
i32.const 61
i32.const 64
i32.const 4
call $~lib/env/abort
unreachable
@@ -2344,7 +2344,7 @@
if
i32.const 0
i32.const 8
i32.const 185
i32.const 184
i32.const 42
call $~lib/env/abort
unreachable
@@ -2381,7 +2381,7 @@
if
i32.const 0
i32.const 8
i32.const 247
i32.const 246
i32.const 20
call $~lib/env/abort
unreachable
@@ -2679,7 +2679,7 @@
if
i32.const 0
i32.const 8
i32.const 336
i32.const 335
i32.const 42
call $~lib/env/abort
unreachable
@@ -2731,7 +2731,7 @@
if
i32.const 0
i32.const 8
i32.const 307
i32.const 306
i32.const 20
call $~lib/env/abort
unreachable
@@ -3019,7 +3019,7 @@
if
i32.const 0
i32.const 8
i32.const 110
i32.const 109
i32.const 41
call $~lib/env/abort
unreachable
@@ -3833,7 +3833,7 @@
call $~lib/math/splitMix32
set_global $~lib/math/random_state1_32
)
(func $~lib/internal/array/insertionSort<f32> (; 69 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/sort/insertionSort<f32> (; 69 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 f32)
@@ -3913,7 +3913,7 @@
end
end
)
(func $~lib/internal/array/weakHeapSort<f32> (; 70 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/sort/weakHeapSort<f32> (; 70 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@@ -4182,7 +4182,7 @@
if
i32.const 0
i32.const 8
i32.const 408
i32.const 407
i32.const 4
call $~lib/env/abort
unreachable
@@ -4239,12 +4239,12 @@
get_local $2
get_local $3
get_local $1
call $~lib/internal/array/insertionSort<f32>
call $~lib/internal/sort/insertionSort<f32>
else
get_local $2
get_local $3
get_local $1
call $~lib/internal/array/weakHeapSort<f32>
call $~lib/internal/sort/weakHeapSort<f32>
end
get_local $0
)
@@ -4404,7 +4404,7 @@
end
i32.const 1
)
(func $~lib/internal/array/insertionSort<f64> (; 74 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/sort/insertionSort<f64> (; 74 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 f64)
@@ -4484,7 +4484,7 @@
end
end
)
(func $~lib/internal/array/weakHeapSort<f64> (; 75 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/sort/weakHeapSort<f64> (; 75 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@@ -4753,7 +4753,7 @@
if
i32.const 0
i32.const 8
i32.const 408
i32.const 407
i32.const 4
call $~lib/env/abort
unreachable
@@ -4810,12 +4810,12 @@
get_local $2
get_local $3
get_local $1
call $~lib/internal/array/insertionSort<f64>
call $~lib/internal/sort/insertionSort<f64>
else
get_local $2
get_local $3
get_local $1
call $~lib/internal/array/weakHeapSort<f64>
call $~lib/internal/sort/weakHeapSort<f64>
end
get_local $0
)
@@ -4975,7 +4975,7 @@
end
i32.const 1
)
(func $~lib/internal/array/insertionSort<i32> (; 79 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/sort/insertionSort<i32> (; 79 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@@ -5057,7 +5057,7 @@
end
end
)
(func $~lib/internal/array/weakHeapSort<i32> (; 80 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/sort/weakHeapSort<i32> (; 80 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@@ -5325,7 +5325,7 @@
if
i32.const 0
i32.const 8
i32.const 408
i32.const 407
i32.const 4
call $~lib/env/abort
unreachable
@@ -5382,12 +5382,12 @@
get_local $3
get_local $2
get_local $1
call $~lib/internal/array/insertionSort<i32>
call $~lib/internal/sort/insertionSort<i32>
else
get_local $3
get_local $2
get_local $1
call $~lib/internal/array/weakHeapSort<i32>
call $~lib/internal/sort/weakHeapSort<i32>
end
get_local $0
)
@@ -5714,7 +5714,7 @@
if
i32.const 0
i32.const 8
i32.const 408
i32.const 407
i32.const 4
call $~lib/env/abort
unreachable
@@ -5767,7 +5767,7 @@
get_local $3
get_local $2
get_local $1
call $~lib/internal/array/insertionSort<i32>
call $~lib/internal/sort/insertionSort<i32>
get_local $0
)
(func $std/array/assertSorted<Array<i32>> (; 94 ;) (type $iiv) (param $0 i32) (param $1 i32)

@@ -1,6 +1,6 @@
import "allocator/arena";
import { Array } from "array";
import { defaultComparator } from "internal/array";
import { COMPARATOR } from "internal/sort";
// Obtains the internal capacity of an array from its backing buffer.
function internalCapacity<T>(array: Array<T>): i32 {
@@ -712,7 +712,7 @@ arr.push(3);
// Array#sort //////////////////////////////////////////////////////////////////////////////////////
// Checks if an array is properly sorted
function isSorted<T>(data: Array<T>, comparator: (a: T, b: T) => i32 = defaultComparator<T>()): bool {
function isSorted<T>(data: Array<T>, comparator: (a: T, b: T) => i32 = COMPARATOR<T>()): bool {
for (let i: i32 = 1, len: i32 = data.length; i < len; i++) {
if (comparator(data[i - 1], data[i]) > 0) return false;
}
@@ -782,7 +782,7 @@ function assertSorted<T>(arr: Array<T>, comparator: (a: T, b: T) => i32): void {
}
function assertSortedDefault<T>(arr: Array<T>): void {
assertSorted<T>(arr, defaultComparator<T>());
assertSorted<T>(arr, COMPARATOR<T>());
}
// Tests for default comparator

@@ -539,7 +539,7 @@
if
i32.const 0
i32.const 40
i32.const 23
i32.const 26
i32.const 2
call $~lib/env/abort
unreachable
@@ -828,7 +828,7 @@
if
i32.const 0
i32.const 8
i32.const 46
i32.const 45
i32.const 39
call $~lib/env/abort
unreachable
@@ -2772,7 +2772,7 @@
if
i32.const 0
i32.const 40
i32.const 37
i32.const 40
i32.const 4
call $~lib/env/abort
unreachable
@@ -2850,7 +2850,7 @@
if
i32.const 0
i32.const 40
i32.const 61
i32.const 64
i32.const 4
call $~lib/env/abort
unreachable
@@ -2893,7 +2893,7 @@
if
i32.const 0
i32.const 8
i32.const 185
i32.const 184
i32.const 42
call $~lib/env/abort
unreachable
@@ -2966,7 +2966,7 @@
if
i32.const 0
i32.const 8
i32.const 247
i32.const 246
i32.const 20
call $~lib/env/abort
unreachable
@@ -3399,7 +3399,7 @@
if
i32.const 0
i32.const 8
i32.const 336
i32.const 335
i32.const 42
call $~lib/env/abort
unreachable
@@ -3474,7 +3474,7 @@
if
i32.const 0
i32.const 8
i32.const 307
i32.const 306
i32.const 20
call $~lib/env/abort
unreachable
@@ -3865,7 +3865,7 @@
if
i32.const 0
i32.const 8
i32.const 110
i32.const 109
i32.const 41
call $~lib/env/abort
unreachable
@@ -4312,7 +4312,7 @@
if
i32.const 0
i32.const 8
i32.const 46
i32.const 45
i32.const 39
call $~lib/env/abort
unreachable
@@ -5149,7 +5149,7 @@
call $~lib/math/splitMix32
set_global $~lib/math/random_state1_32
)
(func $~lib/internal/array/insertionSort<f32> (; 96 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/internal/sort/insertionSort<f32> (; 96 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 f32)
(local $6 i32)
@@ -5264,7 +5264,7 @@
(func $~lib/allocator/arena/__memory_free (; 97 ;) (type $iv) (param $0 i32)
nop
)
(func $~lib/internal/array/weakHeapSort<f32> (; 98 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/internal/sort/weakHeapSort<f32> (; 98 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
@@ -5689,7 +5689,7 @@
if
i32.const 0
i32.const 8
i32.const 408
i32.const 407
i32.const 4
call $~lib/env/abort
unreachable
@@ -5782,24 +5782,25 @@
get_local $0
return
end
i32.const 0
set_local $4
get_local $2
i32.const 256
i32.lt_s
if
get_local $3
i32.const 0
get_local $4
get_local $2
get_local $1
call $~lib/internal/array/insertionSort<f32>
call $~lib/internal/sort/insertionSort<f32>
else
get_local $3
i32.const 0
get_local $4
get_local $2
get_local $1
call $~lib/internal/array/weakHeapSort<f32>
call $~lib/internal/sort/weakHeapSort<f32>
end
get_local $0
return
)
(func $~lib/array/Array<f32>#sort|trampoline~anonymous|43 (; 100 ;) (type $ffi) (param $0 f32) (param $1 f32) (result i32)
(local $2 i32)
@@ -5843,9 +5844,9 @@
end
unreachable
end
block $~lib/internal/array/defaultComparator<f32>|inlined.0 (result i32)
block $~lib/internal/sort/COMPARATOR<f32>|inlined.0 (result i32)
i32.const 43
br $~lib/internal/array/defaultComparator<f32>|inlined.0
br $~lib/internal/sort/COMPARATOR<f32>|inlined.0
end
set_local $1
end
@@ -5933,7 +5934,7 @@
end
i32.const 1
)
(func $~lib/internal/array/insertionSort<f64> (; 104 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/internal/sort/insertionSort<f64> (; 104 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 f64)
(local $6 i32)
@@ -6045,7 +6046,7 @@
unreachable
end
)
(func $~lib/internal/array/weakHeapSort<f64> (; 105 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/internal/sort/weakHeapSort<f64> (; 105 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
@@ -6470,7 +6471,7 @@
if
i32.const 0
i32.const 8
i32.const 408
i32.const 407
i32.const 4
call $~lib/env/abort
unreachable
@@ -6563,24 +6564,25 @@
get_local $0
return
end
i32.const 0
set_local $4
get_local $2
i32.const 256
i32.lt_s
if
get_local $3
i32.const 0
get_local $4
get_local $2
get_local $1
call $~lib/internal/array/insertionSort<f64>
call $~lib/internal/sort/insertionSort<f64>
else
get_local $3
i32.const 0
get_local $4
get_local $2
get_local $1
call $~lib/internal/array/weakHeapSort<f64>
call $~lib/internal/sort/weakHeapSort<f64>
end
get_local $0
return
)
(func $~lib/array/Array<f64>#sort|trampoline~anonymous|44 (; 107 ;) (type $FFi) (param $0 f64) (param $1 f64) (result i32)
(local $2 i64)
@@ -6624,9 +6626,9 @@
end
unreachable
end
block $~lib/internal/array/defaultComparator<f64>|inlined.0 (result i32)
block $~lib/internal/sort/COMPARATOR<f64>|inlined.0 (result i32)
i32.const 44
br $~lib/internal/array/defaultComparator<f64>|inlined.0
br $~lib/internal/sort/COMPARATOR<f64>|inlined.0
end
set_local $1
end
@@ -6741,7 +6743,7 @@
end
i32.const 1
)
(func $~lib/internal/array/insertionSort<i32> (; 112 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/internal/sort/insertionSort<i32> (; 112 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
@@ -6853,7 +6855,7 @@
unreachable
end
)
(func $~lib/internal/array/weakHeapSort<i32> (; 113 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/internal/sort/weakHeapSort<i32> (; 113 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
@@ -7278,7 +7280,7 @@
if
i32.const 0
i32.const 8
i32.const 408
i32.const 407
i32.const 4
call $~lib/env/abort
unreachable
@@ -7371,24 +7373,25 @@
get_local $0
return
end
i32.const 0
set_local $6
get_local $2
i32.const 256
i32.lt_s
if
get_local $3
i32.const 0
get_local $6
get_local $2
get_local $1
call $~lib/internal/array/insertionSort<i32>
call $~lib/internal/sort/insertionSort<i32>
else
get_local $3
i32.const 0
get_local $6
get_local $2
get_local $1
call $~lib/internal/array/weakHeapSort<i32>
call $~lib/internal/sort/weakHeapSort<i32>
end
get_local $0
return
)
(func $~lib/array/Array<i32>#sort|trampoline~anonymous|45 (; 115 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
get_local $0
@@ -7404,9 +7407,9 @@
end
unreachable
end
block $~lib/internal/array/defaultComparator<i32>|inlined.0 (result i32)
block $~lib/internal/sort/COMPARATOR<i32>|inlined.0 (result i32)
i32.const 45
br $~lib/internal/array/defaultComparator<i32>|inlined.0
br $~lib/internal/sort/COMPARATOR<i32>|inlined.0
end
set_local $1
end
@@ -7414,7 +7417,7 @@
get_local $1
call $~lib/array/Array<i32>#sort
)
(func $~lib/internal/array/insertionSort<u32> (; 117 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/internal/sort/insertionSort<u32> (; 117 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
@@ -7526,7 +7529,7 @@
unreachable
end
)
(func $~lib/internal/array/weakHeapSort<u32> (; 118 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/internal/sort/weakHeapSort<u32> (; 118 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
@@ -7951,7 +7954,7 @@
if
i32.const 0
i32.const 8
i32.const 408
i32.const 407
i32.const 4
call $~lib/env/abort
unreachable
@@ -8044,24 +8047,25 @@
get_local $0
return
end
i32.const 0
set_local $6
get_local $2
i32.const 256
i32.lt_s
if
get_local $3
i32.const 0
get_local $6
get_local $2
get_local $1
call $~lib/internal/array/insertionSort<u32>
call $~lib/internal/sort/insertionSort<u32>
else
get_local $3
i32.const 0
get_local $6
get_local $2
get_local $1
call $~lib/internal/array/weakHeapSort<u32>
call $~lib/internal/sort/weakHeapSort<u32>
end
get_local $0
return
)
(func $~lib/array/Array<u32>#sort|trampoline~anonymous|46 (; 120 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
get_local $0
@@ -8081,9 +8085,9 @@
end
unreachable
end
block $~lib/internal/array/defaultComparator<u32>|inlined.0 (result i32)
block $~lib/internal/sort/COMPARATOR<u32>|inlined.0 (result i32)
i32.const 46
br $~lib/internal/array/defaultComparator<u32>|inlined.0
br $~lib/internal/sort/COMPARATOR<u32>|inlined.0
end
set_local $1
end
@@ -8303,9 +8307,9 @@
)
(func $std/array/assertSortedDefault<i32> (; 128 ;) (type $iv) (param $0 i32)
get_local $0
block $~lib/internal/array/defaultComparator<i32>|inlined.1 (result i32)
block $~lib/internal/sort/COMPARATOR<i32>|inlined.1 (result i32)
i32.const 47
br $~lib/internal/array/defaultComparator<i32>|inlined.1
br $~lib/internal/sort/COMPARATOR<i32>|inlined.1
end
call $std/array/assertSorted<i32>
)
@@ -8340,7 +8344,7 @@
if
i32.const 0
i32.const 8
i32.const 46
i32.const 45
i32.const 39
call $~lib/env/abort
unreachable
@@ -8410,7 +8414,7 @@
if
i32.const 0
i32.const 8
i32.const 110
i32.const 109
i32.const 41
call $~lib/env/abort
unreachable
@@ -8531,7 +8535,7 @@
call $~lib/array/Array<i32>#__get
i32.sub
)
(func $~lib/internal/array/insertionSort<Array<i32>> (; 138 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/internal/sort/insertionSort<Array<i32>> (; 138 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
@@ -8655,7 +8659,7 @@
if
i32.const 0
i32.const 8
i32.const 408
i32.const 407
i32.const 4
call $~lib/env/abort
unreachable
@@ -8748,13 +8752,14 @@
get_local $0
return
end
get_local $3
i32.const 0
set_local $6
get_local $3
get_local $6
get_local $2
get_local $1
call $~lib/internal/array/insertionSort<Array<i32>>
call $~lib/internal/sort/insertionSort<Array<i32>>
get_local $0
return
)
(func $std/array/isSorted<Array<i32>> (; 140 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
@@ -8833,7 +8838,7 @@
if
i32.const 0
i32.const 8
i32.const 46
i32.const 45
i32.const 39
call $~lib/env/abort
unreachable
@@ -8922,7 +8927,7 @@
if
i32.const 0
i32.const 8
i32.const 110
i32.const 109
i32.const 41
call $~lib/env/abort
unreachable
@@ -9006,7 +9011,7 @@
i32.load
i32.sub
)
(func $~lib/internal/array/insertionSort<Proxy<i32>> (; 147 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/internal/sort/insertionSort<Proxy<i32>> (; 147 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
@@ -9130,7 +9135,7 @@
if
i32.const 0
i32.const 8
i32.const 408
i32.const 407
i32.const 4
call $~lib/env/abort
unreachable
@@ -9223,13 +9228,14 @@
get_local $0
return
end
get_local $3
i32.const 0
set_local $6
get_local $3
get_local $6
get_local $2
get_local $1
call $~lib/internal/array/insertionSort<Proxy<i32>>
call $~lib/internal/sort/insertionSort<Proxy<i32>>
get_local $0
return
)
(func $~lib/array/Array<Proxy<i32>>#__get (; 149 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
@@ -9516,7 +9522,7 @@
call $~lib/string/String.__lt
i32.sub
)
(func $~lib/internal/array/insertionSort<String> (; 156 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/internal/sort/insertionSort<String> (; 156 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
@@ -9640,7 +9646,7 @@
if
i32.const 0
i32.const 8
i32.const 408
i32.const 407
i32.const 4
call $~lib/env/abort
unreachable
@@ -9733,13 +9739,14 @@
get_local $0
return
end
get_local $3
i32.const 0
set_local $6
get_local $3
get_local $6
get_local $2
get_local $1
call $~lib/internal/array/insertionSort<String>
call $~lib/internal/sort/insertionSort<String>
get_local $0
return
)
(func $~lib/array/Array<String>#__get (; 158 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
@@ -9954,7 +9961,7 @@
if
i32.const 0
i32.const 8
i32.const 46
i32.const 45
i32.const 39
call $~lib/env/abort
unreachable
@@ -10239,7 +10246,7 @@
if
i32.const 0
i32.const 8
i32.const 110
i32.const 109
i32.const 41
call $~lib/env/abort
unreachable
@@ -13276,7 +13283,7 @@
if
i32.const 0
i32.const 8
i32.const 46
i32.const 45
i32.const 39
call $~lib/env/abort
unreachable

@@ -91,7 +91,7 @@
if
i32.const 0
i32.const 56
i32.const 23
i32.const 26
i32.const 2
call $~lib/env/abort
unreachable

@@ -127,7 +127,7 @@
if
i32.const 0
i32.const 56
i32.const 23
i32.const 26
i32.const 2
call $~lib/env/abort
unreachable

@@ -101,7 +101,7 @@
if
i32.const 0
i32.const 72
i32.const 23
i32.const 26
i32.const 2
call $~lib/env/abort
unreachable
@@ -379,7 +379,7 @@
if
i32.const 0
i32.const 8
i32.const 51
i32.const 50
i32.const 63
call $~lib/env/abort
unreachable

@@ -137,7 +137,7 @@
if
i32.const 0
i32.const 72
i32.const 23
i32.const 26
i32.const 2
call $~lib/env/abort
unreachable
@@ -426,7 +426,7 @@
if
i32.const 0
i32.const 8
i32.const 24
i32.const 23
i32.const 34
call $~lib/env/abort
unreachable
@@ -492,7 +492,7 @@
if
i32.const 0
i32.const 8
i32.const 51
i32.const 50
i32.const 63
call $~lib/env/abort
unreachable

@@ -637,7 +637,7 @@
if
i32.const 0
i32.const 120
i32.const 23
i32.const 26
i32.const 2
call $~lib/env/abort
unreachable
@@ -1777,7 +1777,7 @@
if
i32.const 0
i32.const 120
i32.const 37
i32.const 40
i32.const 4
call $~lib/env/abort
unreachable
@@ -1840,7 +1840,7 @@
if
i32.const 0
i32.const 120
i32.const 61
i32.const 64
i32.const 4
call $~lib/env/abort
unreachable
@@ -1900,7 +1900,7 @@
if
i32.const 0
i32.const 72
i32.const 110
i32.const 109
i32.const 41
call $~lib/env/abort
unreachable

@@ -824,7 +824,7 @@
if
i32.const 0
i32.const 120
i32.const 23
i32.const 26
i32.const 2
call $~lib/env/abort
unreachable
@@ -2287,7 +2287,7 @@
if
i32.const 0
i32.const 120
i32.const 37
i32.const 40
i32.const 4
call $~lib/env/abort
unreachable
@@ -2365,7 +2365,7 @@
if
i32.const 0
i32.const 120
i32.const 61
i32.const 64
i32.const 4
call $~lib/env/abort
unreachable
@@ -2431,7 +2431,7 @@
if
i32.const 0
i32.const 72
i32.const 110
i32.const 109
i32.const 41
call $~lib/env/abort
unreachable

@@ -1,25 +1,25 @@
import { hash } from "internal/hash";
import { HASH } from "internal/hash";
function check(hash: u32): bool {
return true;
}
check(hash<string>(null));
check(hash<string>(""));
check(hash<string>("a"));
check(hash<string>("ab"));
check(hash<string>("abc"));
check(HASH<string>(null));
check(HASH<string>(""));
check(HASH<string>("a"));
check(HASH<string>("ab"));
check(HASH<string>("abc"));
check(hash<f32>(0.0));
check(hash<f32>(1.0));
check(hash<f32>(1.1));
check(hash<f32>(-0));
check(hash<f32>(Infinity));
check(hash<f32>(NaN));
check(HASH<f32>(0.0));
check(HASH<f32>(1.0));
check(HASH<f32>(1.1));
check(HASH<f32>(-0));
check(HASH<f32>(Infinity));
check(HASH<f32>(NaN));
check(hash<f64>(0.0));
check(hash<f64>(1.0));
check(hash<f64>(1.1));
check(hash<f64>(-0));
check(hash<f64>(Infinity));
check(hash<f64>(NaN));
check(HASH<f64>(0.0));
check(HASH<f64>(1.0));
check(HASH<f64>(1.1));
check(HASH<f64>(-0));
check(HASH<f64>(Infinity));
check(HASH<f64>(NaN));

@@ -204,168 +204,168 @@
(local $0 i32)
(local $1 f32)
(local $2 f64)
block $~lib/internal/hash/hash<String>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<String>|inlined.0 (result i32)
i32.const 0
set_local $0
get_local $0
call $~lib/internal/hash/hashStr
br $~lib/internal/hash/hash<String>|inlined.0
br $~lib/internal/hash/HASH<String>|inlined.0
end
call $std/hash/check
drop
block $~lib/internal/hash/hash<String>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<String>|inlined.1 (result i32)
i32.const 8
set_local $0
get_local $0
call $~lib/internal/hash/hashStr
br $~lib/internal/hash/hash<String>|inlined.1
br $~lib/internal/hash/HASH<String>|inlined.1
end
call $std/hash/check
drop
block $~lib/internal/hash/hash<String>|inlined.2 (result i32)
block $~lib/internal/hash/HASH<String>|inlined.2 (result i32)
i32.const 16
set_local $0
get_local $0
call $~lib/internal/hash/hashStr
br $~lib/internal/hash/hash<String>|inlined.2
br $~lib/internal/hash/HASH<String>|inlined.2
end
call $std/hash/check
drop
block $~lib/internal/hash/hash<String>|inlined.3 (result i32)
block $~lib/internal/hash/HASH<String>|inlined.3 (result i32)
i32.const 24
set_local $0
get_local $0
call $~lib/internal/hash/hashStr
br $~lib/internal/hash/hash<String>|inlined.3
br $~lib/internal/hash/HASH<String>|inlined.3
end
call $std/hash/check
drop
block $~lib/internal/hash/hash<String>|inlined.4 (result i32)
block $~lib/internal/hash/HASH<String>|inlined.4 (result i32)
i32.const 32
set_local $0
get_local $0
call $~lib/internal/hash/hashStr
br $~lib/internal/hash/hash<String>|inlined.4
br $~lib/internal/hash/HASH<String>|inlined.4
end
call $std/hash/check
drop
block $~lib/internal/hash/hash<f32>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<f32>|inlined.0 (result i32)
f32.const 0
set_local $1
get_local $1
i32.reinterpret/f32
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<f32>|inlined.0
br $~lib/internal/hash/HASH<f32>|inlined.0
end
call $std/hash/check
drop
block $~lib/internal/hash/hash<f32>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<f32>|inlined.1 (result i32)
f32.const 1
set_local $1
get_local $1
i32.reinterpret/f32
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<f32>|inlined.1
br $~lib/internal/hash/HASH<f32>|inlined.1
end
call $std/hash/check
drop
block $~lib/internal/hash/hash<f32>|inlined.2 (result i32)
block $~lib/internal/hash/HASH<f32>|inlined.2 (result i32)
f32.const 1.100000023841858
set_local $1
get_local $1
i32.reinterpret/f32
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<f32>|inlined.2
br $~lib/internal/hash/HASH<f32>|inlined.2
end
call $std/hash/check
drop
block $~lib/internal/hash/hash<f32>|inlined.3 (result i32)
block $~lib/internal/hash/HASH<f32>|inlined.3 (result i32)
f32.const 0
set_local $1
get_local $1
i32.reinterpret/f32
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<f32>|inlined.3
br $~lib/internal/hash/HASH<f32>|inlined.3
end
call $std/hash/check
drop
block $~lib/internal/hash/hash<f32>|inlined.4 (result i32)
block $~lib/internal/hash/HASH<f32>|inlined.4 (result i32)
f32.const inf
set_local $1
get_local $1
i32.reinterpret/f32
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<f32>|inlined.4
br $~lib/internal/hash/HASH<f32>|inlined.4
end
call $std/hash/check
drop
block $~lib/internal/hash/hash<f32>|inlined.5 (result i32)
block $~lib/internal/hash/HASH<f32>|inlined.5 (result i32)
f32.const nan:0x400000
set_local $1
get_local $1
i32.reinterpret/f32
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<f32>|inlined.5
br $~lib/internal/hash/HASH<f32>|inlined.5
end
call $std/hash/check
drop
block $~lib/internal/hash/hash<f64>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<f64>|inlined.0 (result i32)
f64.const 0
set_local $2
get_local $2
i64.reinterpret/f64
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<f64>|inlined.0
br $~lib/internal/hash/HASH<f64>|inlined.0
end
call $std/hash/check
drop
block $~lib/internal/hash/hash<f64>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<f64>|inlined.1 (result i32)
f64.const 1
set_local $2
get_local $2
i64.reinterpret/f64
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<f64>|inlined.1
br $~lib/internal/hash/HASH<f64>|inlined.1
end
call $std/hash/check
drop
block $~lib/internal/hash/hash<f64>|inlined.2 (result i32)
block $~lib/internal/hash/HASH<f64>|inlined.2 (result i32)
f64.const 1.1
set_local $2
get_local $2
i64.reinterpret/f64
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<f64>|inlined.2
br $~lib/internal/hash/HASH<f64>|inlined.2
end
call $std/hash/check
drop
block $~lib/internal/hash/hash<f64>|inlined.3 (result i32)
block $~lib/internal/hash/HASH<f64>|inlined.3 (result i32)
f64.const 0
set_local $2
get_local $2
i64.reinterpret/f64
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<f64>|inlined.3
br $~lib/internal/hash/HASH<f64>|inlined.3
end
call $std/hash/check
drop
block $~lib/internal/hash/hash<f64>|inlined.4 (result i32)
block $~lib/internal/hash/HASH<f64>|inlined.4 (result i32)
f64.const inf
set_local $2
get_local $2
i64.reinterpret/f64
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<f64>|inlined.4
br $~lib/internal/hash/HASH<f64>|inlined.4
end
call $std/hash/check
drop
block $~lib/internal/hash/hash<f64>|inlined.5 (result i32)
block $~lib/internal/hash/HASH<f64>|inlined.5 (result i32)
f64.const nan:0x8000000000000
set_local $2
get_local $2
i64.reinterpret/f64
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<f64>|inlined.5
br $~lib/internal/hash/HASH<f64>|inlined.5
end
call $std/hash/check
drop

@@ -102,7 +102,7 @@
if
i32.const 0
i32.const 56
i32.const 23
i32.const 26
i32.const 2
call $~lib/env/abort
unreachable

@@ -149,7 +149,7 @@
if
i32.const 0
i32.const 56
i32.const 23
i32.const 26
i32.const 2
call $~lib/env/abort
unreachable
@@ -587,14 +587,14 @@
(func $~lib/map/Map<i8,i32>#has (; 11 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<i8>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<i8>|inlined.0 (result i32)
get_local $1
i32.const 24
i32.shl
i32.const 24
i32.shr_s
call $~lib/internal/hash/hash8
br $~lib/internal/hash/hash<i8>|inlined.0
br $~lib/internal/hash/HASH<i8>|inlined.0
end
call $~lib/map/Map<i8,i32>#find
i32.const 0
@@ -681,13 +681,13 @@
get_local $9
i32.load offset=4
i32.store offset=4
block $~lib/internal/hash/hash<i8>|inlined.2 (result i32)
block $~lib/internal/hash/HASH<i8>|inlined.2 (result i32)
get_local $9
i32.load8_s
set_local $11
get_local $11
call $~lib/internal/hash/hash8
br $~lib/internal/hash/hash<i8>|inlined.2
br $~lib/internal/hash/HASH<i8>|inlined.2
end
get_local $1
i32.and
@@ -745,14 +745,14 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
block $~lib/internal/hash/hash<i8>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<i8>|inlined.1 (result i32)
get_local $1
i32.const 24
i32.shl
i32.const 24
i32.shr_s
call $~lib/internal/hash/hash8
br $~lib/internal/hash/hash<i8>|inlined.1
br $~lib/internal/hash/HASH<i8>|inlined.1
end
set_local $3
get_local $0
@@ -852,14 +852,14 @@
(local $2 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<i8>|inlined.3 (result i32)
block $~lib/internal/hash/HASH<i8>|inlined.3 (result i32)
get_local $1
i32.const 24
i32.shl
i32.const 24
i32.shr_s
call $~lib/internal/hash/hash8
br $~lib/internal/hash/hash<i8>|inlined.3
br $~lib/internal/hash/HASH<i8>|inlined.3
end
call $~lib/map/Map<i8,i32>#find
set_local $2
@@ -882,14 +882,14 @@
(local $5 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<i8>|inlined.4 (result i32)
block $~lib/internal/hash/HASH<i8>|inlined.4 (result i32)
get_local $1
i32.const 24
i32.shl
i32.const 24
i32.shr_s
call $~lib/internal/hash/hash8
br $~lib/internal/hash/hash<i8>|inlined.4
br $~lib/internal/hash/HASH<i8>|inlined.4
end
call $~lib/map/Map<i8,i32>#find
set_local $2
@@ -1454,12 +1454,12 @@
(func $~lib/map/Map<u8,i32>#has (; 21 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<u8>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<u8>|inlined.0 (result i32)
get_local $1
i32.const 255
i32.and
call $~lib/internal/hash/hash8
br $~lib/internal/hash/hash<u8>|inlined.0
br $~lib/internal/hash/HASH<u8>|inlined.0
end
call $~lib/map/Map<u8,i32>#find
i32.const 0
@@ -1546,13 +1546,13 @@
get_local $9
i32.load offset=4
i32.store offset=4
block $~lib/internal/hash/hash<u8>|inlined.2 (result i32)
block $~lib/internal/hash/HASH<u8>|inlined.2 (result i32)
get_local $9
i32.load8_u
set_local $11
get_local $11
call $~lib/internal/hash/hash8
br $~lib/internal/hash/hash<u8>|inlined.2
br $~lib/internal/hash/HASH<u8>|inlined.2
end
get_local $1
i32.and
@@ -1610,12 +1610,12 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
block $~lib/internal/hash/hash<u8>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<u8>|inlined.1 (result i32)
get_local $1
i32.const 255
i32.and
call $~lib/internal/hash/hash8
br $~lib/internal/hash/hash<u8>|inlined.1
br $~lib/internal/hash/HASH<u8>|inlined.1
end
set_local $3
get_local $0
@@ -1715,12 +1715,12 @@
(local $2 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<u8>|inlined.3 (result i32)
block $~lib/internal/hash/HASH<u8>|inlined.3 (result i32)
get_local $1
i32.const 255
i32.and
call $~lib/internal/hash/hash8
br $~lib/internal/hash/hash<u8>|inlined.3
br $~lib/internal/hash/HASH<u8>|inlined.3
end
call $~lib/map/Map<u8,i32>#find
set_local $2
@@ -1743,12 +1743,12 @@
(local $5 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<u8>|inlined.4 (result i32)
block $~lib/internal/hash/HASH<u8>|inlined.4 (result i32)
get_local $1
i32.const 255
i32.and
call $~lib/internal/hash/hash8
br $~lib/internal/hash/hash<u8>|inlined.4
br $~lib/internal/hash/HASH<u8>|inlined.4
end
call $~lib/map/Map<u8,i32>#find
set_local $2
@@ -2323,14 +2323,14 @@
(func $~lib/map/Map<i16,i32>#has (; 32 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<i16>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<i16>|inlined.0 (result i32)
get_local $1
i32.const 16
i32.shl
i32.const 16
i32.shr_s
call $~lib/internal/hash/hash16
br $~lib/internal/hash/hash<i16>|inlined.0
br $~lib/internal/hash/HASH<i16>|inlined.0
end
call $~lib/map/Map<i16,i32>#find
i32.const 0
@@ -2417,13 +2417,13 @@
get_local $9
i32.load offset=4
i32.store offset=4
block $~lib/internal/hash/hash<i16>|inlined.2 (result i32)
block $~lib/internal/hash/HASH<i16>|inlined.2 (result i32)
get_local $9
i32.load16_s
set_local $11
get_local $11
call $~lib/internal/hash/hash16
br $~lib/internal/hash/hash<i16>|inlined.2
br $~lib/internal/hash/HASH<i16>|inlined.2
end
get_local $1
i32.and
@@ -2481,14 +2481,14 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
block $~lib/internal/hash/hash<i16>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<i16>|inlined.1 (result i32)
get_local $1
i32.const 16
i32.shl
i32.const 16
i32.shr_s
call $~lib/internal/hash/hash16
br $~lib/internal/hash/hash<i16>|inlined.1
br $~lib/internal/hash/HASH<i16>|inlined.1
end
set_local $3
get_local $0
@@ -2588,14 +2588,14 @@
(local $2 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<i16>|inlined.3 (result i32)
block $~lib/internal/hash/HASH<i16>|inlined.3 (result i32)
get_local $1
i32.const 16
i32.shl
i32.const 16
i32.shr_s
call $~lib/internal/hash/hash16
br $~lib/internal/hash/hash<i16>|inlined.3
br $~lib/internal/hash/HASH<i16>|inlined.3
end
call $~lib/map/Map<i16,i32>#find
set_local $2
@@ -2618,14 +2618,14 @@
(local $5 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<i16>|inlined.4 (result i32)
block $~lib/internal/hash/HASH<i16>|inlined.4 (result i32)
get_local $1
i32.const 16
i32.shl
i32.const 16
i32.shr_s
call $~lib/internal/hash/hash16
br $~lib/internal/hash/hash<i16>|inlined.4
br $~lib/internal/hash/HASH<i16>|inlined.4
end
call $~lib/map/Map<i16,i32>#find
set_local $2
@@ -3190,12 +3190,12 @@
(func $~lib/map/Map<u16,i32>#has (; 42 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<u16>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<u16>|inlined.0 (result i32)
get_local $1
i32.const 65535
i32.and
call $~lib/internal/hash/hash16
br $~lib/internal/hash/hash<u16>|inlined.0
br $~lib/internal/hash/HASH<u16>|inlined.0
end
call $~lib/map/Map<u16,i32>#find
i32.const 0
@@ -3282,13 +3282,13 @@
get_local $9
i32.load offset=4
i32.store offset=4
block $~lib/internal/hash/hash<u16>|inlined.2 (result i32)
block $~lib/internal/hash/HASH<u16>|inlined.2 (result i32)
get_local $9
i32.load16_u
set_local $11
get_local $11
call $~lib/internal/hash/hash16
br $~lib/internal/hash/hash<u16>|inlined.2
br $~lib/internal/hash/HASH<u16>|inlined.2
end
get_local $1
i32.and
@@ -3346,12 +3346,12 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
block $~lib/internal/hash/hash<u16>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<u16>|inlined.1 (result i32)
get_local $1
i32.const 65535
i32.and
call $~lib/internal/hash/hash16
br $~lib/internal/hash/hash<u16>|inlined.1
br $~lib/internal/hash/HASH<u16>|inlined.1
end
set_local $3
get_local $0
@@ -3451,12 +3451,12 @@
(local $2 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<u16>|inlined.3 (result i32)
block $~lib/internal/hash/HASH<u16>|inlined.3 (result i32)
get_local $1
i32.const 65535
i32.and
call $~lib/internal/hash/hash16
br $~lib/internal/hash/hash<u16>|inlined.3
br $~lib/internal/hash/HASH<u16>|inlined.3
end
call $~lib/map/Map<u16,i32>#find
set_local $2
@@ -3479,12 +3479,12 @@
(local $5 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<u16>|inlined.4 (result i32)
block $~lib/internal/hash/HASH<u16>|inlined.4 (result i32)
get_local $1
i32.const 65535
i32.and
call $~lib/internal/hash/hash16
br $~lib/internal/hash/hash<u16>|inlined.4
br $~lib/internal/hash/HASH<u16>|inlined.4
end
call $~lib/map/Map<u16,i32>#find
set_local $2
@@ -4075,10 +4075,10 @@
(func $~lib/map/Map<i32,i32>#has (; 53 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<i32>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<i32>|inlined.0 (result i32)
get_local $1
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<i32>|inlined.0
br $~lib/internal/hash/HASH<i32>|inlined.0
end
call $~lib/map/Map<i32,i32>#find
i32.const 0
@@ -4165,13 +4165,13 @@
get_local $9
i32.load offset=4
i32.store offset=4
block $~lib/internal/hash/hash<i32>|inlined.2 (result i32)
block $~lib/internal/hash/HASH<i32>|inlined.2 (result i32)
get_local $9
i32.load
set_local $11
get_local $11
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<i32>|inlined.2
br $~lib/internal/hash/HASH<i32>|inlined.2
end
get_local $1
i32.and
@@ -4229,10 +4229,10 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
block $~lib/internal/hash/hash<i32>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<i32>|inlined.1 (result i32)
get_local $1
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<i32>|inlined.1
br $~lib/internal/hash/HASH<i32>|inlined.1
end
set_local $3
get_local $0
@@ -4332,10 +4332,10 @@
(local $2 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<i32>|inlined.3 (result i32)
block $~lib/internal/hash/HASH<i32>|inlined.3 (result i32)
get_local $1
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<i32>|inlined.3
br $~lib/internal/hash/HASH<i32>|inlined.3
end
call $~lib/map/Map<i32,i32>#find
set_local $2
@@ -4358,10 +4358,10 @@
(local $5 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<i32>|inlined.4 (result i32)
block $~lib/internal/hash/HASH<i32>|inlined.4 (result i32)
get_local $1
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<i32>|inlined.4
br $~lib/internal/hash/HASH<i32>|inlined.4
end
call $~lib/map/Map<i32,i32>#find
set_local $2
@@ -4896,10 +4896,10 @@
(func $~lib/map/Map<u32,i32>#has (; 63 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<u32>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<u32>|inlined.0 (result i32)
get_local $1
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<u32>|inlined.0
br $~lib/internal/hash/HASH<u32>|inlined.0
end
call $~lib/map/Map<u32,i32>#find
i32.const 0
@@ -4986,13 +4986,13 @@
get_local $9
i32.load offset=4
i32.store offset=4
block $~lib/internal/hash/hash<u32>|inlined.2 (result i32)
block $~lib/internal/hash/HASH<u32>|inlined.2 (result i32)
get_local $9
i32.load
set_local $11
get_local $11
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<u32>|inlined.2
br $~lib/internal/hash/HASH<u32>|inlined.2
end
get_local $1
i32.and
@@ -5050,10 +5050,10 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
block $~lib/internal/hash/hash<u32>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<u32>|inlined.1 (result i32)
get_local $1
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<u32>|inlined.1
br $~lib/internal/hash/HASH<u32>|inlined.1
end
set_local $3
get_local $0
@@ -5153,10 +5153,10 @@
(local $2 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<u32>|inlined.3 (result i32)
block $~lib/internal/hash/HASH<u32>|inlined.3 (result i32)
get_local $1
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<u32>|inlined.3
br $~lib/internal/hash/HASH<u32>|inlined.3
end
call $~lib/map/Map<u32,i32>#find
set_local $2
@@ -5179,10 +5179,10 @@
(local $5 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<u32>|inlined.4 (result i32)
block $~lib/internal/hash/HASH<u32>|inlined.4 (result i32)
get_local $1
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<u32>|inlined.4
br $~lib/internal/hash/HASH<u32>|inlined.4
end
call $~lib/map/Map<u32,i32>#find
set_local $2
@@ -5805,10 +5805,10 @@
(func $~lib/map/Map<i64,i32>#has (; 74 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<i64>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<i64>|inlined.0 (result i32)
get_local $1
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<i64>|inlined.0
br $~lib/internal/hash/HASH<i64>|inlined.0
end
call $~lib/map/Map<i64,i32>#find
i32.const 0
@@ -5896,13 +5896,13 @@
get_local $9
i32.load offset=8
i32.store offset=8
block $~lib/internal/hash/hash<i64>|inlined.2 (result i32)
block $~lib/internal/hash/HASH<i64>|inlined.2 (result i32)
get_local $9
i64.load
set_local $11
get_local $11
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<i64>|inlined.2
br $~lib/internal/hash/HASH<i64>|inlined.2
end
get_local $1
i32.and
@@ -5960,10 +5960,10 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
block $~lib/internal/hash/hash<i64>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<i64>|inlined.1 (result i32)
get_local $1
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<i64>|inlined.1
br $~lib/internal/hash/HASH<i64>|inlined.1
end
set_local $3
get_local $0
@@ -6063,10 +6063,10 @@
(local $2 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<i64>|inlined.3 (result i32)
block $~lib/internal/hash/HASH<i64>|inlined.3 (result i32)
get_local $1
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<i64>|inlined.3
br $~lib/internal/hash/HASH<i64>|inlined.3
end
call $~lib/map/Map<i64,i32>#find
set_local $2
@@ -6089,10 +6089,10 @@
(local $5 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<i64>|inlined.4 (result i32)
block $~lib/internal/hash/HASH<i64>|inlined.4 (result i32)
get_local $1
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<i64>|inlined.4
br $~lib/internal/hash/HASH<i64>|inlined.4
end
call $~lib/map/Map<i64,i32>#find
set_local $2
@@ -6634,10 +6634,10 @@
(func $~lib/map/Map<u64,i32>#has (; 84 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<u64>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<u64>|inlined.0 (result i32)
get_local $1
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<u64>|inlined.0
br $~lib/internal/hash/HASH<u64>|inlined.0
end
call $~lib/map/Map<u64,i32>#find
i32.const 0
@@ -6725,13 +6725,13 @@
get_local $9
i32.load offset=8
i32.store offset=8
block $~lib/internal/hash/hash<u64>|inlined.2 (result i32)
block $~lib/internal/hash/HASH<u64>|inlined.2 (result i32)
get_local $9
i64.load
set_local $11
get_local $11
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<u64>|inlined.2
br $~lib/internal/hash/HASH<u64>|inlined.2
end
get_local $1
i32.and
@@ -6789,10 +6789,10 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
block $~lib/internal/hash/hash<u64>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<u64>|inlined.1 (result i32)
get_local $1
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<u64>|inlined.1
br $~lib/internal/hash/HASH<u64>|inlined.1
end
set_local $3
get_local $0
@@ -6892,10 +6892,10 @@
(local $2 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<u64>|inlined.3 (result i32)
block $~lib/internal/hash/HASH<u64>|inlined.3 (result i32)
get_local $1
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<u64>|inlined.3
br $~lib/internal/hash/HASH<u64>|inlined.3
end
call $~lib/map/Map<u64,i32>#find
set_local $2
@@ -6918,10 +6918,10 @@
(local $5 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<u64>|inlined.4 (result i32)
block $~lib/internal/hash/HASH<u64>|inlined.4 (result i32)
get_local $1
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<u64>|inlined.4
br $~lib/internal/hash/HASH<u64>|inlined.4
end
call $~lib/map/Map<u64,i32>#find
set_local $2
@@ -7463,11 +7463,11 @@
(func $~lib/map/Map<f32,i32>#has (; 94 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<f32>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<f32>|inlined.0 (result i32)
get_local $1
i32.reinterpret/f32
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<f32>|inlined.0
br $~lib/internal/hash/HASH<f32>|inlined.0
end
call $~lib/map/Map<f32,i32>#find
i32.const 0
@@ -7555,14 +7555,14 @@
get_local $9
i32.load offset=4
i32.store offset=4
block $~lib/internal/hash/hash<f32>|inlined.2 (result i32)
block $~lib/internal/hash/HASH<f32>|inlined.2 (result i32)
get_local $9
f32.load
set_local $11
get_local $11
i32.reinterpret/f32
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<f32>|inlined.2
br $~lib/internal/hash/HASH<f32>|inlined.2
end
get_local $1
i32.and
@@ -7620,11 +7620,11 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
block $~lib/internal/hash/hash<f32>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<f32>|inlined.1 (result i32)
get_local $1
i32.reinterpret/f32
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<f32>|inlined.1
br $~lib/internal/hash/HASH<f32>|inlined.1
end
set_local $3
get_local $0
@@ -7724,11 +7724,11 @@
(local $2 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<f32>|inlined.3 (result i32)
block $~lib/internal/hash/HASH<f32>|inlined.3 (result i32)
get_local $1
i32.reinterpret/f32
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<f32>|inlined.3
br $~lib/internal/hash/HASH<f32>|inlined.3
end
call $~lib/map/Map<f32,i32>#find
set_local $2
@@ -7751,11 +7751,11 @@
(local $5 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<f32>|inlined.4 (result i32)
block $~lib/internal/hash/HASH<f32>|inlined.4 (result i32)
get_local $1
i32.reinterpret/f32
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<f32>|inlined.4
br $~lib/internal/hash/HASH<f32>|inlined.4
end
call $~lib/map/Map<f32,i32>#find
set_local $2
@@ -8297,11 +8297,11 @@
(func $~lib/map/Map<f64,i32>#has (; 104 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<f64>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<f64>|inlined.0 (result i32)
get_local $1
i64.reinterpret/f64
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<f64>|inlined.0
br $~lib/internal/hash/HASH<f64>|inlined.0
end
call $~lib/map/Map<f64,i32>#find
i32.const 0
@@ -8389,14 +8389,14 @@
get_local $9
i32.load offset=8
i32.store offset=8
block $~lib/internal/hash/hash<f64>|inlined.2 (result i32)
block $~lib/internal/hash/HASH<f64>|inlined.2 (result i32)
get_local $9
f64.load
set_local $11
get_local $11
i64.reinterpret/f64
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<f64>|inlined.2
br $~lib/internal/hash/HASH<f64>|inlined.2
end
get_local $1
i32.and
@@ -8454,11 +8454,11 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
block $~lib/internal/hash/hash<f64>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<f64>|inlined.1 (result i32)
get_local $1
i64.reinterpret/f64
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<f64>|inlined.1
br $~lib/internal/hash/HASH<f64>|inlined.1
end
set_local $3
get_local $0
@@ -8558,11 +8558,11 @@
(local $2 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<f64>|inlined.3 (result i32)
block $~lib/internal/hash/HASH<f64>|inlined.3 (result i32)
get_local $1
i64.reinterpret/f64
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<f64>|inlined.3
br $~lib/internal/hash/HASH<f64>|inlined.3
end
call $~lib/map/Map<f64,i32>#find
set_local $2
@@ -8585,11 +8585,11 @@
(local $5 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<f64>|inlined.4 (result i32)
block $~lib/internal/hash/HASH<f64>|inlined.4 (result i32)
get_local $1
i64.reinterpret/f64
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<f64>|inlined.4
br $~lib/internal/hash/HASH<f64>|inlined.4
end
call $~lib/map/Map<f64,i32>#find
set_local $2

@@ -103,7 +103,7 @@
if
i32.const 0
i32.const 56
i32.const 23
i32.const 26
i32.const 2
call $~lib/env/abort
unreachable
@@ -4448,7 +4448,7 @@
unreachable
end
)
(func $~lib/internal/hash/hash<f32> (; 47 ;) (type $fi) (param $0 f32) (result i32)
(func $~lib/internal/hash/HASH<f32> (; 47 ;) (type $fi) (param $0 f32) (result i32)
get_local $0
i32.reinterpret/f32
call $~lib/internal/hash/hash32
@@ -4500,7 +4500,7 @@
get_local $0
get_local $1
get_local $1
call $~lib/internal/hash/hash<f32>
call $~lib/internal/hash/HASH<f32>
call $~lib/set/Set<f32>#find
i32.const 0
i32.ne
@@ -4616,7 +4616,7 @@
get_local $0
get_local $1
get_local $1
call $~lib/internal/hash/hash<f32>
call $~lib/internal/hash/HASH<f32>
tee_local $4
call $~lib/set/Set<f32>#find
i32.eqz
@@ -5006,7 +5006,7 @@
unreachable
end
)
(func $~lib/internal/hash/hash<f64> (; 54 ;) (type $Fi) (param $0 f64) (result i32)
(func $~lib/internal/hash/HASH<f64> (; 54 ;) (type $Fi) (param $0 f64) (result i32)
get_local $0
i64.reinterpret/f64
call $~lib/internal/hash/hash64
@@ -5058,7 +5058,7 @@
get_local $0
get_local $1
get_local $1
call $~lib/internal/hash/hash<f64>
call $~lib/internal/hash/HASH<f64>
call $~lib/set/Set<f64>#find
i32.const 0
i32.ne
@@ -5174,7 +5174,7 @@
get_local $0
get_local $1
get_local $1
call $~lib/internal/hash/hash<f64>
call $~lib/internal/hash/HASH<f64>
tee_local $4
call $~lib/set/Set<f64>#find
i32.eqz

@@ -151,7 +151,7 @@
if
i32.const 0
i32.const 56
i32.const 23
i32.const 26
i32.const 2
call $~lib/env/abort
unreachable
@@ -531,7 +531,7 @@
get_global $~lib/internal/hash/FNV_PRIME
i32.mul
)
(func $~lib/internal/hash/hash<i8> (; 10 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/HASH<i8> (; 10 ;) (type $ii) (param $0 i32) (result i32)
get_local $0
i32.const 24
i32.shl
@@ -599,7 +599,7 @@
get_local $0
get_local $1
get_local $1
call $~lib/internal/hash/hash<i8>
call $~lib/internal/hash/HASH<i8>
call $~lib/set/Set<i8>#find
i32.const 0
i32.ne
@@ -681,13 +681,13 @@
get_local $9
i32.load8_s
i32.store8
block $~lib/internal/hash/hash<i8>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<i8>|inlined.0 (result i32)
get_local $9
i32.load8_s
set_local $11
get_local $11
call $~lib/internal/hash/hash8
br $~lib/internal/hash/hash<i8>|inlined.0
br $~lib/internal/hash/HASH<i8>|inlined.0
end
get_local $1
i32.and
@@ -746,7 +746,7 @@
(local $4 i32)
(local $5 i32)
get_local $1
call $~lib/internal/hash/hash<i8>
call $~lib/internal/hash/HASH<i8>
set_local $2
get_local $0
get_local $1
@@ -846,14 +846,14 @@
(local $5 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<i8>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<i8>|inlined.1 (result i32)
get_local $1
i32.const 24
i32.shl
i32.const 24
i32.shr_s
call $~lib/internal/hash/hash8
br $~lib/internal/hash/hash<i8>|inlined.1
br $~lib/internal/hash/HASH<i8>|inlined.1
end
call $~lib/set/Set<i8>#find
set_local $2
@@ -1261,7 +1261,7 @@
call $~lib/set/Set<u8>#clear
get_local $0
)
(func $~lib/internal/hash/hash<u8> (; 20 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/HASH<u8> (; 20 ;) (type $ii) (param $0 i32) (result i32)
get_local $0
i32.const 255
i32.and
@@ -1325,7 +1325,7 @@
get_local $0
get_local $1
get_local $1
call $~lib/internal/hash/hash<u8>
call $~lib/internal/hash/HASH<u8>
call $~lib/set/Set<u8>#find
i32.const 0
i32.ne
@@ -1407,13 +1407,13 @@
get_local $9
i32.load8_u
i32.store8
block $~lib/internal/hash/hash<u8>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<u8>|inlined.0 (result i32)
get_local $9
i32.load8_u
set_local $11
get_local $11
call $~lib/internal/hash/hash8
br $~lib/internal/hash/hash<u8>|inlined.0
br $~lib/internal/hash/HASH<u8>|inlined.0
end
get_local $1
i32.and
@@ -1472,7 +1472,7 @@
(local $4 i32)
(local $5 i32)
get_local $1
call $~lib/internal/hash/hash<u8>
call $~lib/internal/hash/HASH<u8>
set_local $2
get_local $0
get_local $1
@@ -1572,12 +1572,12 @@
(local $5 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<u8>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<u8>|inlined.1 (result i32)
get_local $1
i32.const 255
i32.and
call $~lib/internal/hash/hash8
br $~lib/internal/hash/hash<u8>|inlined.1
br $~lib/internal/hash/HASH<u8>|inlined.1
end
call $~lib/set/Set<u8>#find
set_local $2
@@ -2007,7 +2007,7 @@
set_local $1
get_local $1
)
(func $~lib/internal/hash/hash<i16> (; 31 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/HASH<i16> (; 31 ;) (type $ii) (param $0 i32) (result i32)
get_local $0
i32.const 16
i32.shl
@@ -2075,7 +2075,7 @@
get_local $0
get_local $1
get_local $1
call $~lib/internal/hash/hash<i16>
call $~lib/internal/hash/HASH<i16>
call $~lib/set/Set<i16>#find
i32.const 0
i32.ne
@@ -2157,13 +2157,13 @@
get_local $9
i32.load16_s
i32.store16
block $~lib/internal/hash/hash<i16>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<i16>|inlined.0 (result i32)
get_local $9
i32.load16_s
set_local $11
get_local $11
call $~lib/internal/hash/hash16
br $~lib/internal/hash/hash<i16>|inlined.0
br $~lib/internal/hash/HASH<i16>|inlined.0
end
get_local $1
i32.and
@@ -2222,7 +2222,7 @@
(local $4 i32)
(local $5 i32)
get_local $1
call $~lib/internal/hash/hash<i16>
call $~lib/internal/hash/HASH<i16>
set_local $2
get_local $0
get_local $1
@@ -2322,14 +2322,14 @@
(local $5 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<i16>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<i16>|inlined.1 (result i32)
get_local $1
i32.const 16
i32.shl
i32.const 16
i32.shr_s
call $~lib/internal/hash/hash16
br $~lib/internal/hash/hash<i16>|inlined.1
br $~lib/internal/hash/HASH<i16>|inlined.1
end
call $~lib/set/Set<i16>#find
set_local $2
@@ -2737,7 +2737,7 @@
call $~lib/set/Set<u16>#clear
get_local $0
)
(func $~lib/internal/hash/hash<u16> (; 41 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/HASH<u16> (; 41 ;) (type $ii) (param $0 i32) (result i32)
get_local $0
i32.const 65535
i32.and
@@ -2801,7 +2801,7 @@
get_local $0
get_local $1
get_local $1
call $~lib/internal/hash/hash<u16>
call $~lib/internal/hash/HASH<u16>
call $~lib/set/Set<u16>#find
i32.const 0
i32.ne
@@ -2883,13 +2883,13 @@
get_local $9
i32.load16_u
i32.store16
block $~lib/internal/hash/hash<u16>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<u16>|inlined.0 (result i32)
get_local $9
i32.load16_u
set_local $11
get_local $11
call $~lib/internal/hash/hash16
br $~lib/internal/hash/hash<u16>|inlined.0
br $~lib/internal/hash/HASH<u16>|inlined.0
end
get_local $1
i32.and
@@ -2948,7 +2948,7 @@
(local $4 i32)
(local $5 i32)
get_local $1
call $~lib/internal/hash/hash<u16>
call $~lib/internal/hash/HASH<u16>
set_local $2
get_local $0
get_local $1
@@ -3048,12 +3048,12 @@
(local $5 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<u16>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<u16>|inlined.1 (result i32)
get_local $1
i32.const 65535
i32.and
call $~lib/internal/hash/hash16
br $~lib/internal/hash/hash<u16>|inlined.1
br $~lib/internal/hash/HASH<u16>|inlined.1
end
call $~lib/set/Set<u16>#find
set_local $2
@@ -3503,7 +3503,7 @@
set_local $1
get_local $1
)
(func $~lib/internal/hash/hash<i32> (; 52 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/HASH<i32> (; 52 ;) (type $ii) (param $0 i32) (result i32)
get_local $0
call $~lib/internal/hash/hash32
return
@@ -3563,7 +3563,7 @@
get_local $0
get_local $1
get_local $1
call $~lib/internal/hash/hash<i32>
call $~lib/internal/hash/HASH<i32>
call $~lib/set/Set<i32>#find
i32.const 0
i32.ne
@@ -3645,13 +3645,13 @@
get_local $9
i32.load
i32.store
block $~lib/internal/hash/hash<i32>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<i32>|inlined.0 (result i32)
get_local $9
i32.load
set_local $11
get_local $11
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<i32>|inlined.0
br $~lib/internal/hash/HASH<i32>|inlined.0
end
get_local $1
i32.and
@@ -3710,7 +3710,7 @@
(local $4 i32)
(local $5 i32)
get_local $1
call $~lib/internal/hash/hash<i32>
call $~lib/internal/hash/HASH<i32>
set_local $2
get_local $0
get_local $1
@@ -3810,10 +3810,10 @@
(local $5 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<i32>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<i32>|inlined.1 (result i32)
get_local $1
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<i32>|inlined.1
br $~lib/internal/hash/HASH<i32>|inlined.1
end
call $~lib/set/Set<i32>#find
set_local $2
@@ -4221,7 +4221,7 @@
call $~lib/set/Set<u32>#clear
get_local $0
)
(func $~lib/internal/hash/hash<u32> (; 62 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/HASH<u32> (; 62 ;) (type $ii) (param $0 i32) (result i32)
get_local $0
call $~lib/internal/hash/hash32
return
@@ -4281,7 +4281,7 @@
get_local $0
get_local $1
get_local $1
call $~lib/internal/hash/hash<u32>
call $~lib/internal/hash/HASH<u32>
call $~lib/set/Set<u32>#find
i32.const 0
i32.ne
@@ -4363,13 +4363,13 @@
get_local $9
i32.load
i32.store
block $~lib/internal/hash/hash<u32>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<u32>|inlined.0 (result i32)
get_local $9
i32.load
set_local $11
get_local $11
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<u32>|inlined.0
br $~lib/internal/hash/HASH<u32>|inlined.0
end
get_local $1
i32.and
@@ -4428,7 +4428,7 @@
(local $4 i32)
(local $5 i32)
get_local $1
call $~lib/internal/hash/hash<u32>
call $~lib/internal/hash/HASH<u32>
set_local $2
get_local $0
get_local $1
@@ -4528,10 +4528,10 @@
(local $5 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<u32>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<u32>|inlined.1 (result i32)
get_local $1
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<u32>|inlined.1
br $~lib/internal/hash/HASH<u32>|inlined.1
end
call $~lib/set/Set<u32>#find
set_local $2
@@ -5027,7 +5027,7 @@
set_local $3
get_local $3
)
(func $~lib/internal/hash/hash<i64> (; 73 ;) (type $Ii) (param $0 i64) (result i32)
(func $~lib/internal/hash/HASH<i64> (; 73 ;) (type $Ii) (param $0 i64) (result i32)
get_local $0
call $~lib/internal/hash/hash64
return
@@ -5087,7 +5087,7 @@
get_local $0
get_local $1
get_local $1
call $~lib/internal/hash/hash<i64>
call $~lib/internal/hash/HASH<i64>
call $~lib/set/Set<i64>#find
i32.const 0
i32.ne
@@ -5170,13 +5170,13 @@
get_local $9
i64.load
i64.store
block $~lib/internal/hash/hash<i64>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<i64>|inlined.0 (result i32)
get_local $9
i64.load
set_local $11
get_local $11
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<i64>|inlined.0
br $~lib/internal/hash/HASH<i64>|inlined.0
end
get_local $1
i32.and
@@ -5235,7 +5235,7 @@
(local $4 i32)
(local $5 i32)
get_local $1
call $~lib/internal/hash/hash<i64>
call $~lib/internal/hash/HASH<i64>
set_local $2
get_local $0
get_local $1
@@ -5335,10 +5335,10 @@
(local $5 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<i64>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<i64>|inlined.1 (result i32)
get_local $1
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<i64>|inlined.1
br $~lib/internal/hash/HASH<i64>|inlined.1
end
call $~lib/set/Set<i64>#find
set_local $2
@@ -5746,7 +5746,7 @@
call $~lib/set/Set<u64>#clear
get_local $0
)
(func $~lib/internal/hash/hash<u64> (; 83 ;) (type $Ii) (param $0 i64) (result i32)
(func $~lib/internal/hash/HASH<u64> (; 83 ;) (type $Ii) (param $0 i64) (result i32)
get_local $0
call $~lib/internal/hash/hash64
return
@@ -5806,7 +5806,7 @@
get_local $0
get_local $1
get_local $1
call $~lib/internal/hash/hash<u64>
call $~lib/internal/hash/HASH<u64>
call $~lib/set/Set<u64>#find
i32.const 0
i32.ne
@@ -5889,13 +5889,13 @@
get_local $9
i64.load
i64.store
block $~lib/internal/hash/hash<u64>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<u64>|inlined.0 (result i32)
get_local $9
i64.load
set_local $11
get_local $11
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<u64>|inlined.0
br $~lib/internal/hash/HASH<u64>|inlined.0
end
get_local $1
i32.and
@@ -5954,7 +5954,7 @@
(local $4 i32)
(local $5 i32)
get_local $1
call $~lib/internal/hash/hash<u64>
call $~lib/internal/hash/HASH<u64>
set_local $2
get_local $0
get_local $1
@@ -6054,10 +6054,10 @@
(local $5 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<u64>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<u64>|inlined.1 (result i32)
get_local $1
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<u64>|inlined.1
br $~lib/internal/hash/HASH<u64>|inlined.1
end
call $~lib/set/Set<u64>#find
set_local $2
@@ -6465,7 +6465,7 @@
call $~lib/set/Set<f32>#clear
get_local $0
)
(func $~lib/internal/hash/hash<f32> (; 93 ;) (type $fi) (param $0 f32) (result i32)
(func $~lib/internal/hash/HASH<f32> (; 93 ;) (type $fi) (param $0 f32) (result i32)
get_local $0
i32.reinterpret/f32
call $~lib/internal/hash/hash32
@@ -6526,7 +6526,7 @@
get_local $0
get_local $1
get_local $1
call $~lib/internal/hash/hash<f32>
call $~lib/internal/hash/HASH<f32>
call $~lib/set/Set<f32>#find
i32.const 0
i32.ne
@@ -6609,14 +6609,14 @@
get_local $9
f32.load
f32.store
block $~lib/internal/hash/hash<f32>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<f32>|inlined.0 (result i32)
get_local $9
f32.load
set_local $11
get_local $11
i32.reinterpret/f32
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<f32>|inlined.0
br $~lib/internal/hash/HASH<f32>|inlined.0
end
get_local $1
i32.and
@@ -6675,7 +6675,7 @@
(local $4 i32)
(local $5 i32)
get_local $1
call $~lib/internal/hash/hash<f32>
call $~lib/internal/hash/HASH<f32>
set_local $2
get_local $0
get_local $1
@@ -6775,11 +6775,11 @@
(local $5 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<f32>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<f32>|inlined.1 (result i32)
get_local $1
i32.reinterpret/f32
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<f32>|inlined.1
br $~lib/internal/hash/HASH<f32>|inlined.1
end
call $~lib/set/Set<f32>#find
set_local $2
@@ -7187,7 +7187,7 @@
call $~lib/set/Set<f64>#clear
get_local $0
)
(func $~lib/internal/hash/hash<f64> (; 103 ;) (type $Fi) (param $0 f64) (result i32)
(func $~lib/internal/hash/HASH<f64> (; 103 ;) (type $Fi) (param $0 f64) (result i32)
get_local $0
i64.reinterpret/f64
call $~lib/internal/hash/hash64
@@ -7248,7 +7248,7 @@
get_local $0
get_local $1
get_local $1
call $~lib/internal/hash/hash<f64>
call $~lib/internal/hash/HASH<f64>
call $~lib/set/Set<f64>#find
i32.const 0
i32.ne
@@ -7331,14 +7331,14 @@
get_local $9
f64.load
f64.store
block $~lib/internal/hash/hash<f64>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<f64>|inlined.0 (result i32)
get_local $9
f64.load
set_local $11
get_local $11
i64.reinterpret/f64
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<f64>|inlined.0
br $~lib/internal/hash/HASH<f64>|inlined.0
end
get_local $1
i32.and
@@ -7397,7 +7397,7 @@
(local $4 i32)
(local $5 i32)
get_local $1
call $~lib/internal/hash/hash<f64>
call $~lib/internal/hash/HASH<f64>
set_local $2
get_local $0
get_local $1
@@ -7497,11 +7497,11 @@
(local $5 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<f64>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<f64>|inlined.1 (result i32)
get_local $1
i64.reinterpret/f64
call $~lib/internal/hash/hash64
br $~lib/internal/hash/hash<f64>|inlined.1
br $~lib/internal/hash/HASH<f64>|inlined.1
end
call $~lib/set/Set<f64>#find
set_local $2

@@ -317,7 +317,7 @@
if
i32.const 0
i32.const 216
i32.const 23
i32.const 26
i32.const 2
call $~lib/env/abort
unreachable
@@ -1456,7 +1456,7 @@
if
i32.const 0
i32.const 216
i32.const 37
i32.const 40
i32.const 4
call $~lib/env/abort
unreachable
@@ -1519,7 +1519,7 @@
if
i32.const 0
i32.const 216
i32.const 61
i32.const 64
i32.const 4
call $~lib/env/abort
unreachable

@@ -423,7 +423,7 @@
if
i32.const 0
i32.const 216
i32.const 23
i32.const 26
i32.const 2
call $~lib/env/abort
unreachable
@@ -1890,7 +1890,7 @@
if
i32.const 0
i32.const 216
i32.const 37
i32.const 40
i32.const 4
call $~lib/env/abort
unreachable
@@ -1968,7 +1968,7 @@
if
i32.const 0
i32.const 216
i32.const 61
i32.const 64
i32.const 4
call $~lib/env/abort
unreachable
@@ -2002,7 +2002,7 @@
if
i32.const 0
i32.const 184
i32.const 110
i32.const 109
i32.const 41
call $~lib/env/abort
unreachable
@@ -2085,7 +2085,7 @@
if
i32.const 0
i32.const 184
i32.const 110
i32.const 109
i32.const 41
call $~lib/env/abort
unreachable
@@ -2168,7 +2168,7 @@
if
i32.const 0
i32.const 184
i32.const 110
i32.const 109
i32.const 41
call $~lib/env/abort
unreachable
@@ -2251,7 +2251,7 @@
if
i32.const 0
i32.const 184
i32.const 110
i32.const 109
i32.const 41
call $~lib/env/abort
unreachable

@@ -3056,7 +3056,7 @@
if
i32.const 0
i32.const 1008
i32.const 23
i32.const 26
i32.const 2
call $~lib/env/abort
unreachable
@@ -3304,7 +3304,7 @@
if
i32.const 0
i32.const 976
i32.const 46
i32.const 45
i32.const 39
call $~lib/env/abort
unreachable
@@ -3352,7 +3352,7 @@
if
i32.const 0
i32.const 1008
i32.const 37
i32.const 40
i32.const 4
call $~lib/env/abort
unreachable
@@ -3415,7 +3415,7 @@
if
i32.const 0
i32.const 1008
i32.const 61
i32.const 64
i32.const 4
call $~lib/env/abort
unreachable
@@ -3452,7 +3452,7 @@
if
i32.const 0
i32.const 976
i32.const 185
i32.const 184
i32.const 42
call $~lib/env/abort
unreachable

@@ -3814,7 +3814,7 @@
if
i32.const 0
i32.const 1008
i32.const 23
i32.const 26
i32.const 2
call $~lib/env/abort
unreachable
@@ -4103,7 +4103,7 @@
if
i32.const 0
i32.const 976
i32.const 46
i32.const 45
i32.const 39
call $~lib/env/abort
unreachable
@@ -4189,7 +4189,7 @@
if
i32.const 0
i32.const 1008
i32.const 37
i32.const 40
i32.const 4
call $~lib/env/abort
unreachable
@@ -4267,7 +4267,7 @@
if
i32.const 0
i32.const 1008
i32.const 61
i32.const 64
i32.const 4
call $~lib/env/abort
unreachable
@@ -4310,7 +4310,7 @@
if
i32.const 0
i32.const 976
i32.const 185
i32.const 184
i32.const 42
call $~lib/env/abort
unreachable

@@ -128,7 +128,7 @@
if
i32.const 0
i32.const 104
i32.const 23
i32.const 26
i32.const 2
call $~lib/env/abort
unreachable

@@ -199,7 +199,7 @@
if
i32.const 0
i32.const 104
i32.const 23
i32.const 26
i32.const 2
call $~lib/env/abort
unreachable
@@ -829,10 +829,10 @@
(func $~lib/map/Map<String,usize>#has (; 16 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<String>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<String>|inlined.0 (result i32)
get_local $1
call $~lib/internal/hash/hashStr
br $~lib/internal/hash/hash<String>|inlined.0
br $~lib/internal/hash/HASH<String>|inlined.0
end
call $~lib/map/Map<String,usize>#find
i32.const 0
@@ -842,10 +842,10 @@
(local $2 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<String>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<String>|inlined.1 (result i32)
get_local $1
call $~lib/internal/hash/hashStr
br $~lib/internal/hash/hash<String>|inlined.1
br $~lib/internal/hash/HASH<String>|inlined.1
end
call $~lib/map/Map<String,usize>#find
set_local $2
@@ -938,13 +938,13 @@
get_local $9
i32.load offset=4
i32.store offset=4
block $~lib/internal/hash/hash<String>|inlined.3 (result i32)
block $~lib/internal/hash/HASH<String>|inlined.3 (result i32)
get_local $9
i32.load
set_local $11
get_local $11
call $~lib/internal/hash/hashStr
br $~lib/internal/hash/hash<String>|inlined.3
br $~lib/internal/hash/HASH<String>|inlined.3
end
get_local $1
i32.and
@@ -1002,10 +1002,10 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
block $~lib/internal/hash/hash<String>|inlined.2 (result i32)
block $~lib/internal/hash/HASH<String>|inlined.2 (result i32)
get_local $1
call $~lib/internal/hash/hashStr
br $~lib/internal/hash/hash<String>|inlined.2
br $~lib/internal/hash/HASH<String>|inlined.2
end
set_local $3
get_local $0
@@ -1275,13 +1275,13 @@
get_local $9
i32.load offset=4
i32.store offset=4
block $~lib/internal/hash/hash<usize>|inlined.1 (result i32)
block $~lib/internal/hash/HASH<usize>|inlined.1 (result i32)
get_local $9
i32.load
set_local $11
get_local $11
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<usize>|inlined.1
br $~lib/internal/hash/HASH<usize>|inlined.1
end
get_local $1
i32.and
@@ -1339,10 +1339,10 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
block $~lib/internal/hash/hash<usize>|inlined.0 (result i32)
block $~lib/internal/hash/HASH<usize>|inlined.0 (result i32)
get_local $1
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<usize>|inlined.0
br $~lib/internal/hash/HASH<usize>|inlined.0
end
set_local $3
get_local $0
@@ -1488,10 +1488,10 @@
(func $~lib/map/Map<usize,String>#has (; 25 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<usize>|inlined.2 (result i32)
block $~lib/internal/hash/HASH<usize>|inlined.2 (result i32)
get_local $1
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<usize>|inlined.2
br $~lib/internal/hash/HASH<usize>|inlined.2
end
call $~lib/map/Map<usize,String>#find
i32.const 0
@@ -1501,10 +1501,10 @@
(local $2 i32)
get_local $0
get_local $1
block $~lib/internal/hash/hash<usize>|inlined.3 (result i32)
block $~lib/internal/hash/HASH<usize>|inlined.3 (result i32)
get_local $1
call $~lib/internal/hash/hash32
br $~lib/internal/hash/hash<usize>|inlined.3
br $~lib/internal/hash/HASH<usize>|inlined.3
end
call $~lib/map/Map<usize,String>#find
set_local $2

@@ -149,7 +149,7 @@
if
i32.const 0
i32.const 112
i32.const 23
i32.const 26
i32.const 2
call $~lib/env/abort
unreachable
@@ -412,7 +412,7 @@
if
i32.const 0
i32.const 48
i32.const 24
i32.const 23
i32.const 34
call $~lib/env/abort
unreachable
@@ -456,7 +456,7 @@
if
i32.const 0
i32.const 48
i32.const 24
i32.const 23
i32.const 34
call $~lib/env/abort
unreachable
@@ -503,7 +503,7 @@
if
i32.const 0
i32.const 48
i32.const 24
i32.const 23
i32.const 34
call $~lib/env/abort
unreachable
@@ -550,7 +550,7 @@
if
i32.const 0
i32.const 48
i32.const 24
i32.const 23
i32.const 34
call $~lib/env/abort
unreachable
@@ -1029,7 +1029,7 @@
if
i32.const 0
i32.const 48
i32.const 51
i32.const 50
i32.const 63
call $~lib/env/abort
unreachable
@@ -1056,7 +1056,7 @@
if
i32.const 0
i32.const 48
i32.const 40
i32.const 39
i32.const 63
call $~lib/env/abort
unreachable
@@ -1147,7 +1147,7 @@
if
i32.const 0
i32.const 48
i32.const 51
i32.const 50
i32.const 63
call $~lib/env/abort
unreachable
@@ -1215,7 +1215,7 @@
i32.store offset=8
get_local $1
)
(func $~lib/internal/array/insertionSort<f64> (; 14 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/internal/sort/insertionSort<f64> (; 14 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 f64)
@@ -1305,7 +1305,7 @@
unreachable
end
)
(func $~lib/internal/array/weakHeapSort<f64> (; 15 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/internal/sort/weakHeapSort<f64> (; 15 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
@@ -1659,13 +1659,13 @@
get_local $2
get_local $4
get_local $1
call $~lib/internal/array/insertionSort<f64>
call $~lib/internal/sort/insertionSort<f64>
else
get_local $3
get_local $2
get_local $4
get_local $1
call $~lib/internal/array/weakHeapSort<f64>
call $~lib/internal/sort/weakHeapSort<f64>
end
end
get_local $0
@@ -1709,7 +1709,7 @@
if
i32.const 0
i32.const 48
i32.const 40
i32.const 39
i32.const 63
call $~lib/env/abort
unreachable
@@ -1733,7 +1733,7 @@
if
i32.const 0
i32.const 48
i32.const 51
i32.const 50
i32.const 63
call $~lib/env/abort
unreachable
@@ -1774,7 +1774,7 @@
if
i32.const 0
i32.const 48
i32.const 40
i32.const 39
i32.const 63
call $~lib/env/abort
unreachable
@@ -1873,7 +1873,7 @@
if
i32.const 0
i32.const 48
i32.const 40
i32.const 39
i32.const 63
call $~lib/env/abort
unreachable
@@ -2388,7 +2388,7 @@
if
i32.const 0
i32.const 48
i32.const 51
i32.const 50
i32.const 63
call $~lib/env/abort
unreachable
@@ -2660,7 +2660,7 @@
if
i32.const 0
i32.const 48
i32.const 51
i32.const 50
i32.const 63
call $~lib/env/abort
unreachable
@@ -2793,7 +2793,7 @@
if
i32.const 0
i32.const 48
i32.const 51
i32.const 50
i32.const 63
call $~lib/env/abort
unreachable
@@ -4089,7 +4089,7 @@
if
i32.const 0
i32.const 48
i32.const 40
i32.const 39
i32.const 63
call $~lib/env/abort
unreachable
@@ -4246,7 +4246,7 @@
if
i32.const 0
i32.const 48
i32.const 40
i32.const 39
i32.const 63
call $~lib/env/abort
unreachable
@@ -4589,7 +4589,7 @@
if
i32.const 0
i32.const 48
i32.const 40
i32.const 39
i32.const 63
call $~lib/env/abort
unreachable
@@ -4803,7 +4803,7 @@
if
i32.const 0
i32.const 48
i32.const 40
i32.const 39
i32.const 63
call $~lib/env/abort
unreachable

@@ -196,7 +196,7 @@
if
i32.const 0
i32.const 112
i32.const 23
i32.const 26
i32.const 2
call $~lib/env/abort
unreachable
@@ -485,7 +485,7 @@
if
i32.const 0
i32.const 48
i32.const 24
i32.const 23
i32.const 34
call $~lib/env/abort
unreachable
@@ -550,7 +550,7 @@
if
i32.const 0
i32.const 48
i32.const 24
i32.const 23
i32.const 34
call $~lib/env/abort
unreachable
@@ -615,7 +615,7 @@
if
i32.const 0
i32.const 48
i32.const 24
i32.const 23
i32.const 34
call $~lib/env/abort
unreachable
@@ -680,7 +680,7 @@
if
i32.const 0
i32.const 48
i32.const 24
i32.const 23
i32.const 34
call $~lib/env/abort
unreachable
@@ -745,7 +745,7 @@
if
i32.const 0
i32.const 48
i32.const 24
i32.const 23
i32.const 34
call $~lib/env/abort
unreachable
@@ -810,7 +810,7 @@
if
i32.const 0
i32.const 48
i32.const 24
i32.const 23
i32.const 34
call $~lib/env/abort
unreachable
@@ -875,7 +875,7 @@
if
i32.const 0
i32.const 48
i32.const 24
i32.const 23
i32.const 34
call $~lib/env/abort
unreachable
@@ -940,7 +940,7 @@
if
i32.const 0
i32.const 48
i32.const 24
i32.const 23
i32.const 34
call $~lib/env/abort
unreachable
@@ -1005,7 +1005,7 @@
if
i32.const 0
i32.const 48
i32.const 24
i32.const 23
i32.const 34
call $~lib/env/abort
unreachable
@@ -1070,7 +1070,7 @@
if
i32.const 0
i32.const 48
i32.const 24
i32.const 23
i32.const 34
call $~lib/env/abort
unreachable
@@ -1688,7 +1688,7 @@
if
i32.const 0
i32.const 48
i32.const 51
i32.const 50
i32.const 63
call $~lib/env/abort
unreachable
@@ -1721,7 +1721,7 @@
if
i32.const 0
i32.const 48
i32.const 40
i32.const 39
i32.const 63
call $~lib/env/abort
unreachable
@@ -1854,7 +1854,7 @@
if
i32.const 0
i32.const 48
i32.const 51
i32.const 50
i32.const 63
call $~lib/env/abort
unreachable
@@ -1974,7 +1974,7 @@
i32.store offset=8
get_local $4
)
(func $~lib/internal/array/insertionSort<f64> (; 22 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/internal/sort/insertionSort<f64> (; 22 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 f64)
(local $6 i32)
@@ -2089,7 +2089,7 @@
(func $~lib/allocator/arena/__memory_free (; 23 ;) (type $iv) (param $0 i32)
nop
)
(func $~lib/internal/array/weakHeapSort<f64> (; 24 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/internal/sort/weakHeapSort<f64> (; 24 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
@@ -2597,28 +2597,23 @@
get_local $0
br $~lib/internal/typedarray/SORT<Float64Array,f64>|inlined.0
end
block
get_local $3
i32.const 256
i32.lt_s
if
get_local $4
get_local $2
get_local $3
i32.const 256
i32.lt_s
if
get_local $4
get_local $2
get_local $3
get_local $1
call $~lib/internal/array/insertionSort<f64>
else
get_local $4
get_local $2
get_local $3
get_local $1
call $~lib/internal/array/weakHeapSort<f64>
end
get_local $0
br $~lib/internal/typedarray/SORT<Float64Array,f64>|inlined.0
unreachable
get_local $1
call $~lib/internal/sort/insertionSort<f64>
else
get_local $4
get_local $2
get_local $3
get_local $1
call $~lib/internal/sort/weakHeapSort<f64>
end
unreachable
get_local $0
end
)
(func $~lib/typedarray/Float64Array#sort|trampoline~anonymous|1 (; 26 ;) (type $FFi) (param $0 f64) (param $1 f64) (result i32)
@@ -2663,9 +2658,9 @@
end
unreachable
end
block $~lib/internal/array/defaultComparator<f64>|inlined.0 (result i32)
block $~lib/internal/sort/COMPARATOR<f64>|inlined.0 (result i32)
i32.const 1
br $~lib/internal/array/defaultComparator<f64>|inlined.0
br $~lib/internal/sort/COMPARATOR<f64>|inlined.0
end
set_local $1
end
@@ -2685,7 +2680,7 @@
if
i32.const 0
i32.const 48
i32.const 40
i32.const 39
i32.const 63
call $~lib/env/abort
unreachable
@@ -2719,7 +2714,7 @@
if
i32.const 0
i32.const 48
i32.const 51
i32.const 50
i32.const 63
call $~lib/env/abort
unreachable
@@ -2774,7 +2769,7 @@
if
i32.const 0
i32.const 48
i32.const 40
i32.const 39
i32.const 63
call $~lib/env/abort
unreachable
@@ -2808,7 +2803,7 @@
if
i32.const 0
i32.const 48
i32.const 51
i32.const 50
i32.const 63
call $~lib/env/abort
unreachable
@@ -2933,7 +2928,7 @@
if
i32.const 0
i32.const 48
i32.const 40
i32.const 39
i32.const 63
call $~lib/env/abort
unreachable
@@ -3644,7 +3639,7 @@
if
i32.const 0
i32.const 48
i32.const 51
i32.const 50
i32.const 63
call $~lib/env/abort
unreachable
@@ -3784,7 +3779,7 @@
if
i32.const 0
i32.const 48
i32.const 51
i32.const 50
i32.const 63
call $~lib/env/abort
unreachable
@@ -4025,7 +4020,7 @@
if
i32.const 0
i32.const 48
i32.const 51
i32.const 50
i32.const 63
call $~lib/env/abort
unreachable
@@ -4161,7 +4156,7 @@
if
i32.const 0
i32.const 48
i32.const 51
i32.const 50
i32.const 63
call $~lib/env/abort
unreachable
@@ -4297,7 +4292,7 @@
if
i32.const 0
i32.const 48
i32.const 51
i32.const 50
i32.const 63
call $~lib/env/abort
unreachable
@@ -4433,7 +4428,7 @@
if
i32.const 0
i32.const 48
i32.const 51
i32.const 50
i32.const 63
call $~lib/env/abort
unreachable
@@ -6183,7 +6178,7 @@
if
i32.const 0
i32.const 48
i32.const 40
i32.const 39
i32.const 63
call $~lib/env/abort
unreachable
@@ -6380,7 +6375,7 @@
if
i32.const 0
i32.const 48
i32.const 40
i32.const 39
i32.const 63
call $~lib/env/abort
unreachable
@@ -6718,7 +6713,7 @@
if
i32.const 0
i32.const 48
i32.const 40
i32.const 39
i32.const 63
call $~lib/env/abort
unreachable
@@ -6901,7 +6896,7 @@
if
i32.const 0
i32.const 48
i32.const 40
i32.const 39
i32.const 63
call $~lib/env/abort
unreachable
@@ -7084,7 +7079,7 @@
if
i32.const 0
i32.const 48
i32.const 40
i32.const 39
i32.const 63
call $~lib/env/abort
unreachable
@@ -7267,7 +7262,7 @@
if
i32.const 0
i32.const 48
i32.const 40
i32.const 39
i32.const 63
call $~lib/env/abort
unreachable