This commit is contained in:
dcode 2019-03-18 00:40:55 +01:00
parent edb2299f13
commit ba4c00efbd
20 changed files with 933 additions and 1050 deletions

View File

@ -280,8 +280,8 @@ export abstract class DiagnosticEmitter {
var message = DiagnosticMessage.create(code, category, arg0, arg1, arg2).withRange(range);
if (relatedRange) message.relatedRange = relatedRange;
this.diagnostics.push(message);
console.log(formatDiagnosticMessage(message, true, true) + "\n"); // temporary
console.log(<string>new Error("stack").stack);
// console.log(formatDiagnosticMessage(message, true, true) + "\n"); // temporary
// console.log(<string>new Error("stack").stack);
}
/** Emits an informatory diagnostic message. */

View File

@ -4,13 +4,13 @@ import { COMPARATOR, SORT } from "./util/sort";
import { itoa, dtoa, itoa_stream, dtoa_stream, MAX_DOUBLE_LENGTH } from "./util/number";
import { isArray as builtin_isArray } from "./builtins";
/** Ensures that the given array has _at least_ the specified length. */
function ensureLength(array: ArrayBufferView, length: i32, alignLog2: u32): void {
/** Ensures that the given array has _at least_ the specified capacity. */
function ensureCapacity(array: ArrayBufferView, minCapacity: i32, alignLog2: u32): void {
var oldData = array.data;
var oldCapacity = oldData.byteLength >>> alignLog2;
if (<u32>length > <u32>oldCapacity) {
if (<u32>length > <u32>(MAX_BYTELENGTH >>> alignLog2)) throw new RangeError("Invalid array length");
let newByteLength = length << alignLog2;
if (<u32>minCapacity > <u32>oldCapacity) {
if (<u32>minCapacity > <u32>(MAX_BYTELENGTH >>> alignLog2)) throw new RangeError("Invalid array length");
let newByteLength = minCapacity << alignLog2;
let newData = REALLOCATE(changetype<usize>(oldData), <usize>newByteLength); // registers on move
if (newData !== changetype<usize>(oldData)) {
array.data = changetype<ArrayBuffer>(newData); // links
@ -41,7 +41,7 @@ export class Array<T> extends ArrayBufferView {
}
set length(length: i32) {
ensureLength(changetype<ArrayBufferView>(this), length, alignof<T>());
ensureCapacity(this, length, alignof<T>());
this.length_ = length;
}
@ -61,7 +61,7 @@ export class Array<T> extends ArrayBufferView {
@operator("[]=")
private __set(index: i32, value: T): void { // unchecked is built-in
ensureLength(changetype<ArrayBufferView>(this), index + 1, alignof<T>());
ensureCapacity(this, index + 1, alignof<T>());
store<T>(this.dataStart + (<usize>index << alignof<T>()), value);
if (isManaged<T>()) LINK(value, this);
if (index >= this.length_) this.length_ = index + 1;
@ -119,7 +119,7 @@ export class Array<T> extends ArrayBufferView {
push(element: T): i32 {
var newLength = this.length_ + 1;
ensureLength(changetype<ArrayBufferView>(this), newLength, alignof<T>());
ensureCapacity(this, newLength, alignof<T>());
this.length_ = newLength;
store<T>(this.dataStart + (<usize>(newLength - 1) << alignof<T>()), element);
if (isManaged<T>()) LINK(element, this);
@ -266,7 +266,7 @@ export class Array<T> extends ArrayBufferView {
unshift(element: T): i32 {
var newLength = this.length_ + 1;
ensureLength(changetype<ArrayBufferView>(this), newLength, alignof<T>());
ensureCapacity(this, newLength, alignof<T>());
var base = this.dataStart;
memory.copy(
base + sizeof<T>(),

View File

@ -41,13 +41,11 @@ import { compareImpl, parse, CharCode, isWhiteSpaceOrLineTerminator } from "./ut
}
charCodeAt(pos: i32): i32 {
assert(this !== null);
if (<u32>pos >= <u32>this.length) return -1; // (NaN)
return load<u16>(changetype<usize>(this) + (<usize>pos << 1));
}
codePointAt(pos: i32): i32 {
assert(this !== null);
if (<u32>pos >= <u32>this.length) return -1; // (undefined)
var first = <i32>load<u16>(changetype<usize>(this) + (<usize>pos << 1));
if (first < 0xD800 || first > 0xDBFF || pos + 1 == this.length) return first;
@ -56,13 +54,11 @@ import { compareImpl, parse, CharCode, isWhiteSpaceOrLineTerminator } from "./ut
return ((first - 0xD800) << 10) + (second - 0xDC00) + 0x10000;
}
@operator("+") static concat(left: String, right: String): String {
if (!changetype<usize>(left)) left = changetype<String>("null");
return left.concat(right);
@operator("+") private static __concat(left: string, right: string): string {
return select<string>(left, "null", left !== null).concat(right);
}
concat(other: String): String {
assert(this !== null);
if (other === null) other = changetype<String>("null");
var thisSize: isize = this.length << 1;
var otherSize: isize = other.length << 1;
@ -85,7 +81,7 @@ import { compareImpl, parse, CharCode, isWhiteSpaceOrLineTerminator } from "./ut
return !compareImpl(this, start, searchString, 0, searchLength);
}
@operator("==") static eq(left: String, right: String): bool {
@operator("==") private static __eq(left: String, right: String): bool {
if (left === right) return true;
if (left === null || right === null) return false;
var leftLength = left.length;
@ -94,11 +90,11 @@ import { compareImpl, parse, CharCode, isWhiteSpaceOrLineTerminator } from "./ut
return !compareImpl(left, 0, right, 0, leftLength);
}
@operator("!=") static ne(left: String, right: String): bool {
return !this.eq(left, right);
@operator("!=") private static __ne(left: String, right: String): bool {
return !this.__eq(left, right);
}
@operator(">") static gt(left: String, right: String): bool {
@operator(">") private static __gt(left: String, right: String): bool {
if (left === right || left === null || right === null) return false;
var leftLength = left.length;
var rightLength = right.length;
@ -108,11 +104,11 @@ import { compareImpl, parse, CharCode, isWhiteSpaceOrLineTerminator } from "./ut
return compareImpl(left, 0, right, 0, min(leftLength, rightLength)) > 0;
}
@operator(">=") static gte(left: String, right: String): bool {
return !this.lt(left, right);
@operator(">=") private static __gte(left: String, right: String): bool {
return !this.__lt(left, right);
}
@operator("<") static lt(left: String, right: String): bool {
@operator("<") private static __lt(left: String, right: String): bool {
if (left === right || left === null || right === null) return false;
var leftLength = left.length;
var rightLength = right.length;
@ -122,8 +118,8 @@ import { compareImpl, parse, CharCode, isWhiteSpaceOrLineTerminator } from "./ut
return compareImpl(left, 0, right, 0, min(leftLength, rightLength)) < 0;
}
@operator("<=") static lte(left: String, right: String): bool {
return !this.gt(left, right);
@operator("<=") private static __lte(left: String, right: String): bool {
return !this.__gt(left, right);
}
@inline includes(searchString: String, position: i32 = 0): bool {
@ -366,8 +362,8 @@ import { compareImpl, parse, CharCode, isWhiteSpaceOrLineTerminator } from "./ut
charStr,
load<u16>(changetype<usize>(this) + (<usize>i << 1))
);
store<usize>(resultStart + (<usize>i << alignof<usize>()), charStr); // result[i] = charStr
LINK(REGISTER<String>(charStr), result);
store<usize>(resultStart + (<usize>i << alignof<usize>()), REGISTER<String>(charStr)); // result[i] = charStr
if (isManaged<String>()) LINK(changetype<String>(charStr), result);
}
return result;
} else if (!length) {

View File

@ -1,4 +1,4 @@
import { ALLOCATE, REGISTER, LINK, ArrayBufferView } from "./runtime";
import { ALLOCATE, REGISTER, ArrayBufferView } from "./runtime";
import { COMPARATOR, SORT as SORT_IMPL } from "./util/sort";
// function clampToByte(value: i32): i32 {

View File

@ -406,7 +406,7 @@
end
local.get $3
)
(func $~lib/string/String.eq (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__eq (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
local.get $1
@ -2433,7 +2433,7 @@
if
i32.const 0
i32.const 1648
i32.const 190
i32.const 186
i32.const 4
call $~lib/env/abort
unreachable
@ -2531,7 +2531,7 @@
global.get $number/a
call $~lib/util/number/itoa32
i32.const 504
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2554,7 +2554,7 @@
call $~lib/runtime/assertUnregistered
local.get $0
i32.const 1696
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2567,7 +2567,7 @@
i32.const 3
call $~lib/util/number/itoa32
i32.const 1712
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2580,7 +2580,7 @@
i32.const -5
call $~lib/util/number/itoa32
i32.const 1728
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2593,7 +2593,7 @@
i32.const 4
call $~lib/util/number/itoa32
i32.const 1744
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2610,7 +2610,7 @@
global.get $number/a
call $~lib/util/number/itoa32
i32.const 1760
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2627,7 +2627,7 @@
global.get $number/a
call $~lib/util/number/itoa32
i32.const 504
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2639,7 +2639,7 @@
end
i32.const 1776
i32.const 1776
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2651,7 +2651,7 @@
end
i32.const 1792
i32.const 1792
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2669,7 +2669,7 @@
local.get $0
call $~lib/util/number/itoa32
i32.const 504
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2687,7 +2687,7 @@
local.get $0
call $~lib/util/number/itoa32
i32.const 1760
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0

View File

@ -564,7 +564,7 @@
end
local.get $5
)
(func $~lib/string/String.eq (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__eq (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $0
@ -3416,7 +3416,7 @@
if
i32.const 0
i32.const 1648
i32.const 190
i32.const 186
i32.const 4
call $~lib/env/abort
unreachable
@ -3706,7 +3706,7 @@
global.get $number/a
call $~lib/number/I32#toString
i32.const 504
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -3719,7 +3719,7 @@
f64.const 2
call $~lib/number/F64#toString
i32.const 1696
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -3732,7 +3732,7 @@
i32.const 3
call $~lib/number/I32#toString
i32.const 1712
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -3745,7 +3745,7 @@
i32.const -5
call $~lib/number/I32#toString
i32.const 1728
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -3758,7 +3758,7 @@
i32.const 4
call $~lib/number/I32#toString
i32.const 1744
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -3777,7 +3777,7 @@
end
call $~lib/number/I32#toString
i32.const 1760
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -3796,7 +3796,7 @@
end
call $~lib/number/I32#toString
i32.const 504
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -3810,7 +3810,7 @@
i32.eqz
call $~lib/number/Bool#toString
i32.const 1776
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -3824,7 +3824,7 @@
i32.eqz
call $~lib/number/Bool#toString
i32.const 1792
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -3844,7 +3844,7 @@
end
call $~lib/number/I32#toString
i32.const 504
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -3864,7 +3864,7 @@
end
call $~lib/number/I32#toString
i32.const 1760
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0

View File

@ -172,7 +172,7 @@
end
local.get $3
)
(func $~lib/string/String.eq (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/string/String.__eq (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
i32.const 16
@ -230,7 +230,7 @@
end
local.get $0
i32.load offset=4
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0

View File

@ -239,7 +239,7 @@
end
local.get $5
)
(func $~lib/string/String.eq (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__eq (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $0
@ -300,7 +300,7 @@
local.get $0
i32.load offset=4
i32.const 16
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0

View File

@ -106,7 +106,7 @@
if
i32.const 0
i32.const 24
i32.const 165
i32.const 161
i32.const 4
call $~lib/env/abort
unreachable

View File

@ -150,7 +150,7 @@
if
i32.const 0
i32.const 24
i32.const 165
i32.const 161
i32.const 4
call $~lib/env/abort
unreachable

View File

@ -1620,7 +1620,7 @@
i32.store offset=4
local.get $0
)
(func $~lib/array/ensureLength (; 11 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/array/ensureCapacity (; 11 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
local.get $1
local.get $0
@ -1642,7 +1642,7 @@
i32.const 0
i32.const 272
i32.const 12
i32.const 59
i32.const 64
call $~lib/env/abort
unreachable
end
@ -1674,7 +1674,7 @@
i32.const 1
i32.add
i32.const 0
call $~lib/array/ensureLength
call $~lib/array/ensureCapacity
local.get $1
local.get $0
i32.load offset=4
@ -1699,7 +1699,7 @@
i32.const 1
i32.add
i32.const 2
call $~lib/array/ensureLength
call $~lib/array/ensureCapacity
local.get $0
i32.load offset=4
local.get $1

View File

@ -2113,7 +2113,7 @@
i32.store offset=4
local.get $0
)
(func $~lib/array/ensureLength (; 18 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/array/ensureCapacity (; 18 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -2140,7 +2140,7 @@
i32.const 0
i32.const 272
i32.const 12
i32.const 59
i32.const 64
call $~lib/env/abort
unreachable
end
@ -2180,7 +2180,7 @@
i32.const 1
i32.add
i32.const 0
call $~lib/array/ensureLength
call $~lib/array/ensureCapacity
local.get $0
i32.load offset=4
local.get $1
@ -2232,7 +2232,7 @@
i32.const 1
i32.add
i32.const 2
call $~lib/array/ensureLength
call $~lib/array/ensureCapacity
local.get $0
i32.load offset=4
local.get $1
@ -2301,7 +2301,7 @@
i32.const 1
i32.add
i32.const 2
call $~lib/array/ensureLength
call $~lib/array/ensureCapacity
local.get $0
i32.load offset=4
local.get $1
@ -2374,7 +2374,7 @@
i32.const 1
i32.add
i32.const 2
call $~lib/array/ensureLength
call $~lib/array/ensureCapacity
local.get $0
i32.load offset=4
local.get $1

View File

@ -2206,7 +2206,7 @@
i32.store offset=4
local.get $0
)
(func $~lib/array/ensureLength (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/array/ensureCapacity (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
local.get $1
@ -2227,7 +2227,7 @@
i32.const 0
i32.const 488
i32.const 12
i32.const 59
i32.const 64
call $~lib/env/abort
unreachable
end
@ -2261,7 +2261,7 @@
i32.const 1
i32.add
local.tee $2
call $~lib/array/ensureLength
call $~lib/array/ensureCapacity
local.get $0
local.get $2
i32.store offset=12
@ -2521,7 +2521,7 @@
i32.const 1
i32.add
local.tee $2
call $~lib/array/ensureLength
call $~lib/array/ensureCapacity
local.get $0
i32.load offset=4
local.tee $3
@ -5784,7 +5784,7 @@
local.get $1
call $std/array/assertSorted<Array<i32>>
)
(func $~lib/string/String.eq (; 106 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__eq (; 106 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
local.get $1
@ -5881,7 +5881,7 @@
i32.lt_u
select
i32.load
call $~lib/string/String.eq
call $~lib/string/String.__eq
if
local.get $2
i32.const 1
@ -5927,16 +5927,6 @@
(local $2 i32)
(local $3 i32)
(local $4 i32)
local.get $0
i32.eqz
if
i32.const 0
i32.const 3400
i32.const 65
i32.const 4
call $~lib/env/abort
unreachable
end
local.get $1
i32.const 3440
local.get $1
@ -5982,7 +5972,7 @@
i32.const 1
call $~lib/runtime/doRegister
)
(func $~lib/string/String.concat (; 110 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__concat (; 110 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.const 3440
local.get $0
@ -6011,7 +6001,7 @@
f64.floor
i32.trunc_f64_s
call $~lib/string/String#charAt
call $~lib/string/String.concat
call $~lib/string/String.__concat
local.set $1
local.get $2
i32.const 1
@ -6082,7 +6072,7 @@
if
i32.const 0
i32.const 3400
i32.const 190
i32.const 186
i32.const 4
call $~lib/env/abort
unreachable
@ -8270,7 +8260,7 @@
local.get $1
i32.const 1
i32.add
call $~lib/array/ensureLength
call $~lib/array/ensureCapacity
local.get $0
i32.load offset=4
local.get $1
@ -9399,14 +9389,14 @@
local.get $0
i32.const 3512
call $~lib/array/Array<i32>#join
call $~lib/string/String.concat
call $~lib/string/String.__concat
local.set $1
end
local.get $5
if
local.get $1
i32.const 3512
call $~lib/string/String.concat
call $~lib/string/String.__concat
local.set $1
end
local.get $4
@ -9428,7 +9418,7 @@
local.get $0
i32.const 3512
call $~lib/array/Array<i32>#join
call $~lib/string/String.concat
call $~lib/string/String.__concat
else
local.get $1
end
@ -9632,14 +9622,14 @@
local.get $1
local.get $0
call $~lib/array/Array<u8>#join_int
call $~lib/string/String.concat
call $~lib/string/String.__concat
local.set $1
end
local.get $5
if
local.get $1
i32.const 3512
call $~lib/string/String.concat
call $~lib/string/String.__concat
local.set $1
end
local.get $4
@ -9660,7 +9650,7 @@
local.get $1
local.get $0
call $~lib/array/Array<u8>#join_int
call $~lib/string/String.concat
call $~lib/string/String.__concat
else
local.get $1
end
@ -9724,14 +9714,14 @@
local.get $0
i32.const 3512
call $~lib/array/Array<u32>#join
call $~lib/string/String.concat
call $~lib/string/String.__concat
local.set $1
end
local.get $5
if
local.get $1
i32.const 3512
call $~lib/string/String.concat
call $~lib/string/String.__concat
local.set $1
end
local.get $4
@ -9753,7 +9743,7 @@
local.get $0
i32.const 3512
call $~lib/array/Array<u32>#join
call $~lib/string/String.concat
call $~lib/string/String.__concat
else
local.get $1
end
@ -9815,14 +9805,14 @@
local.get $1
local.get $0
call $~lib/array/Array<Array<u32>>#join_arr
call $~lib/string/String.concat
call $~lib/string/String.__concat
local.set $1
end
local.get $5
if
local.get $1
i32.const 3512
call $~lib/string/String.concat
call $~lib/string/String.__concat
local.set $1
end
local.get $4
@ -9843,7 +9833,7 @@
local.get $1
local.get $0
call $~lib/array/Array<Array<u32>>#join_arr
call $~lib/string/String.concat
call $~lib/string/String.__concat
else
local.get $1
end
@ -14034,7 +14024,7 @@
call $~lib/runtime/doWrapArray
call $~lib/array/Array<bool>#join_bool
i32.const 3544
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -14051,7 +14041,7 @@
i32.const 3264
call $~lib/array/Array<i32>#join
i32.const 4072
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -14068,7 +14058,7 @@
i32.const 4120
call $~lib/array/Array<u32>#join
i32.const 4072
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -14085,7 +14075,7 @@
i32.const 4176
call $~lib/array/Array<i32>#join
i32.const 4208
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -14101,7 +14091,7 @@
call $~lib/runtime/doWrapArray
call $~lib/array/Array<f64>#join_flt
i32.const 5488
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -14118,7 +14108,7 @@
i32.const 3264
call $~lib/array/Array<String>#join
i32.const 5576
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -14158,7 +14148,7 @@
global.get $std/array/refArr
call $~lib/array/Array<Ref | null>#join_ref
i32.const 5680
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -14171,7 +14161,7 @@
global.get $std/array/reversed0
call $~lib/array/Array<i32>#toString
i32.const 3264
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -14184,7 +14174,7 @@
global.get $std/array/reversed1
call $~lib/array/Array<i32>#toString
i32.const 5576
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -14197,7 +14187,7 @@
global.get $std/array/reversed2
call $~lib/array/Array<i32>#toString
i32.const 5752
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -14210,7 +14200,7 @@
global.get $std/array/reversed4
call $~lib/array/Array<i32>#toString
i32.const 5768
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -14226,7 +14216,7 @@
call $~lib/runtime/doWrapArray
call $~lib/array/Array<i8>#join_int
i32.const 5824
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -14242,7 +14232,7 @@
call $~lib/runtime/doWrapArray
call $~lib/array/Array<u16>#join_int
i32.const 5880
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -14258,7 +14248,7 @@
call $~lib/runtime/doWrapArray
call $~lib/array/Array<u64>#join_int
i32.const 5976
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -14274,7 +14264,7 @@
call $~lib/runtime/doWrapArray
call $~lib/array/Array<i64>#join_int
i32.const 6112
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -14287,7 +14277,7 @@
global.get $std/array/randomStringsExpected
call $~lib/array/Array<String>#toString
i32.const 6208
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -14303,7 +14293,7 @@
call $~lib/runtime/doWrapArray
call $~lib/array/Array<String>#toString
i32.const 6328
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -14334,7 +14324,7 @@
global.get $std/array/subarr32
call $~lib/array/Array<Array<i32>>#join_arr
i32.const 6384
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -14376,7 +14366,7 @@
global.get $std/array/subarr8
call $~lib/array/Array<Array<u8>>#join_arr
i32.const 6384
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -14428,7 +14418,7 @@
global.get $std/array/subarrU32
call $~lib/array/Array<Array<Array<u32>>>#join_arr
i32.const 5576
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0

View File

@ -2828,7 +2828,7 @@
i32.store offset=4
local.get $0
)
(func $~lib/array/ensureLength (; 34 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/array/ensureCapacity (; 34 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -2855,7 +2855,7 @@
i32.const 0
i32.const 488
i32.const 12
i32.const 59
i32.const 64
call $~lib/env/abort
unreachable
end
@ -2899,7 +2899,7 @@
local.get $0
local.get $2
i32.const 2
call $~lib/array/ensureLength
call $~lib/array/ensureCapacity
local.get $0
local.get $2
i32.store offset=12
@ -3276,7 +3276,7 @@
local.get $0
local.get $2
i32.const 2
call $~lib/array/ensureLength
call $~lib/array/ensureCapacity
local.get $0
i32.load offset=4
local.set $3
@ -8631,7 +8631,7 @@
local.get $1
call $std/array/assertSorted<String>
)
(func $~lib/string/String.eq (; 169 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__eq (; 169 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $0
@ -8675,10 +8675,10 @@
call $~lib/util/string/compareImpl
i32.eqz
)
(func $~lib/string/String.ne (; 170 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__ne (; 170 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
local.get $1
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
)
(func $std/array/isArraysEqual<String> (; 171 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
@ -8746,7 +8746,7 @@
i32.lt_u
select
i32.load
call $~lib/string/String.ne
call $~lib/string/String.__ne
if
i32.const 0
return
@ -8839,18 +8839,6 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
local.get $0
i32.const 0
i32.ne
i32.eqz
if
i32.const 0
i32.const 3400
i32.const 65
i32.const 4
call $~lib/env/abort
unreachable
end
local.get $1
i32.const 0
i32.eq
@ -8904,14 +8892,13 @@
call $~lib/runtime/doRegister
end
)
(func $~lib/string/String.concat (; 175 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__concat (; 175 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.eqz
if
i32.const 3440
local.set $0
end
i32.const 3440
local.get $0
i32.const 0
i32.ne
select
local.get $1
call $~lib/string/String#concat
)
@ -8944,7 +8931,7 @@
end
i32.trunc_f64_s
call $~lib/string/String#charAt
call $~lib/string/String.concat
call $~lib/string/String.__concat
local.set $1
local.get $2
i32.const 1
@ -9023,7 +9010,7 @@
if
i32.const 0
i32.const 3400
i32.const 190
i32.const 186
i32.const 4
call $~lib/env/abort
unreachable
@ -11951,7 +11938,7 @@
i32.const 1
i32.add
i32.const 2
call $~lib/array/ensureLength
call $~lib/array/ensureCapacity
local.get $0
i32.load offset=4
local.get $1
@ -13463,7 +13450,7 @@
i32.const 1
i32.add
i32.const 2
call $~lib/array/ensureLength
call $~lib/array/ensureCapacity
local.get $0
i32.load offset=4
local.get $1
@ -13550,14 +13537,14 @@
local.get $6
local.get $1
call $~lib/array/Array<i32>#join
call $~lib/string/String.concat
call $~lib/string/String.__concat
local.set $3
end
local.get $4
if
local.get $3
local.get $1
call $~lib/string/String.concat
call $~lib/string/String.__concat
local.set $3
end
end
@ -13583,7 +13570,7 @@
local.get $6
local.get $1
call $~lib/array/Array<i32>#join
call $~lib/string/String.concat
call $~lib/string/String.__concat
local.set $3
end
local.get $3
@ -13630,7 +13617,7 @@
i32.const 1
i32.add
i32.const 2
call $~lib/array/ensureLength
call $~lib/array/ensureCapacity
local.get $0
i32.load offset=4
local.get $1
@ -13921,14 +13908,14 @@
local.get $6
local.get $1
call $~lib/array/Array<u8>#join
call $~lib/string/String.concat
call $~lib/string/String.__concat
local.set $3
end
local.get $4
if
local.get $3
local.get $1
call $~lib/string/String.concat
call $~lib/string/String.__concat
local.set $3
end
end
@ -13954,7 +13941,7 @@
local.get $6
local.get $1
call $~lib/array/Array<u8>#join
call $~lib/string/String.concat
call $~lib/string/String.__concat
local.set $3
end
local.get $3
@ -14001,7 +13988,7 @@
i32.const 1
i32.add
i32.const 2
call $~lib/array/ensureLength
call $~lib/array/ensureCapacity
local.get $0
i32.load offset=4
local.get $1
@ -14053,7 +14040,7 @@
i32.const 1
i32.add
i32.const 2
call $~lib/array/ensureLength
call $~lib/array/ensureCapacity
local.get $0
i32.load offset=4
local.get $1
@ -14140,14 +14127,14 @@
local.get $6
local.get $1
call $~lib/array/Array<u32>#join
call $~lib/string/String.concat
call $~lib/string/String.__concat
local.set $3
end
local.get $4
if
local.get $3
local.get $1
call $~lib/string/String.concat
call $~lib/string/String.__concat
local.set $3
end
end
@ -14173,7 +14160,7 @@
local.get $6
local.get $1
call $~lib/array/Array<u32>#join
call $~lib/string/String.concat
call $~lib/string/String.__concat
local.set $3
end
local.get $3
@ -14250,14 +14237,14 @@
local.get $6
local.get $1
call $~lib/array/Array<Array<u32>>#join
call $~lib/string/String.concat
call $~lib/string/String.__concat
local.set $3
end
local.get $4
if
local.get $3
local.get $1
call $~lib/string/String.concat
call $~lib/string/String.__concat
local.set $3
end
end
@ -14283,7 +14270,7 @@
local.get $6
local.get $1
call $~lib/array/Array<Array<u32>>#join
call $~lib/string/String.concat
call $~lib/string/String.__concat
local.set $3
end
local.get $3
@ -19144,7 +19131,7 @@
i32.const 3512
call $~lib/array/Array<bool>#join
i32.const 3544
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -19165,7 +19152,7 @@
i32.const 3264
call $~lib/array/Array<i32>#join
i32.const 4072
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -19186,7 +19173,7 @@
i32.const 4120
call $~lib/array/Array<u32>#join
i32.const 4072
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -19207,7 +19194,7 @@
i32.const 4176
call $~lib/array/Array<i32>#join
i32.const 4208
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -19228,7 +19215,7 @@
i32.const 4320
call $~lib/array/Array<f64>#join
i32.const 5488
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -19249,7 +19236,7 @@
i32.const 3264
call $~lib/array/Array<String>#join
i32.const 5576
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -19285,7 +19272,7 @@
i32.const 3512
call $~lib/array/Array<Ref | null>#join
i32.const 5680
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -19298,7 +19285,7 @@
global.get $std/array/reversed0
call $~lib/array/Array<i32>#toString
i32.const 3264
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -19311,7 +19298,7 @@
global.get $std/array/reversed1
call $~lib/array/Array<i32>#toString
i32.const 5576
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -19324,7 +19311,7 @@
global.get $std/array/reversed2
call $~lib/array/Array<i32>#toString
i32.const 5752
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -19337,7 +19324,7 @@
global.get $std/array/reversed4
call $~lib/array/Array<i32>#toString
i32.const 5768
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -19357,7 +19344,7 @@
end
call $~lib/array/Array<i8>#toString
i32.const 5824
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -19377,7 +19364,7 @@
end
call $~lib/array/Array<u16>#toString
i32.const 5880
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -19397,7 +19384,7 @@
end
call $~lib/array/Array<u64>#toString
i32.const 5976
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -19417,7 +19404,7 @@
end
call $~lib/array/Array<i64>#toString
i32.const 6112
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -19430,7 +19417,7 @@
global.get $std/array/randomStringsExpected
call $~lib/array/Array<String>#toString
i32.const 6208
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -19450,7 +19437,7 @@
end
call $~lib/array/Array<String>#toString
i32.const 6328
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -19493,7 +19480,7 @@
global.get $std/array/subarr32
call $~lib/array/Array<Array<i32>>#toString
i32.const 6384
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -19536,7 +19523,7 @@
global.get $std/array/subarr8
call $~lib/array/Array<Array<u8>>#toString
i32.const 6384
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -19578,7 +19565,7 @@
global.get $std/array/subarrU32
call $~lib/array/Array<Array<Array<u32>>>#toString
i32.const 5576
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0

View File

@ -1596,7 +1596,7 @@
if
i32.const 0
i32.const 96
i32.const 447
i32.const 443
i32.const 8
call $~lib/env/abort
unreachable
@ -1643,7 +1643,7 @@
if
i32.const 0
i32.const 96
i32.const 451
i32.const 447
i32.const 8
call $~lib/env/abort
unreachable
@ -1716,7 +1716,7 @@
if
i32.const 0
i32.const 96
i32.const 463
i32.const 459
i32.const 8
call $~lib/env/abort
unreachable
@ -1769,7 +1769,7 @@
if
i32.const 0
i32.const 96
i32.const 472
i32.const 468
i32.const 4
call $~lib/env/abort
unreachable
@ -1822,7 +1822,7 @@
end
local.get $3
)
(func $~lib/string/String.eq (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__eq (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
local.get $1
@ -2024,7 +2024,7 @@
i32.const 0
call $~lib/string/String.fromUTF8
i32.const 88
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2040,7 +2040,7 @@
i32.sub
call $~lib/string/String.fromUTF8
global.get $std/string-utf8/str
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2054,7 +2054,7 @@
i32.const 4
call $~lib/string/String.fromUTF8
i32.const 176
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2070,7 +2070,7 @@
i32.const 2
call $~lib/string/String.fromUTF8
i32.const 192
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2086,7 +2086,7 @@
i32.const 4
call $~lib/string/String.fromUTF8
i32.const 208
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2102,7 +2102,7 @@
i32.const 1
call $~lib/string/String.fromUTF8
i32.const 224
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0

View File

@ -2034,7 +2034,7 @@
if
i32.const 0
i32.const 96
i32.const 447
i32.const 443
i32.const 8
call $~lib/env/abort
unreachable
@ -2088,7 +2088,7 @@
if
i32.const 0
i32.const 96
i32.const 451
i32.const 447
i32.const 8
call $~lib/env/abort
unreachable
@ -2183,7 +2183,7 @@
if
i32.const 0
i32.const 96
i32.const 463
i32.const 459
i32.const 8
call $~lib/env/abort
unreachable
@ -2246,7 +2246,7 @@
if
i32.const 0
i32.const 96
i32.const 472
i32.const 468
i32.const 4
call $~lib/env/abort
unreachable
@ -2325,7 +2325,7 @@
end
local.get $5
)
(func $~lib/string/String.eq (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__eq (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $0
@ -2545,7 +2545,7 @@
i32.const 0
call $~lib/string/String.fromUTF8
i32.const 88
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2561,7 +2561,7 @@
i32.sub
call $~lib/string/String.fromUTF8
global.get $std/string-utf8/str
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2575,7 +2575,7 @@
i32.const 4
call $~lib/string/String.fromUTF8
i32.const 176
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2591,7 +2591,7 @@
i32.const 2
call $~lib/string/String.fromUTF8
i32.const 192
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2607,7 +2607,7 @@
i32.const 4
call $~lib/string/String.fromUTF8
i32.const 208
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2623,7 +2623,7 @@
i32.const 1
call $~lib/string/String.fromUTF8
i32.const 224
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -28,12 +28,11 @@
(data (i32.const 448) "\01\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s")
(data (i32.const 480) "\01\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(")
(data (i32.const 504) "\01\00\00\00\08\00\00\00n\00u\00l\00l")
(data (i32.const 520) "\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s")
(data (i32.const 560) "\01\00\00\00\02\00\00\00)")
(data (i32.const 576) "\01\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)")
(data (i32.const 600) "\01\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)")
(data (i32.const 632) "\01\00\00\00&\00\00\00S\00y\00m\00b\00o\00l\00(\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00)")
(data (i32.const 680) "\01\00\00\004\00\00\00S\00y\00m\00b\00o\00l\00(\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00)")
(data (i32.const 520) "\01\00\00\00\02\00\00\00)")
(data (i32.const 536) "\01\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)")
(data (i32.const 560) "\01\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)")
(data (i32.const 592) "\01\00\00\00&\00\00\00S\00y\00m\00b\00o\00l\00(\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00)")
(data (i32.const 640) "\01\00\00\004\00\00\00S\00y\00m\00b\00o\00l\00(\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00)")
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~lib/symbol/nextId (mut i32) (i32.const 12))
@ -139,7 +138,7 @@
)
(func $~lib/runtime/assertUnregistered (; 3 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0
i32.const 740
i32.const 700
i32.le_u
if
i32.const 0
@ -562,7 +561,7 @@
end
local.get $3
)
(func $~lib/string/String.eq (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__eq (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
local.get $1
@ -633,7 +632,7 @@
local.get $1
i32.load
i32.const 16
call $~lib/string/String.eq
call $~lib/string/String.__eq
else
local.get $0
end
@ -2291,16 +2290,6 @@
(local $2 i32)
(local $3 i32)
(local $4 i32)
local.get $0
i32.eqz
if
i32.const 0
i32.const 528
i32.const 65
i32.const 4
call $~lib/env/abort
unreachable
end
local.get $1
i32.const 512
local.get $1
@ -2346,7 +2335,7 @@
i32.const 1
call $~lib/runtime/doRegister
)
(func $~lib/string/String.concat (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__concat (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.const 512
local.get $0
@ -2434,9 +2423,9 @@
i32.const 160
end
end
call $~lib/string/String.concat
i32.const 568
call $~lib/string/String.concat
call $~lib/string/String.__concat
i32.const 528
call $~lib/string/String.__concat
)
(func $start:std/symbol (; 29 ;) (type $FUNCSIG$v)
(local $0 i32)
@ -2475,7 +2464,7 @@
call $~lib/env/abort
unreachable
end
i32.const 744
i32.const 704
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
@ -2526,7 +2515,7 @@
global.set $std/symbol/key4
global.get $std/symbol/key3
i32.const 16
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2538,7 +2527,7 @@
end
global.get $std/symbol/key3
global.get $std/symbol/key4
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2560,8 +2549,8 @@
end
local.get $0
call $~lib/symbol/_Symbol#toString
i32.const 584
call $~lib/string/String.eq
i32.const 544
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2573,8 +2562,8 @@
end
global.get $std/symbol/sym3
call $~lib/symbol/_Symbol#toString
i32.const 608
call $~lib/string/String.eq
i32.const 568
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2590,8 +2579,8 @@
global.set $std/symbol/isConcatSpreadable
global.get $std/symbol/hasInstance
call $~lib/symbol/_Symbol#toString
i32.const 640
call $~lib/string/String.eq
i32.const 600
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -2603,8 +2592,8 @@
end
global.get $std/symbol/isConcatSpreadable
call $~lib/symbol/_Symbol#toString
i32.const 688
call $~lib/string/String.eq
i32.const 648
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0

View File

@ -28,12 +28,11 @@
(data (i32.const 448) "\01\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s\00")
(data (i32.const 480) "\01\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(\00")
(data (i32.const 504) "\01\00\00\00\08\00\00\00n\00u\00l\00l\00")
(data (i32.const 520) "\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00")
(data (i32.const 560) "\01\00\00\00\02\00\00\00)\00")
(data (i32.const 576) "\01\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)\00")
(data (i32.const 600) "\01\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)\00")
(data (i32.const 632) "\01\00\00\00&\00\00\00S\00y\00m\00b\00o\00l\00(\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00)\00")
(data (i32.const 680) "\01\00\00\004\00\00\00S\00y\00m\00b\00o\00l\00(\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00)\00")
(data (i32.const 520) "\01\00\00\00\02\00\00\00)\00")
(data (i32.const 536) "\01\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)\00")
(data (i32.const 560) "\01\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)\00")
(data (i32.const 592) "\01\00\00\00&\00\00\00S\00y\00m\00b\00o\00l\00(\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00)\00")
(data (i32.const 640) "\01\00\00\004\00\00\00S\00y\00m\00b\00o\00l\00(\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00)\00")
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~lib/runtime/GC_IMPLEMENTED i32 (i32.const 0))
@ -58,7 +57,7 @@
(global $std/symbol/hasInstance (mut i32) (i32.const 0))
(global $~lib/symbol/_Symbol.isConcatSpreadable i32 (i32.const 2))
(global $std/symbol/isConcatSpreadable (mut i32) (i32.const 0))
(global $~lib/memory/HEAP_BASE i32 (i32.const 740))
(global $~lib/memory/HEAP_BASE i32 (i32.const 700))
(export "memory" (memory $0))
(export "table" (table $0))
(start $start)
@ -764,7 +763,7 @@
end
local.get $5
)
(func $~lib/string/String.eq (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__eq (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $0
@ -837,7 +836,7 @@
local.get $3
i32.load
local.get $1
call $~lib/string/String.eq
call $~lib/string/String.__eq
else
local.get $4
end
@ -3006,18 +3005,6 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
local.get $0
i32.const 0
i32.ne
i32.eqz
if
i32.const 0
i32.const 528
i32.const 65
i32.const 4
call $~lib/env/abort
unreachable
end
local.get $1
i32.const 0
i32.eq
@ -3071,14 +3058,13 @@
call $~lib/runtime/doRegister
end
)
(func $~lib/string/String.concat (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__concat (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.eqz
if
i32.const 512
local.set $0
end
i32.const 512
local.get $0
i32.const 0
i32.ne
select
local.get $1
call $~lib/string/String#concat
)
@ -3264,9 +3250,9 @@
end
i32.const 488
local.get $2
call $~lib/string/String.concat
i32.const 568
call $~lib/string/String.concat
call $~lib/string/String.__concat
i32.const 528
call $~lib/string/String.__concat
)
(func $start:std/symbol (; 36 ;) (type $FUNCSIG$v)
i32.const 16
@ -3353,7 +3339,7 @@
global.set $std/symbol/key4
global.get $std/symbol/key3
i32.const 16
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -3365,7 +3351,7 @@
end
global.get $std/symbol/key3
global.get $std/symbol/key4
call $~lib/string/String.eq
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -3378,8 +3364,8 @@
i32.const 0
call $~lib/symbol/Symbol
call $~lib/symbol/_Symbol#toString
i32.const 584
call $~lib/string/String.eq
i32.const 544
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -3391,8 +3377,8 @@
end
global.get $std/symbol/sym3
call $~lib/symbol/_Symbol#toString
i32.const 608
call $~lib/string/String.eq
i32.const 568
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -3408,8 +3394,8 @@
global.set $std/symbol/isConcatSpreadable
global.get $std/symbol/hasInstance
call $~lib/symbol/_Symbol#toString
i32.const 640
call $~lib/string/String.eq
i32.const 600
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
@ -3421,8 +3407,8 @@
end
global.get $std/symbol/isConcatSpreadable
call $~lib/symbol/_Symbol#toString
i32.const 688
call $~lib/string/String.eq
i32.const 648
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0