This commit is contained in:
dcode 2019-03-14 07:45:59 +01:00
parent 84ddd97761
commit 3b8c2331f4
9 changed files with 803 additions and 807 deletions

View File

@ -629,6 +629,18 @@ export class Resolver extends DiagnosticEmitter {
}
break;
}
case ElementKind.FUNCTION_PROTOTYPE: { // function Symbol() + type Symbol = _Symbol
let shadowType = target.shadowType;
if (shadowType) {
if (!shadowType.is(CommonFlags.RESOLVED)) {
let resolvedType = this.resolveType(shadowType.typeNode, shadowType.parent, null, reportMode);
if (resolvedType) shadowType.setType(resolvedType);
}
let classReference = shadowType.type.classReference;
if (classReference) target = classReference.prototype;
break;
}
}
}
// Look up the member within
@ -672,6 +684,7 @@ export class Resolver extends DiagnosticEmitter {
break;
}
}
this.error(
DiagnosticCode.Property_0_does_not_exist_on_type_1,
propertyAccess.property.range, propertyName, target.internalName

View File

@ -1023,7 +1023,7 @@ declare class ArrayBuffer {
/** Returns true if value is one of the ArrayBuffer views, such as typed array or a DataView **/
static isView<T>(value: T): bool;
/** Constructs a new array buffer of the given length in bytes. */
constructor(length: i32, unsafe?: bool);
constructor(length: i32);
/** Returns a copy of this array buffer's bytes from begin, inclusive, up to end, exclusive. */
slice(begin?: i32, end?: i32): ArrayBuffer;
/** Returns a string representation of ArrayBuffer. */

View File

@ -72,7 +72,7 @@ export class Map<K,V> {
this.buckets = new ArrayBuffer(bucketsSize);
this.bucketsMask = INITIAL_CAPACITY - 1;
const entriesSize = INITIAL_CAPACITY * <i32>ENTRY_SIZE<K,V>();
this.entries = new ArrayBuffer(entriesSize, true);
this.entries = new ArrayBuffer(entriesSize);
this.entriesCapacity = INITIAL_CAPACITY;
this.entriesOffset = 0;
this.entriesCount = 0;
@ -147,7 +147,7 @@ export class Map<K,V> {
var newBucketsCapacity = <i32>(newBucketsMask + 1);
var newBuckets = new ArrayBuffer(newBucketsCapacity * <i32>BUCKET_SIZE);
var newEntriesCapacity = <i32>(newBucketsCapacity * FILL_FACTOR);
var newEntries = new ArrayBuffer(newEntriesCapacity * <i32>ENTRY_SIZE<K,V>(), true);
var newEntries = new ArrayBuffer(newEntriesCapacity * <i32>ENTRY_SIZE<K,V>());
// copy old entries to new entries
var oldPtr = changetype<usize>(this.entries);

View File

@ -12,8 +12,8 @@ export namespace runtime {
// @ts-ignore: decorator
@lazy @inline
static readonly SIZE: usize = gc.implemented
? (offsetof<Header>( ) + AL_MASK) & ~AL_MASK // full header if GC is present
: (offsetof<Header>("gc1") + AL_MASK) & ~AL_MASK; // half header if GC is absent
? (offsetof<runtime.Header>( ) + AL_MASK) & ~AL_MASK // full header if GC is present
: (offsetof<runtime.Header>("gc1") + AL_MASK) & ~AL_MASK; // half header if GC is absent
/** Magic value used to validate runtime headers. */
// @ts-ignore: decorator

View File

@ -1,12 +1,83 @@
import { Map } from "./map";
@lazy var stringToId: Map<string, usize>;
@lazy var idToString: Map<usize, string>;
@lazy var nextId: usize = 12; // Symbol.unscopables + 1
// @ts-ignore: decorator
@lazy
var stringToId: Map<string, usize>;
// @ts-ignore: decorator
@lazy
var idToString: Map<usize, string>;
// @ts-ignore: decorator
@lazy
var nextId: usize = 12; // Symbol.unscopables + 1
@unmanaged abstract class _Symbol {
// @ts-ignore: decorator
@lazy
static readonly hasInstance: symbol = changetype<symbol>(1);
// @ts-ignore: decorator
@lazy
static readonly isConcatSpreadable: symbol = changetype<symbol>(2);
// @ts-ignore: decorator
@lazy
static readonly isRegExp: symbol = changetype<symbol>(3);
// @ts-ignore: decorator
@lazy
static readonly iterator: symbol = changetype<symbol>(3);
// @ts-ignore: decorator
@lazy
static readonly match: symbol = changetype<symbol>(4);
// @ts-ignore: decorator
@lazy
static readonly replace: symbol = changetype<symbol>(5);
// @ts-ignore: decorator
@lazy
static readonly search: symbol = changetype<symbol>(6);
// @ts-ignore: decorator
@lazy
static readonly species: symbol = changetype<symbol>(7);
// @ts-ignore: decorator
@lazy
static readonly split: symbol = changetype<symbol>(8);
// @ts-ignore: decorator
@lazy
static readonly toPrimitive: symbol = changetype<symbol>(9);
// @ts-ignore: decorator
@lazy
static readonly toStringTag: symbol = changetype<symbol>(10);
// @ts-ignore: decorator
@lazy
static readonly unscopables: symbol = changetype<symbol>(11);
static for(key: string): symbol {
if (!stringToId) { stringToId = new Map(); idToString = new Map(); }
else if (stringToId.has(key)) return changetype<symbol>(stringToId.get(key));
var id = nextId++;
if (!id) unreachable(); // out of ids
stringToId.set(key, id);
idToString.set(id, key);
return changetype<symbol>(id);
}
static keyFor(sym: symbol): string | null {
return idToString !== null && idToString.has(changetype<usize>(sym))
? idToString.get(changetype<usize>(sym))
: null;
}
@unmanaged
// @ts-ignore: nolib
export class symbol {
toString(): string {
var id = changetype<usize>(this);
var str = "";
@ -37,40 +108,7 @@ export function Symbol(description: string | null = null): symbol {
return changetype<symbol>(id);
}
export namespace Symbol {
export type Symbol = _Symbol;
// well-known symbols
@lazy export const hasInstance = changetype<symbol>(1);
@lazy export const isConcatSpreadable = changetype<symbol>(2);
@lazy export const isRegExp = changetype<symbol>(3);
@lazy export const iterator = changetype<symbol>(3);
@lazy export const match = changetype<symbol>(4);
@lazy export const replace = changetype<symbol>(5);
@lazy export const search = changetype<symbol>(6);
@lazy export const species = changetype<symbol>(7);
@lazy export const split = changetype<symbol>(8);
@lazy export const toPrimitive = changetype<symbol>(9);
@lazy export const toStringTag = changetype<symbol>(10);
@lazy export const unscopables = changetype<symbol>(11);
// FIXME
/* tslint:disable */// not valid TS
// @ts-ignore: identifier
export function for(key: string): symbol {
if (!stringToId) { stringToId = new Map(); idToString = new Map(); }
else if (stringToId.has(key)) return changetype<symbol>(stringToId.get(key));
var id = nextId++;
if (!id) unreachable(); // out of ids
stringToId.set(key, id);
idToString.set(id, key);
return changetype<symbol>(id);
}
/* tslint:enable */
export function keyFor(sym: symbol): string | null {
return idToString !== null && idToString.has(changetype<usize>(sym))
? idToString.get(changetype<usize>(sym))
: null;
}
}
// @ts-ignore: nolib
export type symbol = _Symbol;

View File

@ -42,7 +42,7 @@
if
i32.const 0
i32.const 16
i32.const 132
i32.const 130
i32.const 4
call $~lib/env/abort
unreachable
@ -62,7 +62,7 @@
if
i32.const 0
i32.const 16
i32.const 155
i32.const 153
i32.const 4
call $~lib/env/abort
unreachable
@ -73,7 +73,7 @@
if
i32.const 0
i32.const 16
i32.const 156
i32.const 154
i32.const 4
call $~lib/env/abort
unreachable
@ -99,7 +99,7 @@
if
i32.const 0
i32.const 16
i32.const 77
i32.const 76
i32.const 4
call $~lib/env/abort
unreachable
@ -117,7 +117,7 @@
if
i32.const 0
i32.const 16
i32.const 78
i32.const 77
i32.const 11
call $~lib/env/abort
unreachable
@ -130,7 +130,7 @@
if
i32.const 0
i32.const 16
i32.const 416
i32.const 414
i32.const 2
call $~lib/env/abort
unreachable
@ -147,7 +147,7 @@
if
i32.const 0
i32.const 16
i32.const 146
i32.const 144
i32.const 4
call $~lib/env/abort
unreachable
@ -158,7 +158,7 @@
if
i32.const 0
i32.const 16
i32.const 147
i32.const 145
i32.const 4
call $~lib/env/abort
unreachable
@ -181,7 +181,7 @@
if
i32.const 0
i32.const 16
i32.const 126
i32.const 124
i32.const 4
call $~lib/env/abort
unreachable
@ -207,7 +207,7 @@
if
i32.const 0
i32.const 16
i32.const 246
i32.const 244
i32.const 4
call $~lib/env/abort
unreachable
@ -230,7 +230,7 @@
if
i32.const 0
i32.const 16
i32.const 248
i32.const 246
i32.const 4
call $~lib/env/abort
unreachable
@ -331,7 +331,7 @@
if
i32.const 0
i32.const 16
i32.const 69
i32.const 68
i32.const 4
call $~lib/env/abort
unreachable
@ -345,7 +345,7 @@
if
i32.const 0
i32.const 16
i32.const 70
i32.const 69
i32.const 11
call $~lib/env/abort
unreachable
@ -361,7 +361,7 @@
if
i32.const 0
i32.const 16
i32.const 322
i32.const 320
i32.const 4
call $~lib/env/abort
unreachable
@ -373,7 +373,7 @@
if
i32.const 0
i32.const 16
i32.const 323
i32.const 321
i32.const 4
call $~lib/env/abort
unreachable
@ -386,7 +386,7 @@
if
i32.const 0
i32.const 16
i32.const 324
i32.const 322
i32.const 4
call $~lib/env/abort
unreachable
@ -408,7 +408,7 @@
if
i32.const 0
i32.const 16
i32.const 177
i32.const 175
i32.const 4
call $~lib/env/abort
unreachable
@ -422,7 +422,7 @@
if
i32.const 0
i32.const 16
i32.const 179
i32.const 177
i32.const 4
call $~lib/env/abort
unreachable
@ -446,7 +446,7 @@
if
i32.const 0
i32.const 16
i32.const 181
i32.const 179
i32.const 4
call $~lib/env/abort
unreachable
@ -458,7 +458,7 @@
if
i32.const 0
i32.const 16
i32.const 185
i32.const 183
i32.const 23
call $~lib/env/abort
unreachable
@ -500,7 +500,7 @@
if
i32.const 0
i32.const 16
i32.const 199
i32.const 197
i32.const 24
call $~lib/env/abort
unreachable
@ -514,7 +514,7 @@
if
i32.const 0
i32.const 16
i32.const 201
i32.const 199
i32.const 6
call $~lib/env/abort
unreachable
@ -563,7 +563,7 @@
if
i32.const 0
i32.const 16
i32.const 214
i32.const 212
i32.const 4
call $~lib/env/abort
unreachable
@ -642,7 +642,7 @@
if
i32.const 0
i32.const 16
i32.const 365
i32.const 363
i32.const 4
call $~lib/env/abort
unreachable
@ -653,7 +653,7 @@
if
i32.const 0
i32.const 16
i32.const 366
i32.const 364
i32.const 4
call $~lib/env/abort
unreachable
@ -664,7 +664,7 @@
if
i32.const 0
i32.const 16
i32.const 367
i32.const 365
i32.const 4
call $~lib/env/abort
unreachable
@ -681,7 +681,7 @@
if
i32.const 0
i32.const 16
i32.const 372
i32.const 370
i32.const 6
call $~lib/env/abort
unreachable
@ -709,7 +709,7 @@
if
i32.const 0
i32.const 16
i32.const 381
i32.const 379
i32.const 6
call $~lib/env/abort
unreachable
@ -762,7 +762,7 @@
if
i32.const 0
i32.const 16
i32.const 410
i32.const 408
i32.const 2
call $~lib/env/abort
unreachable
@ -787,7 +787,7 @@
if
i32.const 0
i32.const 16
i32.const 284
i32.const 282
i32.const 4
call $~lib/env/abort
unreachable
@ -867,7 +867,7 @@
if
i32.const 0
i32.const 16
i32.const 311
i32.const 309
i32.const 16
call $~lib/env/abort
unreachable
@ -895,7 +895,7 @@
if
i32.const 0
i32.const 16
i32.const 336
i32.const 334
i32.const 4
call $~lib/env/abort
unreachable
@ -915,7 +915,7 @@
if
i32.const 0
i32.const 16
i32.const 337
i32.const 335
i32.const 4
call $~lib/env/abort
unreachable
@ -926,7 +926,7 @@
if
i32.const 0
i32.const 16
i32.const 338
i32.const 336
i32.const 4
call $~lib/env/abort
unreachable
@ -978,7 +978,7 @@
if
i32.const 0
i32.const 16
i32.const 356
i32.const 354
i32.const 25
call $~lib/env/abort
unreachable
@ -1143,7 +1143,7 @@
else
i32.const 0
i32.const 16
i32.const 465
i32.const 467
i32.const 12
call $~lib/env/abort
unreachable
@ -1160,7 +1160,7 @@
if
i32.const 0
i32.const 16
i32.const 468
i32.const 470
i32.const 2
call $~lib/env/abort
unreachable
@ -1170,7 +1170,7 @@
local.get $0
call $~lib/allocator/tlsf/Root#use
)
(func $~lib/runtime/ALLOC_RAW (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/runtime/runtime.allocRaw (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
i32.const 1
i32.const 32
@ -1421,10 +1421,10 @@
local.get $1
call $~lib/util/memory/memset
)
(func $~lib/runtime/ALLOC (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/runtime/runtime.alloc (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
call $~lib/runtime/ALLOC_RAW
call $~lib/runtime/runtime.allocRaw
local.tee $1
local.get $0
call $~lib/memory/memory.fill
@ -2545,7 +2545,7 @@
if
i32.const 0
i32.const 16
i32.const 479
i32.const 483
i32.const 6
call $~lib/env/abort
unreachable
@ -2563,7 +2563,7 @@
end
end
)
(func $~lib/runtime/REALLOC (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/runtime/runtime.realloc (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2637,8 +2637,8 @@
if
i32.const 0
i32.const 184
i32.const 83
i32.const 8
i32.const 96
i32.const 10
call $~lib/env/abort
unreachable
end
@ -2667,15 +2667,15 @@
i32.store offset=4
local.get $0
)
(func $~lib/runtime/unref (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/runtime/runtime.unref (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 232
i32.lt_u
if
i32.const 0
i32.const 184
i32.const 104
i32.const 2
i32.const 117
i32.const 4
call $~lib/env/abort
unreachable
end
@ -2689,8 +2689,8 @@
if
i32.const 0
i32.const 184
i32.const 106
i32.const 2
i32.const 119
i32.const 4
call $~lib/env/abort
unreachable
end
@ -2736,7 +2736,7 @@
else
i32.const 0
i32.const 72
i32.const 36
i32.const 30
i32.const 2
call $~lib/env/abort
unreachable
@ -2836,7 +2836,7 @@
f64.const 0
call $~lib/env/trace
i32.const 1
call $~lib/runtime/ALLOC
call $~lib/runtime/runtime.alloc
global.set $std/runtime/ref1
global.get $std/runtime/ref1
i32.const 16
@ -2849,7 +2849,7 @@
if
i32.const 0
i32.const 72
i32.const 51
i32.const 45
i32.const 0
call $~lib/env/abort
unreachable
@ -2861,7 +2861,7 @@
if
i32.const 0
i32.const 72
i32.const 52
i32.const 46
i32.const 0
call $~lib/env/abort
unreachable
@ -2870,12 +2870,12 @@
local.tee $0
local.get $0
global.get $std/runtime/barrier1
call $~lib/runtime/REALLOC
call $~lib/runtime/runtime.realloc
i32.ne
if
i32.const 0
i32.const 72
i32.const 53
i32.const 47
i32.const 0
call $~lib/env/abort
unreachable
@ -2887,14 +2887,14 @@
if
i32.const 0
i32.const 72
i32.const 54
i32.const 48
i32.const 0
call $~lib/env/abort
unreachable
end
global.get $std/runtime/ref1
global.get $std/runtime/barrier2
call $~lib/runtime/REALLOC
call $~lib/runtime/runtime.realloc
global.set $std/runtime/ref2
global.get $std/runtime/ref1
global.get $std/runtime/ref2
@ -2902,7 +2902,7 @@
if
i32.const 0
i32.const 72
i32.const 56
i32.const 50
i32.const 0
call $~lib/env/abort
unreachable
@ -2918,16 +2918,16 @@
if
i32.const 0
i32.const 72
i32.const 58
i32.const 52
i32.const 0
call $~lib/env/abort
unreachable
end
global.get $std/runtime/ref2
call $~lib/runtime/unref
call $~lib/runtime/runtime.unref
call $~lib/allocator/tlsf/__memory_free
global.get $std/runtime/barrier2
call $~lib/runtime/ALLOC
call $~lib/runtime/runtime.alloc
global.set $std/runtime/ref3
global.get $std/runtime/ref1
global.get $std/runtime/ref3
@ -2935,17 +2935,17 @@
if
i32.const 0
i32.const 72
i32.const 61
i32.const 55
i32.const 0
call $~lib/env/abort
unreachable
end
global.get $std/runtime/barrier1
call $~lib/runtime/ALLOC
call $~lib/runtime/runtime.alloc
global.set $std/runtime/ref4
global.get $std/runtime/ref4
local.tee $0
call $~lib/runtime/unref
call $~lib/runtime/runtime.unref
i32.const 2
i32.store
local.get $0
@ -2956,7 +2956,7 @@
if
i32.const 0
i32.const 72
i32.const 65
i32.const 59
i32.const 0
call $~lib/env/abort
unreachable
@ -2972,7 +2972,7 @@
if
i32.const 0
i32.const 72
i32.const 67
i32.const 61
i32.const 0
call $~lib/env/abort
unreachable
@ -2984,13 +2984,13 @@
if
i32.const 0
i32.const 72
i32.const 68
i32.const 62
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 10
call $~lib/runtime/ALLOC
call $~lib/runtime/runtime.alloc
global.set $std/runtime/ref5
global.get $std/runtime/ref5
i32.const 16
@ -3001,7 +3001,7 @@
if
i32.const 0
i32.const 72
i32.const 71
i32.const 65
i32.const 0
call $~lib/env/abort
unreachable
@ -3017,7 +3017,7 @@
if
i32.const 0
i32.const 72
i32.const 72
i32.const 66
i32.const 0
call $~lib/env/abort
unreachable

View File

@ -37,6 +37,8 @@
(global $~lib/allocator/tlsf/Root.SIZE i32 (i32.const 2916))
(global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0))
(global $std/runtime/register_ref (mut i32) (i32.const 0))
(global $std/runtime/link_ref (mut i32) (i32.const 0))
(global $std/runtime/link_parentRef (mut i32) (i32.const 0))
(global $~lib/gc/gc.implemented i32 (i32.const 1))
(global $std/runtime/barrier1 (mut i32) (i32.const 0))
(global $std/runtime/barrier2 (mut i32) (i32.const 0))
@ -63,13 +65,13 @@
if
i32.const 0
i32.const 16
i32.const 110
i32.const 109
i32.const 0
call $~lib/env/abort
unreachable
end
)
(func $~lib/runtime/ADJUST (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/runtime/runtime.adjust (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
i32.const 1
i32.const 32
local.get $0
@ -112,7 +114,7 @@
if
i32.const 0
i32.const 16
i32.const 132
i32.const 130
i32.const 4
call $~lib/env/abort
unreachable
@ -133,7 +135,7 @@
if
i32.const 0
i32.const 16
i32.const 155
i32.const 153
i32.const 4
call $~lib/env/abort
unreachable
@ -145,7 +147,7 @@
if
i32.const 0
i32.const 16
i32.const 156
i32.const 154
i32.const 4
call $~lib/env/abort
unreachable
@ -178,7 +180,7 @@
if
i32.const 0
i32.const 16
i32.const 77
i32.const 76
i32.const 4
call $~lib/env/abort
unreachable
@ -198,7 +200,7 @@
if (result i32)
i32.const 0
i32.const 16
i32.const 78
i32.const 77
i32.const 11
call $~lib/env/abort
unreachable
@ -214,7 +216,7 @@
if
i32.const 0
i32.const 16
i32.const 416
i32.const 414
i32.const 2
call $~lib/env/abort
unreachable
@ -232,7 +234,7 @@
if
i32.const 0
i32.const 16
i32.const 146
i32.const 144
i32.const 4
call $~lib/env/abort
unreachable
@ -244,7 +246,7 @@
if
i32.const 0
i32.const 16
i32.const 147
i32.const 145
i32.const 4
call $~lib/env/abort
unreachable
@ -268,7 +270,7 @@
if
i32.const 0
i32.const 16
i32.const 126
i32.const 124
i32.const 4
call $~lib/env/abort
unreachable
@ -298,7 +300,7 @@
if
i32.const 0
i32.const 16
i32.const 246
i32.const 244
i32.const 4
call $~lib/env/abort
unreachable
@ -324,7 +326,7 @@
if
i32.const 0
i32.const 16
i32.const 248
i32.const 246
i32.const 4
call $~lib/env/abort
unreachable
@ -435,7 +437,7 @@
if
i32.const 0
i32.const 16
i32.const 69
i32.const 68
i32.const 4
call $~lib/env/abort
unreachable
@ -449,7 +451,7 @@
if (result i32)
i32.const 0
i32.const 16
i32.const 70
i32.const 69
i32.const 11
call $~lib/env/abort
unreachable
@ -466,7 +468,7 @@
if
i32.const 0
i32.const 16
i32.const 322
i32.const 320
i32.const 4
call $~lib/env/abort
unreachable
@ -479,7 +481,7 @@
if
i32.const 0
i32.const 16
i32.const 323
i32.const 321
i32.const 4
call $~lib/env/abort
unreachable
@ -492,7 +494,7 @@
if
i32.const 0
i32.const 16
i32.const 324
i32.const 322
i32.const 4
call $~lib/env/abort
unreachable
@ -518,7 +520,7 @@
if
i32.const 0
i32.const 16
i32.const 177
i32.const 175
i32.const 4
call $~lib/env/abort
unreachable
@ -533,7 +535,7 @@
if
i32.const 0
i32.const 16
i32.const 179
i32.const 177
i32.const 4
call $~lib/env/abort
unreachable
@ -559,7 +561,7 @@
if
i32.const 0
i32.const 16
i32.const 181
i32.const 179
i32.const 4
call $~lib/env/abort
unreachable
@ -571,7 +573,7 @@
if (result i32)
i32.const 0
i32.const 16
i32.const 185
i32.const 183
i32.const 23
call $~lib/env/abort
unreachable
@ -619,7 +621,7 @@
if (result i32)
i32.const 0
i32.const 16
i32.const 199
i32.const 197
i32.const 24
call $~lib/env/abort
unreachable
@ -637,7 +639,7 @@
if
i32.const 0
i32.const 16
i32.const 201
i32.const 199
i32.const 6
call $~lib/env/abort
unreachable
@ -692,7 +694,7 @@
if
i32.const 0
i32.const 16
i32.const 214
i32.const 212
i32.const 4
call $~lib/env/abort
unreachable
@ -783,7 +785,7 @@
if
i32.const 0
i32.const 16
i32.const 365
i32.const 363
i32.const 4
call $~lib/env/abort
unreachable
@ -796,7 +798,7 @@
if
i32.const 0
i32.const 16
i32.const 366
i32.const 364
i32.const 4
call $~lib/env/abort
unreachable
@ -809,7 +811,7 @@
if
i32.const 0
i32.const 16
i32.const 367
i32.const 365
i32.const 4
call $~lib/env/abort
unreachable
@ -830,7 +832,7 @@
if
i32.const 0
i32.const 16
i32.const 372
i32.const 370
i32.const 6
call $~lib/env/abort
unreachable
@ -859,7 +861,7 @@
if
i32.const 0
i32.const 16
i32.const 381
i32.const 379
i32.const 6
call $~lib/env/abort
unreachable
@ -930,7 +932,7 @@
if
i32.const 0
i32.const 16
i32.const 410
i32.const 408
i32.const 2
call $~lib/env/abort
unreachable
@ -946,7 +948,7 @@
if
i32.const 0
i32.const 16
i32.const 410
i32.const 408
i32.const 2
call $~lib/env/abort
unreachable
@ -976,7 +978,7 @@
if
i32.const 0
i32.const 16
i32.const 284
i32.const 282
i32.const 4
call $~lib/env/abort
unreachable
@ -1072,7 +1074,7 @@
else
i32.const 0
i32.const 16
i32.const 311
i32.const 309
i32.const 16
call $~lib/env/abort
unreachable
@ -1109,7 +1111,7 @@
if
i32.const 0
i32.const 16
i32.const 336
i32.const 334
i32.const 4
call $~lib/env/abort
unreachable
@ -1129,7 +1131,7 @@
if
i32.const 0
i32.const 16
i32.const 337
i32.const 335
i32.const 4
call $~lib/env/abort
unreachable
@ -1142,7 +1144,7 @@
if
i32.const 0
i32.const 16
i32.const 338
i32.const 336
i32.const 4
call $~lib/env/abort
unreachable
@ -1202,7 +1204,7 @@
if (result i32)
i32.const 0
i32.const 16
i32.const 356
i32.const 354
i32.const 25
call $~lib/env/abort
unreachable
@ -1428,7 +1430,7 @@
if (result i32)
i32.const 0
i32.const 16
i32.const 465
i32.const 467
i32.const 12
call $~lib/env/abort
unreachable
@ -1449,7 +1451,7 @@
if
i32.const 0
i32.const 16
i32.const 468
i32.const 470
i32.const 2
call $~lib/env/abort
unreachable
@ -1464,10 +1466,10 @@
call $~lib/allocator/tlsf/__memory_allocate
return
)
(func $~lib/runtime/ALLOC_RAW (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/runtime/runtime.allocRaw (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
call $~lib/runtime/ADJUST
call $~lib/runtime/runtime.adjust
call $~lib/memory/memory.allocate
local.set $1
local.get $1
@ -1746,10 +1748,10 @@
local.get $2
call $~lib/util/memory/memset
)
(func $~lib/runtime/ALLOC (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/runtime/runtime.alloc (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
call $~lib/runtime/ALLOC_RAW
call $~lib/runtime/runtime.allocRaw
local.set $1
local.get $1
i32.const 0
@ -3216,7 +3218,7 @@
if
i32.const 0
i32.const 16
i32.const 479
i32.const 483
i32.const 6
call $~lib/env/abort
unreachable
@ -3246,7 +3248,7 @@
local.get $0
call $std/runtime/__gc_register
)
(func $~lib/runtime/REALLOC (; 35 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/runtime/runtime.realloc (; 35 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -3264,10 +3266,10 @@
i32.lt_u
if
local.get $1
call $~lib/runtime/ADJUST
call $~lib/runtime/runtime.adjust
local.set $4
local.get $3
call $~lib/runtime/ADJUST
call $~lib/runtime/runtime.adjust
i32.const 0
local.get $0
global.get $~lib/memory/HEAP_BASE
@ -3316,8 +3318,8 @@
if
i32.const 0
i32.const 184
i32.const 83
i32.const 8
i32.const 96
i32.const 10
call $~lib/env/abort
unreachable
end
@ -3349,7 +3351,7 @@
i32.store offset=4
local.get $0
)
(func $~lib/runtime/unref (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/runtime/runtime.unref (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
global.get $~lib/memory/HEAP_BASE
@ -3360,8 +3362,8 @@
if
i32.const 0
i32.const 184
i32.const 104
i32.const 2
i32.const 117
i32.const 4
call $~lib/env/abort
unreachable
end
@ -3377,16 +3379,16 @@
if
i32.const 0
i32.const 184
i32.const 106
i32.const 2
i32.const 119
i32.const 4
call $~lib/env/abort
unreachable
end
local.get $1
)
(func $~lib/runtime/FREE<usize> (; 37 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/runtime/runtime.free<usize> (; 37 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0
call $~lib/runtime/unref
call $~lib/runtime/runtime.unref
call $~lib/memory/memory.free
)
(func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
@ -3413,20 +3415,20 @@
if
i32.const 0
i32.const 72
i32.const 28
i32.const 22
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 0
call $~lib/runtime/ADJUST
call $~lib/runtime/runtime.adjust
i32.const 0
i32.gt_u
i32.eqz
if
i32.const 0
i32.const 72
i32.const 34
i32.const 28
i32.const 0
call $~lib/env/abort
unreachable
@ -3441,13 +3443,13 @@
i32.eqz
br_if $break|0
local.get $0
call $~lib/runtime/ADJUST
call $~lib/runtime/runtime.adjust
call $std/runtime/isPowerOf2
i32.eqz
if
i32.const 0
i32.const 72
i32.const 36
i32.const 30
i32.const 2
call $~lib/env/abort
unreachable
@ -3462,7 +3464,7 @@
unreachable
end
i32.const 0
call $~lib/runtime/ADJUST
call $~lib/runtime/runtime.adjust
global.set $std/runtime/barrier1
global.get $std/runtime/barrier1
i32.const 1
@ -3473,9 +3475,9 @@
global.get $std/runtime/barrier2
i32.const 1
i32.add
call $~lib/runtime/ADJUST
call $~lib/runtime/runtime.adjust
global.get $std/runtime/barrier2
call $~lib/runtime/ADJUST
call $~lib/runtime/runtime.adjust
i32.eq
if
global.get $std/runtime/barrier2
@ -3495,9 +3497,9 @@
global.get $std/runtime/barrier3
i32.const 1
i32.add
call $~lib/runtime/ADJUST
call $~lib/runtime/runtime.adjust
global.get $std/runtime/barrier3
call $~lib/runtime/ADJUST
call $~lib/runtime/runtime.adjust
i32.eq
if
global.get $std/runtime/barrier3
@ -3536,7 +3538,7 @@
f64.const 0
call $~lib/env/trace
i32.const 1
call $~lib/runtime/ALLOC
call $~lib/runtime/runtime.alloc
global.set $std/runtime/ref1
global.get $std/runtime/ref1
i32.const 16
@ -3550,7 +3552,7 @@
if
i32.const 0
i32.const 72
i32.const 51
i32.const 45
i32.const 0
call $~lib/env/abort
unreachable
@ -3563,7 +3565,7 @@
if
i32.const 0
i32.const 72
i32.const 52
i32.const 46
i32.const 0
call $~lib/env/abort
unreachable
@ -3571,13 +3573,13 @@
global.get $std/runtime/ref1
global.get $std/runtime/ref1
global.get $std/runtime/barrier1
call $~lib/runtime/REALLOC
call $~lib/runtime/runtime.realloc
i32.eq
i32.eqz
if
i32.const 0
i32.const 72
i32.const 53
i32.const 47
i32.const 0
call $~lib/env/abort
unreachable
@ -3590,14 +3592,14 @@
if
i32.const 0
i32.const 72
i32.const 54
i32.const 48
i32.const 0
call $~lib/env/abort
unreachable
end
global.get $std/runtime/ref1
global.get $std/runtime/barrier2
call $~lib/runtime/REALLOC
call $~lib/runtime/runtime.realloc
global.set $std/runtime/ref2
global.get $std/runtime/ref1
global.get $std/runtime/ref2
@ -3606,7 +3608,7 @@
if
i32.const 0
i32.const 72
i32.const 56
i32.const 50
i32.const 0
call $~lib/env/abort
unreachable
@ -3623,15 +3625,15 @@
if
i32.const 0
i32.const 72
i32.const 58
i32.const 52
i32.const 0
call $~lib/env/abort
unreachable
end
global.get $std/runtime/ref2
call $~lib/runtime/FREE<usize>
call $~lib/runtime/runtime.free<usize>
global.get $std/runtime/barrier2
call $~lib/runtime/ALLOC
call $~lib/runtime/runtime.alloc
global.set $std/runtime/ref3
global.get $std/runtime/ref1
global.get $std/runtime/ref3
@ -3640,19 +3642,19 @@
if
i32.const 0
i32.const 72
i32.const 61
i32.const 55
i32.const 0
call $~lib/env/abort
unreachable
end
global.get $std/runtime/barrier1
call $~lib/runtime/ALLOC
call $~lib/runtime/runtime.alloc
global.set $std/runtime/ref4
block $~lib/runtime/REGISTER<A>|inlined.0 (result i32)
block $~lib/runtime/runtime.register<A>|inlined.0 (result i32)
global.get $std/runtime/ref4
local.set $0
local.get $0
call $~lib/runtime/unref
call $~lib/runtime/runtime.unref
i32.const 2
i32.store
local.get $0
@ -3667,7 +3669,7 @@
if
i32.const 0
i32.const 72
i32.const 65
i32.const 59
i32.const 0
call $~lib/env/abort
unreachable
@ -3684,7 +3686,7 @@
if
i32.const 0
i32.const 72
i32.const 67
i32.const 61
i32.const 0
call $~lib/env/abort
unreachable
@ -3697,13 +3699,13 @@
if
i32.const 0
i32.const 72
i32.const 68
i32.const 62
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 10
call $~lib/runtime/ALLOC
call $~lib/runtime/runtime.alloc
global.set $std/runtime/ref5
global.get $std/runtime/ref5
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
@ -3713,7 +3715,7 @@
if
i32.const 0
i32.const 72
i32.const 71
i32.const 65
i32.const 0
call $~lib/env/abort
unreachable
@ -3726,7 +3728,7 @@
if
i32.const 0
i32.const 72
i32.const 72
i32.const 66
i32.const 0
call $~lib/env/abort
unreachable

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff