mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-06-09 13:01:26 +00:00
Use long.js in JS and native i64 in WASM; Compile literals more thoroughly
This commit is contained in:
parent
874f87f478
commit
b1c6ccab2a
@ -5,7 +5,7 @@
|
||||
|
||||
**AssemblyScript** compiles strictly typed [TypeScript](http://www.typescriptlang.org) to [WebAssembly](http://webassembly.org) using [Binaryen](https://github.com/WebAssembly/binaryen). It generates minimal WebAssembly modules while being just an `npm install` away.
|
||||
|
||||
See [the AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki) for further instructions and documentation. You can also try it out in [Web Assembly Studio](https://webassembly.studio)!
|
||||
See [the AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki) for further instructions and documentation. You can also try it out in [WebAssembly Studio](https://webassembly.studio)!
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
26
bin/asc.js
26
bin/asc.js
@ -353,7 +353,7 @@ exports.main = function main(argv, options, callback) {
|
||||
else if (args.shrinkLevel === "z")
|
||||
shrinkLevel = 2;
|
||||
|
||||
module.setOptimizeLevel(optimizeLevel);
|
||||
module.setOptimizeLevel(optimizeLevel > 0 ? optimizeLevel : 0);
|
||||
module.setShrinkLevel(shrinkLevel);
|
||||
module.setDebugInfo(debugInfo);
|
||||
|
||||
@ -371,7 +371,9 @@ exports.main = function main(argv, options, callback) {
|
||||
// Optimize the module if requested
|
||||
if (optimizeLevel >= 0) {
|
||||
stats.optimizeCount++;
|
||||
stats.optimizeTime += measure(() => module.optimize());
|
||||
stats.optimizeTime += measure(() => {
|
||||
module.optimize();
|
||||
});
|
||||
}
|
||||
|
||||
// Run additional passes if requested
|
||||
@ -405,7 +407,9 @@ exports.main = function main(argv, options, callback) {
|
||||
|
||||
let binary;
|
||||
stats.emitCount++;
|
||||
stats.emitTime += measure(() => binary = module.toBinary(sourceMapURL));
|
||||
stats.emitTime += measure(() => {
|
||||
binary = module.toBinary(sourceMapURL)
|
||||
});
|
||||
|
||||
if (args.binaryFile.length) {
|
||||
writeFile(path.join(baseDir, args.binaryFile), binary.output);
|
||||
@ -458,11 +462,15 @@ exports.main = function main(argv, options, callback) {
|
||||
let text;
|
||||
if (args.textFile && args.textFile.length) {
|
||||
stats.emitCount++;
|
||||
stats.emitTime += measure(() => text = module.toText());
|
||||
stats.emitTime += measure(() => {
|
||||
text = module.toText();
|
||||
});
|
||||
writeFile(path.join(baseDir, args.textFile), text);
|
||||
} else if (!hasStdout) {
|
||||
stats.emitCount++;
|
||||
stats.emitTime += measure(() => text = module.toText());
|
||||
stats.emitTime += measure(() => {
|
||||
text = module.toText()
|
||||
});
|
||||
writeStdout(text);
|
||||
hasStdout = true;
|
||||
}
|
||||
@ -473,11 +481,15 @@ exports.main = function main(argv, options, callback) {
|
||||
let asm;
|
||||
if (args.asmjsFile.length) {
|
||||
stats.emitCount++;
|
||||
stats.emitTime += measure(() => asm = module.toAsmjs());
|
||||
stats.emitTime += measure(() => {
|
||||
asm = module.toAsmjs();
|
||||
});
|
||||
writeFile(path.join(baseDir, args.asmjsFile), asm);
|
||||
} else if (!hasStdout) {
|
||||
stats.emitCount++;
|
||||
stats.emitTime += measure(() => asm = module.toAsmjs());
|
||||
stats.emitTime += measure(() => {
|
||||
asm = module.toAsmjs();
|
||||
});
|
||||
writeStdout(asm);
|
||||
hasStdout = true;
|
||||
}
|
||||
|
4
dist/asc.js
vendored
4
dist/asc.js
vendored
File diff suppressed because one or more lines are too long
2
dist/assemblyscript.js
vendored
2
dist/assemblyscript.js
vendored
File diff suppressed because one or more lines are too long
2
dist/assemblyscript.js.map
vendored
2
dist/assemblyscript.js.map
vendored
File diff suppressed because one or more lines are too long
47
package-lock.json
generated
47
package-lock.json
generated
@ -4,6 +4,11 @@
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"@types/long": {
|
||||
"version": "3.0.32",
|
||||
"resolved": "https://registry.npmjs.org/@types/long/-/long-3.0.32.tgz",
|
||||
"integrity": "sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA=="
|
||||
},
|
||||
"@types/strip-bom": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz",
|
||||
@ -659,9 +664,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"binaryen": {
|
||||
"version": "42.0.0-nightly.20180208",
|
||||
"resolved": "https://registry.npmjs.org/binaryen/-/binaryen-42.0.0-nightly.20180208.tgz",
|
||||
"integrity": "sha512-ydoTejdUpEAYmcH+wRBdYnlUQcFTVzh+9qDlcsNOwlR/ecUQb6G3CuIgXP4ns1VuPZVgShoK6aUhuxkyI/d0/Q=="
|
||||
"version": "42.0.0-nightly.20180213",
|
||||
"resolved": "https://registry.npmjs.org/binaryen/-/binaryen-42.0.0-nightly.20180213.tgz",
|
||||
"integrity": "sha512-K+YMN7qLDUh3ULt5L33Nw/GOOhha4FBvaPMdPmjk+UjV3GsNqpjdi3FX0pG551cZnIZ0+eABrS9voR41QBcK+Q=="
|
||||
},
|
||||
"bn.js": {
|
||||
"version": "4.11.8",
|
||||
@ -842,13 +847,28 @@
|
||||
}
|
||||
},
|
||||
"chalk": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
|
||||
"integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
|
||||
"integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==",
|
||||
"requires": {
|
||||
"ansi-styles": "3.2.0",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"supports-color": "4.5.0"
|
||||
"supports-color": "5.2.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"has-flag": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
|
||||
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
|
||||
"integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==",
|
||||
"requires": {
|
||||
"has-flag": "3.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"chokidar": {
|
||||
@ -2502,7 +2522,8 @@
|
||||
"has-flag": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
|
||||
"integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE="
|
||||
"integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
|
||||
"dev": true
|
||||
},
|
||||
"has-value": {
|
||||
"version": "1.0.0",
|
||||
@ -3017,8 +3038,7 @@
|
||||
"long": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
|
||||
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==",
|
||||
"dev": true
|
||||
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
|
||||
},
|
||||
"longest": {
|
||||
"version": "1.0.1",
|
||||
@ -4360,6 +4380,7 @@
|
||||
"version": "4.5.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
|
||||
"integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"has-flag": "2.0.0"
|
||||
}
|
||||
@ -4512,7 +4533,7 @@
|
||||
"integrity": "sha512-JTia3kObhTk36wPFgy0RnkZReiusYx7Le9IhcUWRrCTcFcr6Dy1zGsFd3x8DG4gevlbN65knI8W50FfoykXcng==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chalk": "2.3.0",
|
||||
"chalk": "2.3.1",
|
||||
"enhanced-resolve": "3.4.1",
|
||||
"loader-utils": "1.1.0",
|
||||
"micromatch": "3.1.5",
|
||||
@ -4724,7 +4745,7 @@
|
||||
"integrity": "sha512-xcZH12oVg9PShKhy3UHyDmuDLV3y7iKwX25aMVPt1SIXSuAfWkFiGPEkg+th8R4YKW/QCxDoW7lJdb15lx6QWg==",
|
||||
"requires": {
|
||||
"arrify": "1.0.1",
|
||||
"chalk": "2.3.0",
|
||||
"chalk": "2.3.1",
|
||||
"diff": "3.4.0",
|
||||
"make-error": "1.3.2",
|
||||
"minimist": "1.2.0",
|
||||
@ -4760,7 +4781,7 @@
|
||||
"requires": {
|
||||
"babel-code-frame": "6.26.0",
|
||||
"builtin-modules": "1.1.1",
|
||||
"chalk": "2.3.0",
|
||||
"chalk": "2.3.1",
|
||||
"commander": "2.13.0",
|
||||
"diff": "3.4.0",
|
||||
"glob": "7.1.2",
|
||||
|
@ -11,17 +11,18 @@
|
||||
"url": "https://github.com/AssemblyScript/assemblyscript/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"binaryen": "42.0.0-nightly.20180208",
|
||||
"@types/long": "^3.0.32",
|
||||
"binaryen": "42.0.0-nightly.20180213",
|
||||
"glob": "^7.1.2",
|
||||
"long": "^4.0.0",
|
||||
"minimist": "^1.2.0",
|
||||
"ts-node": "^4.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"babel-minify-webpack-plugin": "^0.3.0",
|
||||
"browser-process-hrtime": "^0.1.2",
|
||||
"chalk": "^2.3.0",
|
||||
"chalk": "^2.3.1",
|
||||
"diff": "^3.4.0",
|
||||
"long": "^4.0.0",
|
||||
"source-map-support": "^0.5.3",
|
||||
"ts-loader": "^3.5.0",
|
||||
"tslint": "^5.9.1",
|
||||
|
@ -10,10 +10,6 @@ import {
|
||||
Range
|
||||
} from "./tokenizer";
|
||||
|
||||
import {
|
||||
I64
|
||||
} from "./util/i64";
|
||||
|
||||
import {
|
||||
normalize as normalizePath,
|
||||
resolve as resolvePath
|
||||
|
252
src/compiler.ts
252
src/compiler.ts
@ -43,6 +43,8 @@ import {
|
||||
Flow,
|
||||
FlowFlags,
|
||||
ElementFlags,
|
||||
ConstantValueKind,
|
||||
|
||||
PATH_DELIMITER,
|
||||
LIBRARY_PREFIX
|
||||
} from "./program";
|
||||
@ -120,11 +122,6 @@ import {
|
||||
typesToNativeTypes
|
||||
} from "./types";
|
||||
|
||||
import {
|
||||
I64,
|
||||
U64
|
||||
} from "./util/i64";
|
||||
|
||||
import {
|
||||
sb
|
||||
} from "./util/sb";
|
||||
@ -198,7 +195,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
currentType: Type = Type.void;
|
||||
|
||||
/** Counting memory offset. */
|
||||
memoryOffset: U64 = new U64(8, 0); // leave space for (any size of) NULL
|
||||
memoryOffset: I64;
|
||||
/** Memory segments being compiled. */
|
||||
memorySegments: MemorySegment[] = new Array();
|
||||
/** Map of already compiled static string segments. */
|
||||
@ -217,7 +214,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
super(program.diagnostics);
|
||||
this.program = program;
|
||||
this.options = options ? options : new Options();
|
||||
this.memoryOffset = new U64(this.options.usizeType.byteSize); // leave space for `null`
|
||||
this.memoryOffset = i64_new(this.options.usizeType.byteSize, 0); // leave space for `null`
|
||||
this.module = Module.create();
|
||||
}
|
||||
|
||||
@ -255,20 +252,16 @@ export class Compiler extends DiagnosticEmitter {
|
||||
|
||||
// set up static memory segments and the heap base pointer
|
||||
if (!this.options.noMemory) {
|
||||
var initial = this.memoryOffset.clone();
|
||||
var alignMask = this.options.usizeType.byteSize - 1;
|
||||
initial.add32(alignMask); // align to 4/8 bytes
|
||||
initial.and32(~alignMask, ~0);
|
||||
var memoryOffset = this.memoryOffset;
|
||||
this.memoryOffset = memoryOffset = i64_align(memoryOffset, this.options.usizeType.byteSize);
|
||||
if (this.options.target == Target.WASM64)
|
||||
this.module.addGlobal("HEAP_BASE", NativeType.I64, false, this.module.createI64(initial.lo, initial.hi));
|
||||
this.module.addGlobal("HEAP_BASE", NativeType.I64, false, this.module.createI64(i64_low(memoryOffset), i64_high(memoryOffset)));
|
||||
else
|
||||
this.module.addGlobal("HEAP_BASE", NativeType.I32, false, this.module.createI32(initial.lo));
|
||||
this.module.addGlobal("HEAP_BASE", NativeType.I32, false, this.module.createI32(i64_low(memoryOffset)));
|
||||
|
||||
// determine initial page size
|
||||
initial.add32(0xffff); // align to page size
|
||||
initial.and32(~0xffff, ~0);
|
||||
initial.shru32(16); // ^= number of pages
|
||||
this.module.setMemory(initial.toI32(), Module.MAX_MEMORY_WASM32 /* TODO: not WASM64 compatible yet */, this.memorySegments, this.options.target, "memory");
|
||||
var pages = i64_shr_u(i64_align(memoryOffset, 0x10000), i64_new(16, 0));
|
||||
this.module.setMemory(i64_low(pages), Module.MAX_MEMORY_WASM32 /* TODO: not WASM64 compatible yet */, this.memorySegments, this.options.target, "memory");
|
||||
}
|
||||
return this.module;
|
||||
}
|
||||
@ -458,18 +451,22 @@ export class Compiler extends DiagnosticEmitter {
|
||||
switch (exprType) {
|
||||
|
||||
case NativeType.I32:
|
||||
global.constantIntegerValue = new I64(_BinaryenConstGetValueI32(initExpr), 0);
|
||||
global.constantValueKind = ConstantValueKind.INTEGER;
|
||||
global.constantIntegerValue = i64_new(_BinaryenConstGetValueI32(initExpr), 0);
|
||||
break;
|
||||
|
||||
case NativeType.I64:
|
||||
global.constantIntegerValue = new I64(_BinaryenConstGetValueI64Low(initExpr), _BinaryenConstGetValueI64High(initExpr));
|
||||
global.constantValueKind = ConstantValueKind.INTEGER;
|
||||
global.constantIntegerValue = i64_new(_BinaryenConstGetValueI64Low(initExpr), _BinaryenConstGetValueI64High(initExpr));
|
||||
break;
|
||||
|
||||
case NativeType.F32:
|
||||
global.constantValueKind = ConstantValueKind.FLOAT;
|
||||
global.constantFloatValue = _BinaryenConstGetValueF32(initExpr);
|
||||
break;
|
||||
|
||||
case NativeType.F64:
|
||||
global.constantValueKind = ConstantValueKind.FLOAT;
|
||||
global.constantFloatValue = _BinaryenConstGetValueF64(initExpr);
|
||||
break;
|
||||
|
||||
@ -819,14 +816,11 @@ export class Compiler extends DiagnosticEmitter {
|
||||
// memory
|
||||
|
||||
/** Adds a static memory segment with the specified data. */
|
||||
addMemorySegment(buffer: Uint8Array): MemorySegment {
|
||||
if (this.memoryOffset.lo & 7) { // align to 8 bytes so any native data type is aligned here
|
||||
this.memoryOffset.or32(7);
|
||||
this.memoryOffset.add32(1);
|
||||
}
|
||||
var segment = MemorySegment.create(buffer, this.memoryOffset.clone());
|
||||
addMemorySegment(buffer: Uint8Array, alignment: i32 = 8): MemorySegment {
|
||||
var memoryOffset = i64_align(this.memoryOffset, alignment);
|
||||
var segment = MemorySegment.create(buffer, memoryOffset);
|
||||
this.memorySegments.push(segment);
|
||||
this.memoryOffset.add32(buffer.length);
|
||||
this.memoryOffset = i64_add(memoryOffset, i64_new(buffer.length, 0));
|
||||
return segment;
|
||||
}
|
||||
|
||||
@ -1315,7 +1309,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
compileInlineConstant(element: VariableLikeElement, contextualType: Type): ExpressionRef {
|
||||
assert(element.is(ElementFlags.INLINED));
|
||||
|
||||
switch (element.type.is(TypeFlags.INTEGER) && contextualType.is(TypeFlags.INTEGER) && element.type.size <= contextualType.size
|
||||
switch (element.type.is(TypeFlags.INTEGER) && contextualType.is(TypeFlags.INTEGER) && element.type.size < contextualType.size
|
||||
? (this.currentType = contextualType).kind // essentially precomputes a (sign-)extension
|
||||
: (this.currentType = element.type).kind
|
||||
) {
|
||||
@ -1323,32 +1317,32 @@ export class Compiler extends DiagnosticEmitter {
|
||||
case TypeKind.I8:
|
||||
case TypeKind.I16:
|
||||
var shift = element.type.computeSmallIntegerShift(Type.i32);
|
||||
return this.module.createI32(element.constantIntegerValue ? element.constantIntegerValue.toI32() << shift >> shift : 0);
|
||||
return this.module.createI32(element.constantValueKind == ConstantValueKind.INTEGER ? i64_low(element.constantIntegerValue) << shift >> shift : 0);
|
||||
|
||||
case TypeKind.U8:
|
||||
case TypeKind.U16:
|
||||
case TypeKind.BOOL:
|
||||
var mask = element.type.computeSmallIntegerMask(Type.i32);
|
||||
return this.module.createI32(element.constantIntegerValue ? element.constantIntegerValue.toI32() & mask : 0);
|
||||
return this.module.createI32(element.constantValueKind == ConstantValueKind.INTEGER ? i64_low(element.constantIntegerValue) & mask : 0);
|
||||
|
||||
case TypeKind.I32:
|
||||
case TypeKind.U32:
|
||||
return this.module.createI32(element.constantIntegerValue ? element.constantIntegerValue.lo : 0)
|
||||
return this.module.createI32(element.constantValueKind == ConstantValueKind.INTEGER ? i64_low(element.constantIntegerValue) : 0)
|
||||
|
||||
case TypeKind.ISIZE:
|
||||
case TypeKind.USIZE:
|
||||
if (!element.program.options.isWasm64)
|
||||
return this.module.createI32(element.constantIntegerValue ? element.constantIntegerValue.lo : 0)
|
||||
return this.module.createI32(element.constantValueKind == ConstantValueKind.INTEGER ? i64_low(element.constantIntegerValue) : 0)
|
||||
// fall-through
|
||||
|
||||
case TypeKind.I64:
|
||||
case TypeKind.U64:
|
||||
return element.constantIntegerValue
|
||||
? this.module.createI64(element.constantIntegerValue.lo, element.constantIntegerValue.hi)
|
||||
return element.constantValueKind == ConstantValueKind.INTEGER
|
||||
? this.module.createI64(i64_low(element.constantIntegerValue), i64_high(element.constantIntegerValue))
|
||||
: this.module.createI64(0);
|
||||
|
||||
case TypeKind.F32:
|
||||
return this.module.createF32((<VariableLikeElement>element).constantFloatValue);
|
||||
return this.module.createF32((<VariableLikeElement>element).constantFloatValue); // safe because it's a 'number' in JS
|
||||
|
||||
case TypeKind.F64:
|
||||
return this.module.createF64((<VariableLikeElement>element).constantFloatValue);
|
||||
@ -2889,10 +2883,11 @@ export class Compiler extends DiagnosticEmitter {
|
||||
return this.module.createUnreachable();
|
||||
}
|
||||
|
||||
compileLiteralExpression(expression: LiteralExpression, contextualType: Type): ExpressionRef {
|
||||
compileLiteralExpression(expression: LiteralExpression, contextualType: Type, implicitNegate: bool = false): ExpressionRef {
|
||||
switch (expression.literalKind) {
|
||||
|
||||
case LiteralKind.ARRAY:
|
||||
assert(!implicitNegate);
|
||||
var classType = contextualType.classType;
|
||||
if (classType && classType == this.program.elements.get("Array") && classType.typeArguments && classType.typeArguments.length == 1)
|
||||
return this.compileStaticArray(classType.typeArguments[0], (<ArrayLiteralExpression>expression).elementExpressions);
|
||||
@ -2901,6 +2896,8 @@ export class Compiler extends DiagnosticEmitter {
|
||||
|
||||
case LiteralKind.FLOAT: {
|
||||
var floatValue = (<FloatLiteralExpression>expression).value;
|
||||
if (implicitNegate)
|
||||
floatValue = -floatValue;
|
||||
if (contextualType == Type.f32)
|
||||
return this.module.createF32(<f32>floatValue);
|
||||
this.currentType = Type.f64;
|
||||
@ -2909,31 +2906,97 @@ export class Compiler extends DiagnosticEmitter {
|
||||
|
||||
case LiteralKind.INTEGER:
|
||||
var intValue = (<IntegerLiteralExpression>expression).value;
|
||||
if (contextualType == Type.bool && (intValue.isZero || intValue.isOne))
|
||||
return this.module.createI32(intValue.isZero ? 0 : 1);
|
||||
if (contextualType == Type.f64)
|
||||
return this.module.createF64(intValue.toF64());
|
||||
if (contextualType == Type.f32)
|
||||
return this.module.createF32(<f32>intValue.toF64());
|
||||
if (contextualType.is(TypeFlags.LONG | TypeFlags.INTEGER))
|
||||
return this.module.createI64(intValue.lo, intValue.hi);
|
||||
if (!intValue.fitsInI32) {
|
||||
this.currentType = contextualType.is(TypeFlags.SIGNED) ? Type.i64 : Type.u64;
|
||||
return this.module.createI64(intValue.lo, intValue.hi);
|
||||
if (implicitNegate)
|
||||
intValue = i64_sub(i64_new(0), intValue);
|
||||
switch (contextualType.kind) {
|
||||
|
||||
// compile to contextualType if matching
|
||||
|
||||
case TypeKind.I8:
|
||||
if (i64_is_i8(intValue))
|
||||
return this.module.createI32(i64_low(intValue));
|
||||
break;
|
||||
|
||||
case TypeKind.I16:
|
||||
if (i64_is_i16(intValue))
|
||||
return this.module.createI32(i64_low(intValue));
|
||||
break;
|
||||
|
||||
case TypeKind.I32:
|
||||
if (i64_is_i32(intValue))
|
||||
return this.module.createI32(i64_low(intValue));
|
||||
break;
|
||||
|
||||
case TypeKind.U8:
|
||||
if (i64_is_u8(intValue))
|
||||
return this.module.createI32(i64_low(intValue));
|
||||
break;
|
||||
|
||||
case TypeKind.U16:
|
||||
if (i64_is_u16(intValue))
|
||||
return this.module.createI32(i64_low(intValue));
|
||||
break;
|
||||
|
||||
case TypeKind.U32:
|
||||
if (i64_is_u32(intValue))
|
||||
return this.module.createI32(i64_low(intValue));
|
||||
break;
|
||||
|
||||
case TypeKind.BOOL:
|
||||
if (i64_is_bool(intValue))
|
||||
return this.module.createI32(i64_low(intValue));
|
||||
break;
|
||||
|
||||
case TypeKind.ISIZE:
|
||||
if (!this.options.isWasm64) {
|
||||
if (i64_is_u32(intValue))
|
||||
return this.module.createI32(i64_low(intValue));
|
||||
break;
|
||||
}
|
||||
return this.module.createI64(i64_low(intValue), i64_high(intValue));
|
||||
|
||||
case TypeKind.USIZE:
|
||||
if (!this.options.isWasm64) {
|
||||
if (i64_is_u32(intValue))
|
||||
return this.module.createI32(i64_low(intValue));
|
||||
break;
|
||||
}
|
||||
return this.module.createI64(i64_low(intValue), i64_high(intValue));
|
||||
|
||||
case TypeKind.I64:
|
||||
case TypeKind.U64:
|
||||
return this.module.createI64(i64_low(intValue), i64_high(intValue));
|
||||
|
||||
case TypeKind.F32:
|
||||
if (i64_is_f32(intValue))
|
||||
return this.module.createF32(i64_to_f32(intValue));
|
||||
break;
|
||||
|
||||
case TypeKind.F64:
|
||||
if (i64_is_f64(intValue))
|
||||
return this.module.createF64(i64_to_f64(intValue));
|
||||
break;
|
||||
|
||||
case TypeKind.VOID:
|
||||
break;
|
||||
|
||||
default:
|
||||
assert(false);
|
||||
break;
|
||||
}
|
||||
if (contextualType.is(TypeFlags.SMALL | TypeFlags.INTEGER)) {
|
||||
var shift = contextualType.computeSmallIntegerShift(Type.i32);
|
||||
var mask = contextualType.computeSmallIntegerMask(Type.i32);
|
||||
return this.module.createI32(contextualType.is(TypeFlags.SIGNED) ? intValue.lo << shift >> shift : intValue.lo & mask);
|
||||
}
|
||||
if (contextualType == Type.void && !intValue.fitsInI32) {
|
||||
|
||||
// otherwise compile to best fitting native type
|
||||
|
||||
if (i64_is_i32(intValue)) {
|
||||
this.currentType = Type.i32;
|
||||
return this.module.createI32(i64_low(intValue));
|
||||
} else {
|
||||
this.currentType = Type.i64;
|
||||
return this.module.createI64(intValue.lo, intValue.hi);
|
||||
return this.module.createI64(i64_low(intValue), i64_high(intValue));
|
||||
}
|
||||
this.currentType = contextualType.is(TypeFlags.SIGNED) ? Type.i32 : Type.u32;
|
||||
return this.module.createI32(intValue.toI32());
|
||||
|
||||
case LiteralKind.STRING:
|
||||
assert(!implicitNegate);
|
||||
return this.compileStaticString((<StringLiteralExpression>expression).value);
|
||||
|
||||
// case LiteralKind.OBJECT:
|
||||
@ -2955,14 +3018,15 @@ export class Compiler extends DiagnosticEmitter {
|
||||
stringBuffer[4 + i * 2] = stringValue.charCodeAt(i) & 0xff;
|
||||
stringBuffer[5 + i * 2] = (stringValue.charCodeAt(i) >>> 8) & 0xff;
|
||||
}
|
||||
stringSegment = this.addMemorySegment(stringBuffer);
|
||||
stringSegment = this.addMemorySegment(stringBuffer, this.options.usizeType.byteSize);
|
||||
this.stringSegments.set(stringValue, stringSegment);
|
||||
}
|
||||
var stringOffset = stringSegment.offset;
|
||||
this.currentType = this.options.usizeType;
|
||||
return this.options.isWasm64
|
||||
? this.module.createI64(stringOffset.lo, stringOffset.hi)
|
||||
: this.module.createI32(stringOffset.lo);
|
||||
if (this.options.isWasm64)
|
||||
return this.module.createI64(i64_low(stringOffset), i64_high(stringOffset));
|
||||
assert(i64_is_i32(stringOffset));
|
||||
return this.module.createI32(i64_low(stringOffset));
|
||||
}
|
||||
|
||||
compileStaticArray(elementType: Type, expressions: (Expression | null)[]): ExpressionRef {
|
||||
@ -3009,7 +3073,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
break;
|
||||
|
||||
case NativeType.I64:
|
||||
changetype<I64[]>(values)[i] = new I64(_BinaryenConstGetValueI64Low(expr), _BinaryenConstGetValueI64High(expr));
|
||||
changetype<I64[]>(values)[i] = i64_new(_BinaryenConstGetValueI64Low(expr), _BinaryenConstGetValueI64High(expr));
|
||||
break;
|
||||
|
||||
case NativeType.F32:
|
||||
@ -3325,41 +3389,49 @@ export class Compiler extends DiagnosticEmitter {
|
||||
break;
|
||||
|
||||
case Token.MINUS:
|
||||
expr = this.compileExpression(expression.operand, contextualType == Type.void ? Type.i32 : contextualType, ConversionKind.NONE, false);
|
||||
if (expression.operand.kind == NodeKind.LITERAL && (
|
||||
(<LiteralExpression>expression.operand).literalKind == LiteralKind.INTEGER ||
|
||||
(<LiteralExpression>expression.operand).literalKind == LiteralKind.FLOAT
|
||||
)) {
|
||||
// implicitly negate integer and float literals. also enables proper checking of literal ranges.
|
||||
expr = this.compileLiteralExpression(<LiteralExpression>expression.operand, contextualType, true);
|
||||
this.addDebugLocation(expr, expression.range); // compileExpression normally does this
|
||||
} else {
|
||||
expr = this.compileExpression(expression.operand, contextualType == Type.void ? Type.i32 : contextualType, ConversionKind.NONE, false);
|
||||
switch (this.currentType.kind) {
|
||||
|
||||
switch (this.currentType.kind) {
|
||||
case TypeKind.I8:
|
||||
case TypeKind.I16:
|
||||
case TypeKind.U8:
|
||||
case TypeKind.U16:
|
||||
case TypeKind.BOOL:
|
||||
possiblyOverflows = true; // or if operand already did
|
||||
default:
|
||||
expr = this.module.createBinary(BinaryOp.SubI32, this.module.createI32(0), expr);
|
||||
break;
|
||||
|
||||
case TypeKind.I8:
|
||||
case TypeKind.I16:
|
||||
case TypeKind.U8:
|
||||
case TypeKind.U16:
|
||||
case TypeKind.BOOL:
|
||||
possiblyOverflows = true; // or if operand already did
|
||||
default:
|
||||
expr = this.module.createBinary(BinaryOp.SubI32, this.module.createI32(0), expr);
|
||||
break;
|
||||
case TypeKind.USIZE:
|
||||
if (this.currentType.isReference) {
|
||||
this.error(DiagnosticCode.Operation_not_supported, expression.range);
|
||||
return this.module.createUnreachable();
|
||||
}
|
||||
case TypeKind.ISIZE:
|
||||
expr = this.module.createBinary(this.options.target == Target.WASM64 ? BinaryOp.SubI64 : BinaryOp.SubI32, this.currentType.toNativeZero(this.module), expr);
|
||||
break;
|
||||
|
||||
case TypeKind.USIZE:
|
||||
if (this.currentType.isReference) {
|
||||
this.error(DiagnosticCode.Operation_not_supported, expression.range);
|
||||
return this.module.createUnreachable();
|
||||
}
|
||||
case TypeKind.ISIZE:
|
||||
expr = this.module.createBinary(this.options.target == Target.WASM64 ? BinaryOp.SubI64 : BinaryOp.SubI32, this.currentType.toNativeZero(this.module), expr);
|
||||
break;
|
||||
case TypeKind.I64:
|
||||
case TypeKind.U64:
|
||||
expr = this.module.createBinary(BinaryOp.SubI64, this.module.createI64(0), expr);
|
||||
break;
|
||||
|
||||
case TypeKind.I64:
|
||||
case TypeKind.U64:
|
||||
expr = this.module.createBinary(BinaryOp.SubI64, this.module.createI64(0), expr);
|
||||
break;
|
||||
case TypeKind.F32:
|
||||
expr = this.module.createUnary(UnaryOp.NegF32, expr);
|
||||
break;
|
||||
|
||||
case TypeKind.F32:
|
||||
expr = this.module.createUnary(UnaryOp.NegF32, expr);
|
||||
break;
|
||||
|
||||
case TypeKind.F64:
|
||||
expr = this.module.createUnary(UnaryOp.NegF64, expr);
|
||||
break;
|
||||
case TypeKind.F64:
|
||||
expr = this.module.createUnary(UnaryOp.NegF64, expr);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -11,10 +11,6 @@ import {
|
||||
readString
|
||||
} from "./module";
|
||||
|
||||
import {
|
||||
I64
|
||||
} from "./util/i64";
|
||||
|
||||
// TODO :-)
|
||||
|
||||
export class Decompiler {
|
||||
@ -28,8 +24,6 @@ export class Decompiler {
|
||||
text: string[] = [];
|
||||
functionId: i32 = 0;
|
||||
|
||||
private tempI64: I64 = new I64();
|
||||
|
||||
constructor() { }
|
||||
|
||||
/** Decompiles a module to an AST that can then be serialized. */
|
||||
@ -183,9 +177,14 @@ export class Decompiler {
|
||||
return;
|
||||
|
||||
case NativeType.I64:
|
||||
this.tempI64.lo = _BinaryenConstGetValueI64Low(expr);
|
||||
this.tempI64.hi = _BinaryenConstGetValueI64High(expr);
|
||||
this.push(this.tempI64.toString());
|
||||
this.push(
|
||||
i64_to_string(
|
||||
i64_new(
|
||||
_BinaryenConstGetValueI64Low(expr),
|
||||
_BinaryenConstGetValueI64High(expr)
|
||||
)
|
||||
)
|
||||
);
|
||||
return;
|
||||
|
||||
case NativeType.F32:
|
||||
|
6
src/extra/tsconfig.json
Normal file
6
src/extra/tsconfig.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"extends": "../../std/portable.json",
|
||||
"include": [
|
||||
"./**/*.ts"
|
||||
]
|
||||
}
|
@ -1,54 +0,0 @@
|
||||
require("../../std/portable");
|
||||
|
||||
// Copy Binaryen exports to global scope
|
||||
var globalScope = typeof window !== "undefined" && window || typeof global !== "undefined" && global || self;
|
||||
var binaryen = globalScope["Binaryen"]; // allow overriding for testing purposes
|
||||
if (!binaryen) {
|
||||
try {
|
||||
binaryen = require("binaryen");
|
||||
} catch (e) {
|
||||
binaryen = globalScope["Binaryen"];
|
||||
}
|
||||
}
|
||||
for (var key in binaryen)
|
||||
if (/^_(?:Binaryen|Relooper)/.test(key))
|
||||
globalScope[key] = binaryen[key];
|
||||
|
||||
// Use Binaryen's heap instead of std heap
|
||||
globalScope["allocate_memory"] = function allocate_memory(size) {
|
||||
if (!size) return 0; // should be safe in our case
|
||||
return binaryen._malloc(size);
|
||||
};
|
||||
globalScope["free_memory"] = function free_memory(ptr) {
|
||||
if (ptr) binaryen._free(ptr);
|
||||
};
|
||||
globalScope["move_memory"] = function move_memory(dest, src, n) {
|
||||
return binaryen._memmove(dest, src, n);
|
||||
};
|
||||
globalScope["store"] = function store(ptr, val) {
|
||||
binaryen.HEAPU8[ptr] = val;
|
||||
};
|
||||
globalScope["load"] = function load(ptr) {
|
||||
return binaryen.HEAPU8[ptr];
|
||||
};
|
||||
|
||||
// Implement module stubs
|
||||
var Module = require("../module").Module;
|
||||
|
||||
Module.prototype.toText = function toText() {
|
||||
var previousPrint = binaryen.print;
|
||||
var ret = "";
|
||||
binaryen.print = function print(x) { ret += x + "\n" };
|
||||
this.print();
|
||||
binaryen.print = previousPrint;
|
||||
return ret;
|
||||
};
|
||||
|
||||
Module.prototype.toAsmjs = function toAsmjs() {
|
||||
var previousPrint = binaryen.print;
|
||||
var ret = "";
|
||||
binaryen.print = function print(x) { ret += x + "\n" };
|
||||
this.printAsmjs();
|
||||
binaryen.print = previousPrint;
|
||||
return ret;
|
||||
};
|
36
src/glue/js/i64.d.ts
vendored
Normal file
36
src/glue/js/i64.d.ts
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
declare type I64 = Long;
|
||||
|
||||
declare function i64_new(lo: i32, hi?: i32): I64;
|
||||
declare function i64_low(value: I64): i32;
|
||||
declare function i64_high(value: I64): i32;
|
||||
|
||||
declare function i64_add(left: I64, right: I64): I64;
|
||||
declare function i64_sub(left: I64, right: I64): I64;
|
||||
declare function i64_mul(left: I64, right: I64): I64;
|
||||
declare function i64_div(left: I64, right: I64): I64;
|
||||
declare function i64_div_u(left: I64, right: I64): I64;
|
||||
declare function i64_rem(left: I64, right: I64): I64;
|
||||
declare function i64_rem_u(left: I64, right: I64): I64;
|
||||
declare function i64_and(left: I64, right: I64): I64;
|
||||
declare function i64_or(left: I64, right: I64): I64;
|
||||
declare function i64_xor(left: I64, right: I64): I64;
|
||||
declare function i64_shl(left: I64, right: I64): I64;
|
||||
declare function i64_shr(left: I64, right: I64): I64;
|
||||
declare function i64_shr_u(left: I64, right: I64): I64;
|
||||
declare function i64_not(value: I64): I64;
|
||||
|
||||
declare function i64_align(value: I64, alignment: i32): I64;
|
||||
|
||||
declare function i64_is_i8(value: I64): bool;
|
||||
declare function i64_is_i16(value: I64): bool;
|
||||
declare function i64_is_i32(value: I64): bool;
|
||||
declare function i64_is_u8(value: I64): bool;
|
||||
declare function i64_is_u16(value: I64): bool;
|
||||
declare function i64_is_u32(value: I64): bool;
|
||||
declare function i64_is_bool(value: I64): bool;
|
||||
declare function i64_is_f32(value: I64): bool;
|
||||
declare function i64_is_f64(value: I64): bool;
|
||||
|
||||
declare function i64_to_f32(value: I64): f64;
|
||||
declare function i64_to_f64(value: I64): f64;
|
||||
declare function i64_to_string(value: I64, unsigned?: bool): string;
|
193
src/glue/js/index.ts
Normal file
193
src/glue/js/index.ts
Normal file
@ -0,0 +1,193 @@
|
||||
import "../../../std/portable";
|
||||
|
||||
// Copy Binaryen exports to global scope
|
||||
|
||||
declare const global: any;
|
||||
declare function require(name: string): any;
|
||||
|
||||
const binaryen: any = global.Binaryen || require("binaryen");
|
||||
|
||||
for (let key in binaryen)
|
||||
if (key.startsWith("_Binaryen") || key.startsWith("_Relooper"))
|
||||
global[key] = (<any>binaryen)[key];
|
||||
|
||||
// Use Binaryen's heap instead of std heap
|
||||
|
||||
global.allocate_memory = function(size: number): number {
|
||||
if (!size) return 0; // should be safe in our case
|
||||
return (<any>binaryen)._malloc(size);
|
||||
};
|
||||
|
||||
global.free_memory = function(ptr: number): void {
|
||||
if (ptr) (<any>binaryen)._free(ptr);
|
||||
};
|
||||
|
||||
global.move_memory = function(dest: number, src: number, n: number): number {
|
||||
return (<any>binaryen)._memmove(dest, src, n);
|
||||
};
|
||||
|
||||
global.store = function(ptr: number, val: number): void {
|
||||
(<any>binaryen).HEAPU8[ptr] = val;
|
||||
};
|
||||
|
||||
global.load = function(ptr: number): number {
|
||||
return (<any>binaryen).HEAPU8[ptr];
|
||||
};
|
||||
|
||||
// Implement module stubs
|
||||
|
||||
import { Module } from "../../module";
|
||||
|
||||
Module.prototype.toText = function toText() {
|
||||
var previousPrint = binaryen.print;
|
||||
var ret = "";
|
||||
binaryen.print = (x: string) => { ret += x + "\n" };
|
||||
this.print();
|
||||
binaryen.print = previousPrint;
|
||||
return ret;
|
||||
};
|
||||
|
||||
Module.prototype.toAsmjs = function toAsmjs() {
|
||||
var previousPrint = binaryen.print;
|
||||
var ret = "";
|
||||
binaryen.print = (x: string) => { ret += x + "\n" };
|
||||
this.printAsmjs();
|
||||
binaryen.print = previousPrint;
|
||||
return ret;
|
||||
};
|
||||
|
||||
// Implement I64 using long.js
|
||||
|
||||
import * as Long from "long";
|
||||
|
||||
/// <reference path="./i64.d.ts" />
|
||||
|
||||
global.i64_new = function(lo: number, hi: number = 0): I64 {
|
||||
return Long.fromBits(lo, hi);
|
||||
};
|
||||
|
||||
global.i64_low = function(value: I64): i32 {
|
||||
return value.low;
|
||||
};
|
||||
|
||||
global.i64_high = function(value: I64): i32 {
|
||||
return value.high;
|
||||
};
|
||||
|
||||
global.i64_add = function(left: I64, right: I64): I64 {
|
||||
return left.add(right);
|
||||
};
|
||||
|
||||
global.i64_sub = function(left: I64, right: I64): I64 {
|
||||
return left.sub(right);
|
||||
};
|
||||
|
||||
global.i64_mul = function(left: I64, right: I64): I64 {
|
||||
return left.mul(right);
|
||||
};
|
||||
|
||||
global.i64_div = function(left: I64, right: I64): I64 {
|
||||
return left.div(right);
|
||||
};
|
||||
|
||||
global.i64_div_u = function(left: I64, right: I64): I64 {
|
||||
return left.toUnsigned().div(right.toUnsigned()).toSigned();
|
||||
};
|
||||
|
||||
global.i64_rem = function(left: I64, right: I64): I64 {
|
||||
return left.mod(right);
|
||||
};
|
||||
|
||||
global.i64_rem_u = function(left: I64, right: I64): I64 {
|
||||
return left.toUnsigned().mod(right.toUnsigned()).toSigned();
|
||||
};
|
||||
|
||||
global.i64_and = function(left: I64, right: I64): I64 {
|
||||
return left.and(right);
|
||||
};
|
||||
|
||||
global.i64_or = function(left: I64, right: I64): I64 {
|
||||
return left.or(right);
|
||||
};
|
||||
|
||||
global.i64_xor = function(left: I64, right: I64): I64 {
|
||||
return left.xor(right);
|
||||
};
|
||||
|
||||
global.i64_shl = function(left: I64, right: I64): I64 {
|
||||
return left.shl(right);
|
||||
};
|
||||
|
||||
global.i64_shr = function(left: I64, right: I64): I64 {
|
||||
return left.shr(right);
|
||||
};
|
||||
|
||||
global.i64_shr_u = function(left: I64, right: I64): I64 {
|
||||
return left.shru(right);
|
||||
};
|
||||
|
||||
global.i64_not = function(value: I64): I64 {
|
||||
return value.not();
|
||||
};
|
||||
|
||||
global.i64_align = function(value: I64, alignment: i32): I64 {
|
||||
assert(alignment && (alignment & (alignment - 1)) == 0);
|
||||
var mask = Long.fromInt(alignment - 1);
|
||||
return value.add(mask).and(mask.not());
|
||||
};
|
||||
|
||||
global.i64_is_i8 = function(value: I64): bool {
|
||||
return value.high === 0 && (value.low >= 0 && value.low <= i8.MAX_VALUE)
|
||||
|| value.high === -1 && (value.low >= i8.MIN_VALUE && value.low < 0);
|
||||
};
|
||||
|
||||
global.i64_is_i16 = function(value: I64): bool {
|
||||
return value.high === 0 && (value.low >= 0 && value.low <= i16.MAX_VALUE)
|
||||
|| value.high === -1 && (value.low >= i16.MIN_VALUE && value.low < 0);
|
||||
};
|
||||
|
||||
global.i64_is_i32 = function(value: I64): bool {
|
||||
return (value.high === 0 && value.low >= 0) || (value.high === -1 && value.low < 0);
|
||||
};
|
||||
|
||||
global.i64_is_u8 = function(value: I64): bool {
|
||||
return value.high === 0 && value.low >= 0 && value.low <= u8.MAX_VALUE;
|
||||
};
|
||||
|
||||
global.i64_is_u16 = function(value: I64): bool {
|
||||
return value.high === 0 && value.low >= 0 && value.low <= u16.MAX_VALUE;
|
||||
};
|
||||
|
||||
global.i64_is_u32 = function(value: I64): bool {
|
||||
return value.high === 0;
|
||||
};
|
||||
|
||||
global.i64_is_bool = function(value: I64): bool {
|
||||
return value.high === 0 && (value.low === 0 || value.low === 1);
|
||||
};
|
||||
|
||||
const minSafeF32 = Long.fromNumber(f32.MIN_SAFE_INTEGER);
|
||||
const maxSafeF32 = Long.fromNumber(f32.MAX_SAFE_INTEGER);
|
||||
|
||||
global.i64_is_f32 = function(value: I64): bool {
|
||||
return value.gte(minSafeF32) && value.lte(maxSafeF32);
|
||||
};
|
||||
|
||||
const minSafeF64 = Long.fromNumber(f64.MIN_SAFE_INTEGER);
|
||||
const maxSafeF64 = Long.fromNumber(f64.MAX_SAFE_INTEGER);
|
||||
|
||||
global.i64_is_f64 = function(value: I64): bool {
|
||||
return value.gte(minSafeF64) && value.lte(maxSafeF64);
|
||||
};
|
||||
|
||||
global.i64_to_f32 = function(value: I64): f64 {
|
||||
return global.Math.fround(value.toNumber());
|
||||
};
|
||||
|
||||
global.i64_to_f64 = function(value: I64): f64 {
|
||||
return value.toNumber();
|
||||
};
|
||||
|
||||
global.i64_to_string = function(value: I64, unsigned: bool = false): string {
|
||||
return (unsigned ? value.toUnsigned() : value).toString(10);
|
||||
};
|
164
src/glue/wasm/index.ts
Normal file
164
src/glue/wasm/index.ts
Normal file
@ -0,0 +1,164 @@
|
||||
type I64 = i64;
|
||||
|
||||
@global
|
||||
function i64_new(lo: i32, hi: i32 = 0): I64 {
|
||||
return lo | (hi << 32);
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_low(value: I64): i32 {
|
||||
return <i32>value;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_high(value: I64): i32 {
|
||||
return <i32>(value >>> 32);
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_add(left: I64, right: I64): I64 {
|
||||
return left + right;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_sub(left: I64, right: I64): I64 {
|
||||
return left - right;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_mul(left: I64, right: I64): I64 {
|
||||
return left * right;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_div(left: I64, right: I64): I64 {
|
||||
return left / right;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_div_u(left: I64, right: I64): I64 {
|
||||
return <u64>left / <u64>right;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_rem(left: I64, right: I64): I64 {
|
||||
return left % right;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_rem_u(left: I64, right: I64): I64 {
|
||||
return <u64>left % <u64>right;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_and(left: I64, right: I64): I64 {
|
||||
return left & right;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_or(left: I64, right: I64): I64 {
|
||||
return left | right;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_xor(left: I64, right: I64): I64 {
|
||||
return left ^ right;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_shl(left: I64, right: I64): I64 {
|
||||
return left << right;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_shr(left: I64, right: I64): I64 {
|
||||
return left >> right;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_shr_u(left: I64, right: I64): I64 {
|
||||
return left >>> right;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_not(value: I64): I64 {
|
||||
return ~value;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_align(value: I64, alignment: i64): I64 {
|
||||
var mask: i64 = alignment - 1;
|
||||
assert(alignment && (alignment & mask) == 0);
|
||||
return (value + mask) & ~mask;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_is_i8(value: I64): bool {
|
||||
return value >= i8.MIN_VALUE && value <= i8.MAX_VALUE;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_is_i16(value: I64): bool {
|
||||
return value >= i16.MIN_VALUE && value <= i16.MAX_VALUE;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_is_i32(value: I64): bool {
|
||||
return value >= i32.MIN_VALUE && value <= i32.MAX_VALUE;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_is_u8(value: I64): bool {
|
||||
return value >= 0 && value <= u8.MAX_VALUE;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_is_u16(value: I64): bool {
|
||||
return value >= 0 && value <= u16.MAX_VALUE;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_is_u32(value: I64): bool {
|
||||
return value >= 0 && value <= u32.MAX_VALUE;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_is_bool(value: I64): bool {
|
||||
return value === 0 || value === 1;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_is_f32(value: I64): bool {
|
||||
return value >= f32.MIN_SAFE_INTEGER && value <= f32.MAX_SAFE_INTEGER;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_is_f64(value: I64): bool {
|
||||
return value >= f64.MIN_SAFE_INTEGER && value <= f64.MAX_SAFE_INTEGER;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_to_f32(value: I64): f32 {
|
||||
return <f32>value;
|
||||
}
|
||||
|
||||
@global
|
||||
function i64_to_f64(value: I64): f64 {
|
||||
return <f64>value;
|
||||
}
|
||||
|
||||
import { CharCode } from "../../util/charcode";
|
||||
|
||||
@global
|
||||
function i64_to_string(value: I64): string {
|
||||
var chars = new Array<u16>();
|
||||
if (value < 0) {
|
||||
chars.push(CharCode.MINUS);
|
||||
value = -value;
|
||||
}
|
||||
do {
|
||||
chars.push(CharCode._0 + (value % 10));
|
||||
value /= 10;
|
||||
} while (value);
|
||||
return String.fromCharCodes(chars);
|
||||
}
|
6
src/glue/wasm/tsconfig.json
Normal file
6
src/glue/wasm/tsconfig.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"extends": "../../../std/assembly.json",
|
||||
"include": [
|
||||
"./**/*.ts"
|
||||
]
|
||||
}
|
@ -2,10 +2,6 @@ import {
|
||||
Target
|
||||
} from "./compiler";
|
||||
|
||||
import {
|
||||
U64
|
||||
} from "./util/i64";
|
||||
|
||||
export type ModuleRef = usize;
|
||||
export type FunctionTypeRef = usize;
|
||||
export type FunctionRef = usize;
|
||||
@ -225,9 +221,9 @@ export enum AtomicRMWOp {
|
||||
export class MemorySegment {
|
||||
|
||||
buffer: Uint8Array;
|
||||
offset: U64;
|
||||
offset: I64;
|
||||
|
||||
static create(buffer: Uint8Array, offset: U64) {
|
||||
static create(buffer: Uint8Array, offset: I64) {
|
||||
var segment = new MemorySegment();
|
||||
segment.buffer = buffer;
|
||||
segment.offset = offset;
|
||||
@ -641,8 +637,8 @@ export class Module {
|
||||
var offset = segments[i].offset;
|
||||
segs[i] = allocU8Array(buffer);
|
||||
offs[i] = target == Target.WASM64
|
||||
? this.createI64(offset.lo, offset.hi)
|
||||
: this.createI32(offset.toI32());
|
||||
? this.createI64(i64_low(offset), i64_high(offset))
|
||||
: this.createI32(i64_low(offset));
|
||||
sizs[i] = buffer.length;
|
||||
}
|
||||
var cArr1 = allocI32Array(segs);
|
||||
@ -747,8 +743,11 @@ export class Module {
|
||||
}
|
||||
|
||||
toText(): string {
|
||||
// FIXME: target specific / JS glue overrides this
|
||||
throw new Error("not implemented");
|
||||
throw new Error("not implemented"); // JS glue overrides this
|
||||
}
|
||||
|
||||
toAsmjs(): string {
|
||||
throw new Error("not implemented"); // JS glue overrides this
|
||||
}
|
||||
|
||||
dispose(): void {
|
||||
|
@ -23,10 +23,6 @@ import {
|
||||
DiagnosticEmitter
|
||||
} from "./diagnostics";
|
||||
|
||||
import {
|
||||
I64
|
||||
} from "./util/i64";
|
||||
|
||||
import {
|
||||
normalize as normalizePath
|
||||
} from "./util/path";
|
||||
|
@ -13,10 +13,6 @@ import {
|
||||
typesToString
|
||||
} from "./types";
|
||||
|
||||
import {
|
||||
I64
|
||||
} from "./util/i64";
|
||||
|
||||
import {
|
||||
ModifierKind,
|
||||
Node,
|
||||
@ -1446,6 +1442,12 @@ export class EnumValue extends Element {
|
||||
}
|
||||
}
|
||||
|
||||
export const enum ConstantValueKind {
|
||||
NONE,
|
||||
INTEGER,
|
||||
FLOAT
|
||||
}
|
||||
|
||||
export class VariableLikeElement extends Element {
|
||||
|
||||
// kind varies
|
||||
@ -1454,18 +1456,22 @@ export class VariableLikeElement extends Element {
|
||||
declaration: VariableLikeDeclarationStatement;
|
||||
/** Variable type. Is {@link Type.void} for type-inferred {@link Global}s before compilation. */
|
||||
type: Type;
|
||||
/** Constant value kind. */
|
||||
constantValueKind: ConstantValueKind = ConstantValueKind.NONE;
|
||||
/** Constant integer value, if applicable. */
|
||||
constantIntegerValue: I64 | null = null;
|
||||
constantIntegerValue: I64;
|
||||
/** Constant float value, if applicable. */
|
||||
constantFloatValue: f64 = 0;
|
||||
constantFloatValue: f64;
|
||||
|
||||
withConstantIntegerValue(lo: i32, hi: i32): this {
|
||||
this.constantIntegerValue = new I64(lo, hi);
|
||||
this.constantValueKind = ConstantValueKind.INTEGER;
|
||||
this.constantIntegerValue = i64_new(lo, hi);
|
||||
this.set(ElementFlags.CONSTANT | ElementFlags.INLINED);
|
||||
return this;
|
||||
}
|
||||
|
||||
withConstantFloatValue(value: f64): this {
|
||||
this.constantValueKind = ConstantValueKind.FLOAT;
|
||||
this.constantFloatValue = value;
|
||||
this.set(ElementFlags.CONSTANT | ElementFlags.INLINED);
|
||||
return this;
|
||||
|
@ -39,10 +39,6 @@ import {
|
||||
isKeywordCharacter
|
||||
} from "./util/charcode";
|
||||
|
||||
import {
|
||||
I64
|
||||
} from "./util/i64";
|
||||
|
||||
/** Named token types. */
|
||||
export enum Token {
|
||||
|
||||
@ -993,21 +989,19 @@ export class Tokenizer extends DiagnosticEmitter {
|
||||
readHexInteger(): I64 {
|
||||
var text = this.source.text;
|
||||
var start = this.pos;
|
||||
var value = new I64(0, 0);
|
||||
var value = i64_new(0, 0);
|
||||
var i64_16 = i64_new(16, 0);
|
||||
while (this.pos < this.end) {
|
||||
var c = text.charCodeAt(this.pos);
|
||||
if (c >= CharCode._0 && c <= CharCode._9) {
|
||||
// value = value * 16 + c - CharCode._0;
|
||||
value.mul32(16);
|
||||
value.add32(c - CharCode._0);
|
||||
} else if (c >= CharCode.A && c <= CharCode.F) {
|
||||
value = i64_add(i64_mul(value, i64_16), i64_new(c - CharCode._0, 0));
|
||||
} else if (c >= CharCode.A && c <= CharCode.F) {
|
||||
// value = value * 16 + 10 + c - CharCode.A;
|
||||
value.mul32(16);
|
||||
value.add32(10 + c - CharCode.A);
|
||||
value = i64_add(i64_mul(value, i64_16), i64_new(10 + c - CharCode.A, 0));
|
||||
} else if (c >= CharCode.a && c <= CharCode.f) {
|
||||
// value = value * 16 + 10 + c - CharCode.a;
|
||||
value.mul32(16);
|
||||
value.add32(10 + c - CharCode.a);
|
||||
value = i64_add(i64_mul(value, i64_16), i64_new(10 + c - CharCode.a, 0));
|
||||
} else
|
||||
break;
|
||||
++this.pos;
|
||||
@ -1020,13 +1014,13 @@ export class Tokenizer extends DiagnosticEmitter {
|
||||
readDecimalInteger(): I64 {
|
||||
var text = this.source.text;
|
||||
var start = this.pos;
|
||||
var value = new I64(0, 0);
|
||||
var value = i64_new(0, 0);
|
||||
var i64_10 = i64_new(10, 0);
|
||||
while (this.pos < this.end) {
|
||||
var c = text.charCodeAt(this.pos);
|
||||
if (c >= CharCode._0 && c <= CharCode._9) {
|
||||
// value = value * 10 + c - CharCode._0;
|
||||
value.mul32(10);
|
||||
value.add32(c - CharCode._0);
|
||||
value = i64_add(i64_mul(value, i64_10), i64_new(c - CharCode._0, 0));
|
||||
} else
|
||||
break;
|
||||
++this.pos;
|
||||
@ -1039,13 +1033,13 @@ export class Tokenizer extends DiagnosticEmitter {
|
||||
readOctalInteger(): I64 {
|
||||
var text = this.source.text;
|
||||
var start = this.pos;
|
||||
var value = new I64(0, 0);
|
||||
var value = i64_new(0, 0);
|
||||
var i64_8 = i64_new(8, 0);
|
||||
while (this.pos < this.end) {
|
||||
var c = text.charCodeAt(this.pos);
|
||||
if (c >= CharCode._0 && c <= CharCode._7) {
|
||||
// value = value * 8 + c - CharCode._0;
|
||||
value.mul32(8);
|
||||
value.add32(c - CharCode._0);
|
||||
value = i64_add(i64_mul(value, i64_8), i64_new(c - CharCode._0, 0));
|
||||
} else
|
||||
break;
|
||||
++this.pos;
|
||||
@ -1058,18 +1052,18 @@ export class Tokenizer extends DiagnosticEmitter {
|
||||
readBinaryInteger(): I64 {
|
||||
var text = this.source.text;
|
||||
var start = this.pos;
|
||||
var value = new I64();
|
||||
var value = i64_new(0, 0);
|
||||
var i64_2 = i64_new(2, 0);
|
||||
var i64_1 = i64_new(1, 0);
|
||||
while (this.pos < this.end) {
|
||||
var c = text.charCodeAt(this.pos);
|
||||
if (c == CharCode._0) {
|
||||
// value = value * 2;
|
||||
value.mul32(2);
|
||||
value = i64_mul(value, i64_2);
|
||||
} else if (c == CharCode._1) {
|
||||
// value = value * 2 + 1;
|
||||
value.mul32(2);
|
||||
value.add32(1);
|
||||
}
|
||||
else
|
||||
value = i64_add(i64_mul(value, i64_2), i64_1);
|
||||
} else
|
||||
break;
|
||||
++this.pos;
|
||||
}
|
||||
@ -1129,14 +1123,15 @@ export class Tokenizer extends DiagnosticEmitter {
|
||||
private readExtendedUnicodeEscape(): string {
|
||||
var start = this.pos;
|
||||
var value = this.readHexInteger();
|
||||
var value32 = i64_low(value);
|
||||
var invalid = false;
|
||||
|
||||
if (value.gt32(0x10FFFF)) {
|
||||
assert(!i64_high(value));
|
||||
if (value32 > 0x10FFFF) {
|
||||
this.error(DiagnosticCode.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive, this.range(start, this.pos));
|
||||
invalid = true;
|
||||
}
|
||||
|
||||
var value32 = value.toI32();
|
||||
var text = this.source.text;
|
||||
if (this.pos >= this.end) {
|
||||
this.error(DiagnosticCode.Unexpected_end_of_text, this.range(start, this.end));
|
||||
|
@ -8,6 +8,7 @@
|
||||
"./**/*.ts"
|
||||
],
|
||||
"exclude": [
|
||||
"./extra/**"
|
||||
"./extra/**",
|
||||
"./glue/wasm/**"
|
||||
]
|
||||
}
|
||||
|
537
src/util/i64.ts
537
src/util/i64.ts
@ -1,537 +0,0 @@
|
||||
/*
|
||||
|
||||
To remain compatible with TSC / compiling to JS, we have to emulate I64s in a
|
||||
portable way. The following is based on long.js with the main difference being
|
||||
that instances are mutable and operations affect 'this'. In our scenario,
|
||||
that's useful because it's mostly used for constant evaluation and we are
|
||||
exclusively interested in the result (saves a heap of allocations).
|
||||
|
||||
*/
|
||||
|
||||
// TODO: div/mod
|
||||
// another option is to use a wasm-based polyfill, see examples/i64-polyfill.
|
||||
|
||||
const I64_MIN_LO: i32 = 0;
|
||||
const I64_MIN_HI: i32 = 0x80000000 | 0;
|
||||
|
||||
export class I64 {
|
||||
|
||||
lo: i32;
|
||||
hi: i32;
|
||||
|
||||
static fromI32(n: i32): I64 {
|
||||
return new I64(n, n < 0 ? -1 : 0);
|
||||
}
|
||||
|
||||
constructor(lo: i32 = 0, hi: i32 = 0) {
|
||||
this.lo = lo;
|
||||
this.hi = hi;
|
||||
}
|
||||
|
||||
get isZero(): bool {
|
||||
return this.lo == 0 && this.hi == 0;
|
||||
}
|
||||
|
||||
get isOne(): bool {
|
||||
return this.lo == 1 && this.hi == 0;
|
||||
}
|
||||
|
||||
get isPositive(): bool {
|
||||
return this.hi >= 0;
|
||||
}
|
||||
|
||||
get isNegative(): bool {
|
||||
return this.hi < 0;
|
||||
}
|
||||
|
||||
get isOdd(): bool {
|
||||
return (this.lo & 1) == 1;
|
||||
}
|
||||
|
||||
get isEven(): bool {
|
||||
return (this.lo & 1) == 0;
|
||||
}
|
||||
|
||||
get fitsInI32(): bool {
|
||||
return this.hi == 0 || (this.hi == -1 && this.lo < 0);
|
||||
}
|
||||
|
||||
toI32(): i32 {
|
||||
return this.lo;
|
||||
}
|
||||
|
||||
toF64(): f64 {
|
||||
return <f64>this.hi * 0x100000000 + <f64>(this.lo >>> 0);
|
||||
}
|
||||
|
||||
eq(other: I64): bool {
|
||||
return this.eq32(other.lo, other.hi);
|
||||
}
|
||||
|
||||
eq32(lo: i32, hi: i32 = 0): bool {
|
||||
return this.lo == lo && this.hi == hi;
|
||||
}
|
||||
|
||||
ne(other: I64): bool {
|
||||
return this.ne32(other.lo, other.hi);
|
||||
}
|
||||
|
||||
ne32(lo: i32, hi: i32 = 0): bool {
|
||||
return this.lo != lo || this.hi != hi;
|
||||
}
|
||||
|
||||
neg(): void {
|
||||
this.lo = ~this.lo;
|
||||
this.hi = ~this.hi;
|
||||
this.add32(1, 0);
|
||||
}
|
||||
|
||||
add(other: I64): void {
|
||||
this.add32(other.lo, other.hi);
|
||||
}
|
||||
|
||||
add32(lo: i32, hi: i32 = 0): void {
|
||||
i64_add_internal(this.lo, this.hi, lo, hi);
|
||||
this.lo = i64_lo;
|
||||
this.hi = i64_hi;
|
||||
}
|
||||
|
||||
sub(other: I64): void {
|
||||
this.sub32(other.lo, other.hi);
|
||||
}
|
||||
|
||||
sub32(lo: i32, hi: i32 = 0): void {
|
||||
i64_add_internal(~lo, ~hi, 1, 0);
|
||||
this.add32(i64_lo, i64_hi);
|
||||
}
|
||||
|
||||
comp(other: I64): i32 {
|
||||
return this.comp32(other.lo, other.hi);
|
||||
}
|
||||
|
||||
comp32(lo: i32, hi: i32 = 0): i32 {
|
||||
if (this.lo == lo && this.hi == hi)
|
||||
return 0;
|
||||
if (this.hi < 0 && hi >= 0)
|
||||
return -1;
|
||||
if (this.hi >= 0 && hi < 0)
|
||||
return 1;
|
||||
i64_add_internal(~lo, ~hi, 1, 0);
|
||||
i64_add_internal(this.lo, this.hi, i64_lo, i64_hi);
|
||||
return i64_hi < 0 ? -1 : 1;
|
||||
}
|
||||
|
||||
lt(other: I64): bool {
|
||||
return this.lt32(other.lo, other.hi);
|
||||
}
|
||||
|
||||
lt32(lo: i32, hi: i32 = 0): bool {
|
||||
return this.comp32(lo, hi) < 0;
|
||||
}
|
||||
|
||||
lte(other: I64): bool {
|
||||
return this.lte32(other.lo, other.hi);
|
||||
}
|
||||
|
||||
lte32(lo: i32, hi: i32 = 0): bool {
|
||||
return this.comp32(lo, hi) <= 0;
|
||||
}
|
||||
|
||||
gt(other: I64): bool {
|
||||
return this.gt32(other.lo, other.hi);
|
||||
}
|
||||
|
||||
gt32(lo: i32, hi: i32 = 0): bool {
|
||||
return this.comp32(lo, hi) > 0;
|
||||
}
|
||||
|
||||
gte(other: I64): bool {
|
||||
return this.gte32(other.lo, other.hi);
|
||||
}
|
||||
|
||||
gte32(lo: i32, hi: i32 = 0): bool {
|
||||
return this.comp32(lo, hi) >= 0;
|
||||
}
|
||||
|
||||
mul(other: I64): void {
|
||||
this.mul32(other.lo, other.hi);
|
||||
}
|
||||
|
||||
mul32(lo: i32, hi: i32 = 0): void {
|
||||
if (this.lo == 0 && this.hi == 0)
|
||||
return;
|
||||
|
||||
if (lo == 0 && hi == 0) {
|
||||
this.lo = 0;
|
||||
this.hi = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
// this == MIN
|
||||
if (this.lo == I64_MIN_LO && this.hi == I64_MIN_HI) {
|
||||
this.lo = 0; // == MIN_LO
|
||||
this.hi = lo & 1 ? I64_MIN_HI : 0; // other.isOdd ? this = MIN : this = ZERO
|
||||
return;
|
||||
}
|
||||
|
||||
// other == MIN
|
||||
if (lo == I64_MIN_LO && hi == I64_MIN_HI) {
|
||||
this.hi = this.lo & 1 ? I64_MIN_HI : 0; // this.isOdd ? this = MIN : this = ZERO
|
||||
this.lo = 0; // == MIN_LO
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.hi < 0) {
|
||||
this.neg();
|
||||
|
||||
// both negative: negate both and multiply
|
||||
if (hi < 0) {
|
||||
i64_add_internal(~lo, ~hi, 1, 0);
|
||||
i64_mul_internal(this.lo, this.hi, i64_lo, i64_hi);
|
||||
this.lo = i64_lo;
|
||||
this.hi = i64_hi;
|
||||
|
||||
// this negative: negate this, multiply and negate result
|
||||
} else {
|
||||
i64_mul_internal(this.lo, this.hi, lo, hi);
|
||||
this.lo = i64_lo;
|
||||
this.hi = i64_hi;
|
||||
this.neg();
|
||||
}
|
||||
return;
|
||||
|
||||
// other negative: negate other, multiply and negate result
|
||||
} else if (hi < 0) {
|
||||
i64_add_internal(~lo, ~hi, 1, 0);
|
||||
i64_mul_internal(this.lo, this.hi, i64_lo, i64_hi);
|
||||
this.lo = i64_lo;
|
||||
this.hi = i64_hi;
|
||||
this.neg();
|
||||
return;
|
||||
}
|
||||
|
||||
// both positive
|
||||
i64_mul_internal(this.lo, this.hi, lo, hi);
|
||||
this.lo = i64_lo;
|
||||
this.hi = i64_hi;
|
||||
}
|
||||
|
||||
div(other: I64): void {
|
||||
this.div32(other.lo, other.hi);
|
||||
}
|
||||
|
||||
div32(lo: i32, hi: i32 = 0): void {
|
||||
// other == 0
|
||||
if (lo == 0 && hi == 0)
|
||||
throw new Error("division by zero");
|
||||
|
||||
// this == 0
|
||||
if (this.lo == 0 && this.hi == 0)
|
||||
return;
|
||||
|
||||
// this == MIN
|
||||
if (this.lo == I64_MIN_LO && this.hi == I64_MIN_HI) {
|
||||
|
||||
// other == 1 or -1
|
||||
if (lo == 1 && hi == 0 || lo == -1 && hi == -1) // -MIN == MIN
|
||||
return;
|
||||
|
||||
// both == MIN
|
||||
if (lo == I64_MIN_LO && hi == I64_MIN_HI) {
|
||||
this.lo = 1;
|
||||
this.hi = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
// |other| >= 2, so |this/other| < |MIN_VALUE|
|
||||
var tempLo = this.lo;
|
||||
var tempHi = this.hi;
|
||||
this.shr32(1, 0);
|
||||
this.div32(lo, hi);
|
||||
this.shl32(1, 0);
|
||||
if (this.lo == 0 && this.hi == 0) {
|
||||
if (hi < 0) {
|
||||
this.lo = 1;
|
||||
this.hi = 0;
|
||||
} else {
|
||||
this.lo = -1;
|
||||
this.hi = -1;
|
||||
}
|
||||
return;
|
||||
}
|
||||
i64_mul_internal(lo, hi, this.lo, this.hi);
|
||||
this.lo = tempLo;
|
||||
this.hi = tempHi;
|
||||
tempLo = i64_lo;
|
||||
tempHi = i64_hi;
|
||||
this.div32(lo, hi);
|
||||
this.sub32(i64_lo, i64_hi);
|
||||
i64_add_internal(tempLo, tempHi, this.lo, this.hi);
|
||||
this.lo = i64_lo;
|
||||
this.hi = i64_hi;
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.hi < 0) {
|
||||
this.neg();
|
||||
|
||||
// both negative: negate both and divide
|
||||
if (hi < 0) {
|
||||
i64_add_internal(~lo, ~hi, 1, 0);
|
||||
i64_div_internal(this.lo, this.hi, i64_lo, i64_hi);
|
||||
this.lo = i64_lo;
|
||||
this.hi = i64_hi;
|
||||
|
||||
// this negative: negate this, divide and negate result
|
||||
} else {
|
||||
i64_div_internal(this.lo, this.hi, lo, hi);
|
||||
this.lo = i64_lo;
|
||||
this.hi = i64_hi;
|
||||
this.neg();
|
||||
}
|
||||
return;
|
||||
|
||||
// other negative: negate other, divide and negate result
|
||||
} else if (hi < 0) {
|
||||
i64_add_internal(~lo, ~hi, 1, 0);
|
||||
i64_div_internal(this.lo, this.hi, i64_lo, i64_hi);
|
||||
this.lo = i64_lo;
|
||||
this.hi = i64_hi;
|
||||
this.neg();
|
||||
return;
|
||||
}
|
||||
|
||||
// both positive
|
||||
i64_div_internal(this.lo, this.hi, lo, hi);
|
||||
this.lo = i64_lo;
|
||||
this.hi = i64_hi;
|
||||
}
|
||||
|
||||
mod(other: I64): void {
|
||||
this.mod32(other.lo, other.hi);
|
||||
}
|
||||
|
||||
mod32(lo: i32, hi: i32 = 0): void {
|
||||
var thisLo = this.lo;
|
||||
var thisHi = this.hi;
|
||||
this.div32(lo, hi);
|
||||
this.mul32(lo, hi);
|
||||
var resLo = this.lo;
|
||||
var resHi = this.hi;
|
||||
this.lo = thisLo;
|
||||
this.hi = thisHi;
|
||||
this.sub32(resLo, resHi);
|
||||
}
|
||||
|
||||
not(): void {
|
||||
this.lo = ~this.lo;
|
||||
this.hi = ~this.hi;
|
||||
}
|
||||
|
||||
and(other: I64): void {
|
||||
this.and32(other.lo, other.hi);
|
||||
}
|
||||
|
||||
and32(lo: i32, hi: i32 = 0): void {
|
||||
this.lo &= lo;
|
||||
this.hi &= hi;
|
||||
}
|
||||
|
||||
or(other: I64): void {
|
||||
this.or32(other.lo, other.hi);
|
||||
}
|
||||
|
||||
or32(lo: i32, hi: i32 = 0): void {
|
||||
this.lo |= lo;
|
||||
this.hi |= hi;
|
||||
}
|
||||
|
||||
xor(other: I64): void {
|
||||
this.xor32(other.lo, other.hi);
|
||||
}
|
||||
|
||||
xor32(lo: i32, hi: i32 = 0): void {
|
||||
this.lo ^= lo;
|
||||
this.hi ^= hi;
|
||||
}
|
||||
|
||||
shl(other: I64): void {
|
||||
this.shl32(other.lo, other.hi);
|
||||
}
|
||||
|
||||
shl32(lo: i32, hi: i32 = 0): void {
|
||||
if ((lo &= 63) == 0)
|
||||
return;
|
||||
if (lo < 32) {
|
||||
this.hi = (this.hi << lo) | (this.lo >>> (32 - lo));
|
||||
this.lo = this.lo << lo;
|
||||
} else {
|
||||
this.hi = this.lo << (lo - 32);
|
||||
this.lo = 0;
|
||||
}
|
||||
}
|
||||
|
||||
shr(other: I64): void {
|
||||
this.shr32(other.lo, other.hi);
|
||||
}
|
||||
|
||||
shr32(lo: i32, hi: i32 = 0): void {
|
||||
if ((lo &= 63) == 0)
|
||||
return;
|
||||
if (lo < 32) {
|
||||
this.lo = (this.lo >>> lo) | (this.hi << (32 - lo));
|
||||
this.hi = this.hi >> lo;
|
||||
} else {
|
||||
this.lo = this.hi >> (lo - 32);
|
||||
this.hi = this.hi >= 0 ? 0 : -1;
|
||||
}
|
||||
}
|
||||
|
||||
shru(other: I64): void {
|
||||
this.shru32(other.lo, other.hi);
|
||||
}
|
||||
|
||||
shru32(lo: i32, hi: i32 = 0): void {
|
||||
if ((lo &= 63) == 0)
|
||||
return;
|
||||
if (lo < 32) {
|
||||
this.lo = (this.lo >>> lo) | (this.hi << (32 - lo));
|
||||
this.hi = (this.hi >>> lo) | 0;
|
||||
} else if (lo == 32) {
|
||||
this.lo = this.hi;
|
||||
this.hi = 0;
|
||||
} else {
|
||||
this.lo = (this.hi >>> (lo - 32)) | 0;
|
||||
this.hi = 0;
|
||||
}
|
||||
}
|
||||
|
||||
clone(): I64 {
|
||||
return new I64(this.lo, this.hi);
|
||||
}
|
||||
|
||||
toString(): string {
|
||||
var negative = false;
|
||||
if (this.hi < 0) {
|
||||
i64_add_internal(~this.lo, ~this.hi, 1, 0);
|
||||
negative = true;
|
||||
} else {
|
||||
i64_lo = this.lo;
|
||||
i64_hi = this.hi;
|
||||
}
|
||||
|
||||
if (i64_hi) {
|
||||
var lo = (i64_lo as u32 >>> 0).toString(16);
|
||||
while (lo.length < 8)
|
||||
lo = "0" + lo;
|
||||
return (negative ? "-0x" : "0x") + (i64_hi as u32 >>> 0).toString(16) + lo;
|
||||
}
|
||||
return negative ? "-" + i64_lo.toString(10) : i64_lo.toString(10);
|
||||
}
|
||||
}
|
||||
|
||||
var i64_lo = 0;
|
||||
var i64_hi = 0;
|
||||
|
||||
function i64_add_internal(lo: i32, hi: i32, otherLo: i32, otherHi: i32): void {
|
||||
var a48 = hi >>> 16;
|
||||
var a32 = hi & 0xFFFF;
|
||||
var a16 = lo >>> 16;
|
||||
var a00 = lo & 0xFFFF;
|
||||
|
||||
var b48 = otherHi >>> 16;
|
||||
var b32 = otherHi & 0xFFFF;
|
||||
var b16 = otherLo >>> 16;
|
||||
var b00 = otherLo & 0xFFFF;
|
||||
|
||||
var c48 = 0, c32 = 0, c16 = 0, c00 = 0;
|
||||
c00 += a00 + b00;
|
||||
c16 += c00 >>> 16;
|
||||
c00 &= 0xFFFF;
|
||||
c16 += a16 + b16;
|
||||
c32 += c16 >>> 16;
|
||||
c16 &= 0xFFFF;
|
||||
c32 += a32 + b32;
|
||||
c48 += c32 >>> 16;
|
||||
c32 &= 0xFFFF;
|
||||
c48 += a48 + b48;
|
||||
c48 &= 0xFFFF;
|
||||
|
||||
i64_lo = (c16 << 16) | c00;
|
||||
i64_hi = (c48 << 16) | c32;
|
||||
}
|
||||
|
||||
function i64_mul_internal(lo: i32, hi: i32, otherLo: i32, otherHi: i32): void {
|
||||
var a48 = hi >>> 16;
|
||||
var a32 = hi & 0xFFFF;
|
||||
var a16 = lo >>> 16;
|
||||
var a00 = lo & 0xFFFF;
|
||||
|
||||
var b48 = otherHi >>> 16;
|
||||
var b32 = otherHi & 0xFFFF;
|
||||
var b16 = otherLo >>> 16;
|
||||
var b00 = otherLo & 0xFFFF;
|
||||
|
||||
var c48 = 0, c32 = 0, c16 = 0, c00 = 0;
|
||||
c00 += a00 * b00;
|
||||
c16 += c00 >>> 16;
|
||||
c00 &= 0xFFFF;
|
||||
c16 += a16 * b00;
|
||||
c32 += c16 >>> 16;
|
||||
c16 &= 0xFFFF;
|
||||
c16 += a00 * b16;
|
||||
c32 += c16 >>> 16;
|
||||
c16 &= 0xFFFF;
|
||||
c32 += a32 * b00;
|
||||
c48 += c32 >>> 16;
|
||||
c32 &= 0xFFFF;
|
||||
c32 += a16 * b16;
|
||||
c48 += c32 >>> 16;
|
||||
c32 &= 0xFFFF;
|
||||
c32 += a00 * b32;
|
||||
c48 += c32 >>> 16;
|
||||
c32 &= 0xFFFF;
|
||||
c48 += a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48;
|
||||
c48 &= 0xFFFF;
|
||||
|
||||
i64_lo = (c16 << 16) | c00;
|
||||
i64_hi = (c48 << 16) | c32;
|
||||
}
|
||||
|
||||
function i64_div_internal(lo: i32, hi: i32, otherLo: i32, otherHi: i32): void {
|
||||
throw new Error("not implemented");
|
||||
}
|
||||
|
||||
export class U64 extends I64 {
|
||||
|
||||
static fromI32(n: i32): U64 {
|
||||
return new U64(n, 0);
|
||||
}
|
||||
|
||||
get isPositive(): bool {
|
||||
return true;
|
||||
}
|
||||
|
||||
get isNegative(): bool {
|
||||
return false;
|
||||
}
|
||||
|
||||
get fitsInU32(): bool {
|
||||
return this.hi == 0;
|
||||
}
|
||||
|
||||
comp32(lo: i32, hi: i32): i32 {
|
||||
// uses both a cast and a js-like shift for portability
|
||||
return ((hi as u32 >>> 0) > (this.hi as u32 >>> 0)) || (hi == this.hi && (lo as u32 >>> 0) > (this.lo as u32 >>> 0)) ? -1 : 1;
|
||||
}
|
||||
|
||||
neg(): void {
|
||||
this.lo = ~this.lo;
|
||||
this.hi = ~this.hi;
|
||||
this.add32(1, 0);
|
||||
}
|
||||
|
||||
clone(): U64 {
|
||||
return new U64(this.lo, this.hi);
|
||||
}
|
||||
}
|
@ -217,7 +217,7 @@ export function set_memory(dest: usize, c: u8, n: usize): void {
|
||||
n -= k;
|
||||
n &= -4;
|
||||
|
||||
var c32: u32 = (-1 / 255) * c;
|
||||
var c32: u32 = <u32>-1 / 255 * c;
|
||||
|
||||
// fill head/tail up to 28 bytes each in preparation
|
||||
store<u32>(dest, c32);
|
||||
|
@ -106,7 +106,7 @@ tests.forEach(filename => {
|
||||
}, err => {
|
||||
console.log();
|
||||
if (err)
|
||||
stderr.write(err + os.EOL);
|
||||
stderr.write(err.stack + os.EOL);
|
||||
|
||||
// Instantiate
|
||||
try {
|
||||
|
@ -3,8 +3,8 @@
|
||||
(type $v (func))
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\t\00\00\00a\00s\00s\00e\00r\00t\00.\00t\00s")
|
||||
(data (i32.const 32) "\0c\00\00\00m\00u\00s\00t\00 \00b\00e\00 \00t\00r\00u\00e")
|
||||
(data (i32.const 4) "\t\00\00\00a\00s\00s\00e\00r\00t\00.\00t\00s")
|
||||
(data (i32.const 28) "\0c\00\00\00m\00u\00s\00t\00 \00b\00e\00 \00t\00r\00u\00e")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $start (; 1 ;) (type $v)
|
||||
@ -18,8 +18,8 @@
|
||||
(get_local $0)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 32)
|
||||
(i32.const 8)
|
||||
(i32.const 28)
|
||||
(i32.const 4)
|
||||
(i32.const 10)
|
||||
(i32.const 5)
|
||||
)
|
||||
|
@ -2,10 +2,10 @@
|
||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||
(type $v (func))
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(global $HEAP_BASE i32 (i32.const 60))
|
||||
(global $HEAP_BASE i32 (i32.const 56))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\t\00\00\00a\00s\00s\00e\00r\00t\00.\00t\00s\00")
|
||||
(data (i32.const 32) "\0c\00\00\00m\00u\00s\00t\00 \00b\00e\00 \00t\00r\00u\00e\00")
|
||||
(data (i32.const 4) "\t\00\00\00a\00s\00s\00e\00r\00t\00.\00t\00s\00")
|
||||
(data (i32.const 28) "\0c\00\00\00m\00u\00s\00t\00 \00b\00e\00 \00t\00r\00u\00e\00")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $start (; 1 ;) (type $v)
|
||||
@ -19,7 +19,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 1)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -35,7 +35,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 2)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -55,7 +55,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 3)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -72,7 +72,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 4)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -92,7 +92,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 5)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -108,7 +108,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 6)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -128,7 +128,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 7)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -150,8 +150,8 @@
|
||||
(block
|
||||
(call $abort
|
||||
;;@ assert.ts:10:18
|
||||
(i32.const 32)
|
||||
(i32.const 8)
|
||||
(i32.const 28)
|
||||
(i32.const 4)
|
||||
(i32.const 10)
|
||||
(i32.const 5)
|
||||
)
|
||||
|
@ -11,7 +11,7 @@
|
||||
(global $builtins/U (mut i64) (i64.const 0))
|
||||
(global $builtins/s (mut i32) (i32.const 0))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\0b\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s")
|
||||
(data (i32.const 4) "\0b\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s")
|
||||
(export "test" (func $builtins/test))
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
@ -77,7 +77,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 21)
|
||||
(i32.const 19)
|
||||
)
|
||||
@ -104,7 +104,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 22)
|
||||
(i32.const 20)
|
||||
)
|
||||
@ -129,7 +129,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 23)
|
||||
(i32.const 20)
|
||||
)
|
||||
@ -174,7 +174,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 39)
|
||||
(i32.const 19)
|
||||
)
|
||||
@ -203,7 +203,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 40)
|
||||
(i32.const 20)
|
||||
)
|
||||
@ -228,7 +228,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 41)
|
||||
(i32.const 20)
|
||||
)
|
||||
@ -649,7 +649,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 222)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -666,7 +666,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 223)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -692,7 +692,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 224)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -718,7 +718,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 225)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -744,7 +744,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 226)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -770,7 +770,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 227)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -798,7 +798,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 228)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -826,7 +826,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 229)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -2,9 +2,6 @@
|
||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||
(type $i (func (result i32)))
|
||||
(type $v (func))
|
||||
(type $I (func (result i64)))
|
||||
(type $f (func (result f32)))
|
||||
(type $F (func (result f64)))
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(global $builtins/b (mut i32) (i32.const 0))
|
||||
(global $builtins/i (mut i32) (i32.const 0))
|
||||
@ -15,9 +12,9 @@
|
||||
(global $builtins/u (mut i32) (i32.const 0))
|
||||
(global $builtins/U (mut i64) (i64.const 0))
|
||||
(global $builtins/s (mut i32) (i32.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 36))
|
||||
(global $HEAP_BASE i32 (i32.const 32))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\0b\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s\00")
|
||||
(data (i32.const 4) "\0b\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s\00")
|
||||
(export "test" (func $builtins/test))
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
@ -74,11 +71,7 @@
|
||||
(select
|
||||
(tee_local $0
|
||||
;;@ builtins.ts:12:9
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ builtins.ts:12:10
|
||||
(i32.const 42)
|
||||
)
|
||||
(i32.const -42)
|
||||
)
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
@ -174,11 +167,7 @@
|
||||
(select
|
||||
(tee_local $0
|
||||
;;@ builtins.ts:21:13
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ builtins.ts:21:14
|
||||
(i32.const 42)
|
||||
)
|
||||
(i32.const -42)
|
||||
)
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
@ -203,7 +192,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 21)
|
||||
(i32.const 19)
|
||||
)
|
||||
@ -241,7 +230,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 22)
|
||||
(i32.const 20)
|
||||
)
|
||||
@ -279,7 +268,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 23)
|
||||
(i32.const 20)
|
||||
)
|
||||
@ -330,11 +319,7 @@
|
||||
(select
|
||||
(tee_local $2
|
||||
;;@ builtins.ts:32:9
|
||||
(i64.sub
|
||||
(i64.const 0)
|
||||
;;@ builtins.ts:32:10
|
||||
(i64.const 42)
|
||||
)
|
||||
(i64.const -42)
|
||||
)
|
||||
(i64.sub
|
||||
(i64.const 0)
|
||||
@ -396,11 +381,7 @@
|
||||
(select
|
||||
(tee_local $2
|
||||
;;@ builtins.ts:39:13
|
||||
(i64.sub
|
||||
(i64.const 0)
|
||||
;;@ builtins.ts:39:14
|
||||
(i64.const 42)
|
||||
)
|
||||
(i64.const -42)
|
||||
)
|
||||
(i64.sub
|
||||
(i64.const 0)
|
||||
@ -425,7 +406,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 39)
|
||||
(i32.const 19)
|
||||
)
|
||||
@ -463,7 +444,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 40)
|
||||
(i32.const 20)
|
||||
)
|
||||
@ -501,7 +482,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 41)
|
||||
(i32.const 20)
|
||||
)
|
||||
@ -1636,7 +1617,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 221)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1658,7 +1639,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 222)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1680,7 +1661,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 223)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1714,7 +1695,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 224)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1748,7 +1729,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 225)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1782,7 +1763,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 226)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1816,7 +1797,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 227)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1847,7 +1828,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 228)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1878,7 +1859,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 229)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1892,13 +1873,19 @@
|
||||
(i32.eq
|
||||
(i32.const -128)
|
||||
;;@ builtins.ts:242:23
|
||||
(i32.const -128)
|
||||
(i32.shr_s
|
||||
(i32.shl
|
||||
(i32.const 128)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 242)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1918,7 +1905,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 243)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1932,13 +1919,19 @@
|
||||
(i32.eq
|
||||
(i32.const -32768)
|
||||
;;@ builtins.ts:244:24
|
||||
(i32.const -32768)
|
||||
(i32.shr_s
|
||||
(i32.shl
|
||||
(i32.const 32768)
|
||||
(i32.const 16)
|
||||
)
|
||||
(i32.const 16)
|
||||
)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 244)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1958,7 +1951,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 245)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1972,13 +1965,15 @@
|
||||
(i32.eq
|
||||
(i32.const -2147483648)
|
||||
;;@ builtins.ts:246:24
|
||||
(i32.const -2147483648)
|
||||
(i32.wrap/i64
|
||||
(i64.const 2147483648)
|
||||
)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 246)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1998,7 +1993,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 247)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2018,7 +2013,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 248)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2038,7 +2033,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 249)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2058,7 +2053,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 251)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2078,7 +2073,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 252)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2098,7 +2093,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 253)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2118,7 +2113,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 254)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2138,7 +2133,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 255)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2158,7 +2153,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 256)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2178,7 +2173,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 257)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2198,7 +2193,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 258)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2218,7 +2213,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 259)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2238,7 +2233,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 259)
|
||||
(i32.const 29)
|
||||
)
|
||||
@ -2258,7 +2253,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 260)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2278,7 +2273,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 260)
|
||||
(i32.const 29)
|
||||
)
|
||||
@ -2292,16 +2287,13 @@
|
||||
(f32.eq
|
||||
(f32.const -3402823466385288598117041e14)
|
||||
;;@ builtins.ts:262:24
|
||||
(f32.neg
|
||||
;;@ builtins.ts:262:25
|
||||
(f32.const 3402823466385288598117041e14)
|
||||
)
|
||||
(f32.const -3402823466385288598117041e14)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 262)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2321,7 +2313,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 263)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2335,16 +2327,13 @@
|
||||
(f32.eq
|
||||
(f32.const -16777215)
|
||||
;;@ builtins.ts:264:31
|
||||
(f32.neg
|
||||
;;@ builtins.ts:264:32
|
||||
(f32.const 16777215)
|
||||
)
|
||||
(f32.const -16777215)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 264)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2364,7 +2353,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 265)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2384,7 +2373,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 266)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2398,16 +2387,13 @@
|
||||
(f64.eq
|
||||
(f64.const -1797693134862315708145274e284)
|
||||
;;@ builtins.ts:267:24
|
||||
(f64.neg
|
||||
;;@ builtins.ts:267:25
|
||||
(f64.const 1797693134862315708145274e284)
|
||||
)
|
||||
(f64.const -1797693134862315708145274e284)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 267)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2427,7 +2413,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 268)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2441,16 +2427,13 @@
|
||||
(f64.eq
|
||||
(f64.const -9007199254740991)
|
||||
;;@ builtins.ts:269:31
|
||||
(f64.neg
|
||||
;;@ builtins.ts:269:32
|
||||
(f64.const 9007199254740991)
|
||||
)
|
||||
(f64.const -9007199254740991)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 269)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2470,7 +2453,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 270)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2490,7 +2473,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 271)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -7,7 +7,7 @@
|
||||
(type $v (func))
|
||||
(global $class/Animal.ONE (mut i32) (i32.const 1))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\08\00\00\00c\00l\00a\00s\00s\00.\00t\00s")
|
||||
(data (i32.const 4) "\08\00\00\00c\00l\00a\00s\00s\00.\00t\00s")
|
||||
(export "test" (func $class/test))
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
|
@ -8,9 +8,9 @@
|
||||
(type $v (func))
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(global $class/Animal.ONE (mut i32) (i32.const 1))
|
||||
(global $HEAP_BASE i32 (i32.const 28))
|
||||
(global $HEAP_BASE i32 (i32.const 24))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\08\00\00\00c\00l\00a\00s\00s\00.\00t\00s\00")
|
||||
(data (i32.const 4) "\08\00\00\00c\00l\00a\00s\00s\00.\00t\00s\00")
|
||||
(export "test" (func $class/test))
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
@ -196,7 +196,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 13)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -5,7 +5,7 @@
|
||||
(global $comma/a (mut i32) (i32.const 0))
|
||||
(global $comma/b (mut i32) (i32.const 0))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\08\00\00\00c\00o\00m\00m\00a\00.\00t\00s")
|
||||
(data (i32.const 4) "\08\00\00\00c\00o\00m\00m\00a\00.\00t\00s")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $start (; 1 ;) (type $v)
|
||||
@ -31,7 +31,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 4)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -43,7 +43,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 5)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -67,7 +67,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 8)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -82,7 +82,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 9)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -116,7 +116,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 14)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -131,7 +131,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 15)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -160,7 +160,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 18)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -175,7 +175,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 19)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -187,7 +187,7 @@
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_u
|
||||
(i32.lt_s
|
||||
(get_local $0)
|
||||
(get_global $comma/a)
|
||||
)
|
||||
@ -216,7 +216,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 22)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -4,9 +4,9 @@
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(global $comma/a (mut i32) (i32.const 0))
|
||||
(global $comma/b (mut i32) (i32.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 28))
|
||||
(global $HEAP_BASE i32 (i32.const 24))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\08\00\00\00c\00o\00m\00m\00a\00.\00t\00s\00")
|
||||
(data (i32.const 4) "\08\00\00\00c\00o\00m\00m\00a\00.\00t\00s\00")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $start (; 1 ;) (type $v)
|
||||
@ -47,7 +47,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 4)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -67,7 +67,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 5)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -101,7 +101,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 8)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -121,7 +121,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 9)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -167,7 +167,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 14)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -187,7 +187,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 15)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -228,7 +228,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 18)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -248,7 +248,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 19)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -265,7 +265,7 @@
|
||||
(loop $continue|0
|
||||
(if
|
||||
;;@ comma.ts:21:16
|
||||
(i32.lt_u
|
||||
(i32.lt_s
|
||||
(get_local $1)
|
||||
;;@ comma.ts:21:20
|
||||
(get_global $comma/a)
|
||||
@ -307,7 +307,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 22)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -7,7 +7,7 @@
|
||||
(import "my" "externalFunction" (func $declare/my.externalFunction))
|
||||
(import "my" "externalConstant" (global $declare/my.externalConstant i32))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\n\00\00\00d\00e\00c\00l\00a\00r\00e\00.\00t\00s")
|
||||
(data (i32.const 4) "\n\00\00\00d\00e\00c\00l\00a\00r\00e\00.\00t\00s")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $start (; 3 ;) (type $v)
|
||||
@ -20,7 +20,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 5)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -36,7 +36,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 13)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -6,9 +6,9 @@
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(import "my" "externalFunction" (func $declare/my.externalFunction))
|
||||
(import "my" "externalConstant" (global $declare/my.externalConstant i32))
|
||||
(global $HEAP_BASE i32 (i32.const 32))
|
||||
(global $HEAP_BASE i32 (i32.const 28))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\n\00\00\00d\00e\00c\00l\00a\00r\00e\00.\00t\00s\00")
|
||||
(data (i32.const 4) "\n\00\00\00d\00e\00c\00l\00a\00r\00e\00.\00t\00s\00")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $start (; 3 ;) (type $v)
|
||||
@ -27,7 +27,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 5)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -49,7 +49,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 13)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -6,7 +6,7 @@
|
||||
(global $do/m (mut i32) (i32.const 0))
|
||||
(global $do/o (mut i32) (i32.const 0))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\05\00\00\00d\00o\00.\00t\00s")
|
||||
(data (i32.const 4) "\05\00\00\00d\00o\00.\00t\00s")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $start (; 1 ;) (type $v)
|
||||
@ -33,7 +33,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 7)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -48,7 +48,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 8)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -79,7 +79,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 12)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -127,7 +127,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 24)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -142,7 +142,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 25)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -158,7 +158,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 27)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -173,7 +173,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 28)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -188,7 +188,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 29)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -5,9 +5,9 @@
|
||||
(global $do/n (mut i32) (i32.const 10))
|
||||
(global $do/m (mut i32) (i32.const 0))
|
||||
(global $do/o (mut i32) (i32.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 24))
|
||||
(global $HEAP_BASE i32 (i32.const 20))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\05\00\00\00d\00o\00.\00t\00s\00")
|
||||
(data (i32.const 4) "\05\00\00\00d\00o\00.\00t\00s\00")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $start (; 1 ;) (type $v)
|
||||
@ -51,7 +51,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 7)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -71,7 +71,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 8)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -112,17 +112,13 @@
|
||||
(i32.eq
|
||||
(get_global $do/n)
|
||||
;;@ do.ts:12:12
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ do.ts:12:13
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const -1)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 12)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -197,7 +193,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 24)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -217,7 +213,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 25)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -244,7 +240,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 27)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -264,7 +260,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 28)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -284,7 +280,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 29)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -5,7 +5,7 @@
|
||||
(type $v (func))
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\07\00\00\00f\00m\00o\00d\00.\00t\00s")
|
||||
(data (i32.const 4) "\07\00\00\00f\00m\00o\00d\00.\00t\00s")
|
||||
(export "fmod" (func $fmod/fmod))
|
||||
(export "fmodf" (func $fmod/fmodf))
|
||||
(export "memory" (memory $0))
|
||||
@ -750,7 +750,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 65)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -768,7 +768,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 66)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -791,7 +791,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 67)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -814,7 +814,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 68)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -834,7 +834,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 134)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -852,7 +852,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 135)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -875,7 +875,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 136)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -898,7 +898,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 137)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -20,7 +20,7 @@ export function fmod(x: f64, y: f64): f64 {
|
||||
--ex;
|
||||
ux <<= -ex + 1;
|
||||
} else {
|
||||
ux &= -1 >> 12;
|
||||
ux &= <u64>-1 >> 12;
|
||||
ux |= 1 << 52;
|
||||
}
|
||||
if (!ey) {
|
||||
@ -28,7 +28,7 @@ export function fmod(x: f64, y: f64): f64 {
|
||||
--ey;
|
||||
uy <<= -ey + 1;
|
||||
} else {
|
||||
uy &= -1 >> 12;
|
||||
uy &= <u64>-1 >> 12;
|
||||
uy |= 1 << 52;
|
||||
}
|
||||
|
||||
@ -89,7 +89,7 @@ export function fmodf(x: f32, y: f32): f32 {
|
||||
--ex;
|
||||
ux <<= -ex + 1;
|
||||
} else {
|
||||
ux &= -1 >> 9;
|
||||
ux &= <u32>-1 >> 9;
|
||||
ux |= 1 << 23;
|
||||
}
|
||||
if (!ey) {
|
||||
@ -97,7 +97,7 @@ export function fmodf(x: f32, y: f32): f32 {
|
||||
--ey;
|
||||
uy <<= -ey + 1;
|
||||
} else {
|
||||
uy &= -1 >> 9;
|
||||
uy &= <u32>-1 >> 9;
|
||||
uy |= 1 << 23;
|
||||
}
|
||||
|
||||
|
@ -4,9 +4,9 @@
|
||||
(type $fff (func (param f32 f32) (result f32)))
|
||||
(type $v (func))
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(global $HEAP_BASE i32 (i32.const 28))
|
||||
(global $HEAP_BASE i32 (i32.const 24))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\07\00\00\00f\00m\00o\00d\00.\00t\00s\00")
|
||||
(data (i32.const 4) "\07\00\00\00f\00m\00o\00d\00.\00t\00s\00")
|
||||
(export "fmod" (func $fmod/fmod))
|
||||
(export "fmodf" (func $fmod/fmodf))
|
||||
(export "memory" (memory $0))
|
||||
@ -278,12 +278,8 @@
|
||||
(get_local $2)
|
||||
;;@ fmod.ts:23:10
|
||||
(i64.shr_u
|
||||
(i64.sub
|
||||
(i64.const 0)
|
||||
;;@ fmod.ts:23:11
|
||||
(i64.const 1)
|
||||
)
|
||||
;;@ fmod.ts:23:16
|
||||
(i64.const -1)
|
||||
;;@ fmod.ts:23:21
|
||||
(i64.const 12)
|
||||
)
|
||||
)
|
||||
@ -382,12 +378,8 @@
|
||||
(get_local $3)
|
||||
;;@ fmod.ts:31:10
|
||||
(i64.shr_u
|
||||
(i64.sub
|
||||
(i64.const 0)
|
||||
;;@ fmod.ts:31:11
|
||||
(i64.const 1)
|
||||
)
|
||||
;;@ fmod.ts:31:16
|
||||
(i64.const -1)
|
||||
;;@ fmod.ts:31:21
|
||||
(i64.const 12)
|
||||
)
|
||||
)
|
||||
@ -908,12 +900,8 @@
|
||||
(get_local $2)
|
||||
;;@ fmod.ts:92:10
|
||||
(i32.shr_u
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ fmod.ts:92:11
|
||||
(i32.const 1)
|
||||
)
|
||||
;;@ fmod.ts:92:16
|
||||
(i32.const -1)
|
||||
;;@ fmod.ts:92:21
|
||||
(i32.const 9)
|
||||
)
|
||||
)
|
||||
@ -1010,12 +998,8 @@
|
||||
(get_local $3)
|
||||
;;@ fmod.ts:100:10
|
||||
(i32.shr_u
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ fmod.ts:100:11
|
||||
(i32.const 1)
|
||||
)
|
||||
;;@ fmod.ts:100:16
|
||||
(i32.const -1)
|
||||
;;@ fmod.ts:100:21
|
||||
(i32.const 9)
|
||||
)
|
||||
)
|
||||
@ -1292,7 +1276,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 65)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1317,7 +1301,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 66)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1346,7 +1330,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 67)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1375,7 +1359,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 68)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1402,7 +1386,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 134)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1427,7 +1411,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 135)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1456,7 +1440,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 136)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1485,7 +1469,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 137)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -4,7 +4,7 @@
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(global $for/i (mut i32) (i32.const 0))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\06\00\00\00f\00o\00r\00.\00t\00s")
|
||||
(data (i32.const 4) "\06\00\00\00f\00o\00r\00.\00t\00s")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $start (; 1 ;) (type $v)
|
||||
@ -37,7 +37,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 5)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -83,7 +83,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 12)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -3,9 +3,9 @@
|
||||
(type $v (func))
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(global $for/i (mut i32) (i32.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 24))
|
||||
(global $HEAP_BASE i32 (i32.const 20))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\06\00\00\00f\00o\00r\00.\00t\00s\00")
|
||||
(data (i32.const 4) "\06\00\00\00f\00o\00r\00.\00t\00s\00")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $start (; 1 ;) (type $v)
|
||||
@ -56,7 +56,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 5)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -136,7 +136,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 12)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -6,7 +6,7 @@
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(global $getter-setter/Foo._bar (mut i32) (i32.const 0))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\10\00\00\00g\00e\00t\00t\00e\00r\00-\00s\00e\00t\00t\00e\00r\00.\00t\00s")
|
||||
(data (i32.const 4) "\10\00\00\00g\00e\00t\00t\00e\00r\00-\00s\00e\00t\00t\00e\00r\00.\00t\00s")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $getter-setter/Foo.get:bar (; 1 ;) (type $i) (result i32)
|
||||
@ -23,7 +23,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 13)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -41,7 +41,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 15)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -61,7 +61,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 16)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -5,9 +5,9 @@
|
||||
(type $v (func))
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(global $getter-setter/Foo._bar (mut i32) (i32.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 44))
|
||||
(global $HEAP_BASE i32 (i32.const 40))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\10\00\00\00g\00e\00t\00t\00e\00r\00-\00s\00e\00t\00t\00e\00r\00.\00t\00s\00")
|
||||
(data (i32.const 4) "\10\00\00\00g\00e\00t\00t\00e\00r\00-\00s\00e\00t\00t\00e\00r\00.\00t\00s\00")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $getter-setter/Foo.get:bar (; 1 ;) (type $i) (result i32)
|
||||
@ -38,7 +38,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 13)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -63,7 +63,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 15)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -89,7 +89,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 16)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -4,7 +4,7 @@
|
||||
(type $v (func))
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\05\00\00\00i\00f\00.\00t\00s")
|
||||
(data (i32.const 4) "\05\00\00\00i\00f\00.\00t\00s")
|
||||
(export "ifThenElse" (func $if/ifThenElse))
|
||||
(export "ifThen" (func $if/ifThen))
|
||||
(export "ifThenElseBlock" (func $if/ifThenElse))
|
||||
@ -44,7 +44,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 8)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -61,7 +61,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 9)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -75,7 +75,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 17)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -92,7 +92,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 18)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -106,7 +106,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 30)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -123,7 +123,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 31)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -3,9 +3,9 @@
|
||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||
(type $v (func))
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(global $HEAP_BASE i32 (i32.const 24))
|
||||
(global $HEAP_BASE i32 (i32.const 20))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\05\00\00\00i\00f\00.\00t\00s\00")
|
||||
(data (i32.const 4) "\05\00\00\00i\00f\00.\00t\00s\00")
|
||||
(export "ifThenElse" (func $if/ifThenElse))
|
||||
(export "ifThen" (func $if/ifThen))
|
||||
(export "ifThenElseBlock" (func $if/ifThenElseBlock))
|
||||
@ -97,7 +97,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 8)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -120,7 +120,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 9)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -143,7 +143,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 17)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -166,7 +166,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 18)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -189,7 +189,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 30)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -212,7 +212,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 31)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -47,7 +47,7 @@
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_u
|
||||
(i32.lt_s
|
||||
(get_local $0)
|
||||
(get_local $1)
|
||||
)
|
||||
|
@ -141,7 +141,7 @@
|
||||
(loop $continue|0
|
||||
(if
|
||||
;;@ infer-type.ts:44:24
|
||||
(i32.lt_u
|
||||
(i32.lt_s
|
||||
(get_local $0)
|
||||
;;@ infer-type.ts:44:28
|
||||
(get_local $1)
|
||||
|
@ -4,7 +4,7 @@
|
||||
(type $v (func))
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\0b\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00.\00t\00s")
|
||||
(data (i32.const 4) "\0b\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00.\00t\00s")
|
||||
(export "test" (func $inlining/test))
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
@ -20,7 +20,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 8)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -4,9 +4,9 @@
|
||||
(type $v (func))
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(global $inlining/constantGlobal i32 (i32.const 1))
|
||||
(global $HEAP_BASE i32 (i32.const 36))
|
||||
(global $HEAP_BASE i32 (i32.const 32))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\0b\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00.\00t\00s\00")
|
||||
(data (i32.const 4) "\0b\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00.\00t\00s\00")
|
||||
(export "test" (func $inlining/test))
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
@ -37,7 +37,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 8)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -1,8 +1,5 @@
|
||||
(module
|
||||
(type $i (func (result i32)))
|
||||
(type $I (func (result i64)))
|
||||
(type $f (func (result f32)))
|
||||
(type $F (func (result f64)))
|
||||
(type $v (func))
|
||||
(global $HEAP_BASE i32 (i32.const 4))
|
||||
(memory $0 1)
|
||||
|
@ -7,7 +7,7 @@
|
||||
(global $logical/f (mut f32) (f32.const 0))
|
||||
(global $logical/F (mut f64) (f64.const 0))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\n\00\00\00l\00o\00g\00i\00c\00a\00l\00.\00t\00s")
|
||||
(data (i32.const 4) "\n\00\00\00l\00o\00g\00i\00c\00a\00l\00.\00t\00s")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $start (; 1 ;) (type $v)
|
||||
@ -41,7 +41,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 12)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -59,7 +59,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 15)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -77,7 +77,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 20)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -95,7 +95,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 23)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -113,7 +113,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 28)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -131,7 +131,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 31)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -149,7 +149,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 36)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -167,7 +167,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 39)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -6,9 +6,9 @@
|
||||
(global $logical/I (mut i64) (i64.const 0))
|
||||
(global $logical/f (mut f32) (f32.const 0))
|
||||
(global $logical/F (mut f64) (f64.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 32))
|
||||
(global $HEAP_BASE i32 (i32.const 28))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\n\00\00\00l\00o\00g\00i\00c\00a\00l\00.\00t\00s\00")
|
||||
(data (i32.const 4) "\n\00\00\00l\00o\00g\00i\00c\00a\00l\00.\00t\00s\00")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $start (; 1 ;) (type $v)
|
||||
@ -132,7 +132,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 12)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -165,7 +165,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 15)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -198,7 +198,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 20)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -231,7 +231,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 23)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -264,7 +264,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 28)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -297,7 +297,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 31)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -330,7 +330,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 36)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -363,7 +363,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 39)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -5,7 +5,7 @@
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(global $memcpy/dest (mut i32) (i32.const 0))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\t\00\00\00m\00e\00m\00c\00p\00y\00.\00t\00s")
|
||||
(data (i32.const 4) "\t\00\00\00m\00e\00m\00c\00p\00y\00.\00t\00s")
|
||||
(export "memcpy" (func $memcpy/memcpy))
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
@ -1624,7 +1624,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 151)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1641,7 +1641,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 152)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1663,7 +1663,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 155)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1680,7 +1680,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 156)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1697,7 +1697,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 157)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1714,7 +1714,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 158)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1731,7 +1731,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 159)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1755,7 +1755,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 162)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1779,7 +1779,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 165)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1796,7 +1796,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 166)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1813,7 +1813,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 167)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1830,7 +1830,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 168)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -5,9 +5,9 @@
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(global $memcpy/base i32 (i32.const 8))
|
||||
(global $memcpy/dest (mut i32) (i32.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 32))
|
||||
(global $HEAP_BASE i32 (i32.const 28))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\t\00\00\00m\00e\00m\00c\00p\00y\00.\00t\00s\00")
|
||||
(data (i32.const 4) "\t\00\00\00m\00e\00m\00c\00p\00y\00.\00t\00s\00")
|
||||
(export "memcpy" (func $memcpy/memcpy))
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
@ -2346,7 +2346,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 151)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2369,7 +2369,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 152)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2401,7 +2401,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 155)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2424,7 +2424,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 156)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2451,7 +2451,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 157)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2478,7 +2478,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 158)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2505,7 +2505,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 159)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2548,7 +2548,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 162)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2591,7 +2591,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 165)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2618,7 +2618,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 166)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2645,7 +2645,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 167)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2672,7 +2672,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 168)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -5,7 +5,7 @@
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(global $memmove/dest (mut i32) (i32.const 0))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\n\00\00\00m\00e\00m\00m\00o\00v\00e\00.\00t\00s")
|
||||
(data (i32.const 4) "\n\00\00\00m\00e\00m\00m\00o\00v\00e\00.\00t\00s")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $memmove/memmove (; 1 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
@ -309,7 +309,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 55)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -326,7 +326,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 56)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -348,7 +348,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 59)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -365,7 +365,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 60)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -382,7 +382,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 61)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -399,7 +399,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 62)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -416,7 +416,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 63)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -440,7 +440,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 66)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -464,7 +464,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 69)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -481,7 +481,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 70)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -498,7 +498,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 71)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -515,7 +515,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 72)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -5,9 +5,9 @@
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(global $memmove/base i32 (i32.const 8))
|
||||
(global $memmove/dest (mut i32) (i32.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 32))
|
||||
(global $HEAP_BASE i32 (i32.const 28))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\n\00\00\00m\00e\00m\00m\00o\00v\00e\00.\00t\00s\00")
|
||||
(data (i32.const 4) "\n\00\00\00m\00e\00m\00m\00o\00v\00e\00.\00t\00s\00")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $memmove/memmove (; 1 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
@ -484,7 +484,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 55)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -507,7 +507,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 56)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -539,7 +539,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 59)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -562,7 +562,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 60)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -589,7 +589,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 61)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -616,7 +616,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 62)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -643,7 +643,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 63)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -686,7 +686,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 66)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -729,7 +729,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 69)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -756,7 +756,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 70)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -783,7 +783,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 71)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -810,7 +810,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 72)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -4,9 +4,9 @@
|
||||
(type $v (func))
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(global $memset/dest (mut i32) (i32.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 32))
|
||||
(global $HEAP_BASE i32 (i32.const 28))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\t\00\00\00m\00e\00m\00s\00e\00t\00.\00t\00s")
|
||||
(data (i32.const 4) "\t\00\00\00m\00e\00m\00s\00e\00t\00.\00t\00s")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $memset/memset (; 1 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
@ -367,7 +367,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 72)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -387,7 +387,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 73)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -414,7 +414,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 77)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -434,7 +434,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 78)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -454,7 +454,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 79)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -474,7 +474,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 80)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -26,7 +26,7 @@ function memset(dest: usize, c: u8, n: usize): usize {
|
||||
n -= k;
|
||||
n &= -4;
|
||||
|
||||
var c32: u32 = -1 / 255 * c;
|
||||
var c32: u32 = <u32>-1 / 255 * c;
|
||||
|
||||
// fill head/tail up to 28 bytes each in preparation
|
||||
store<u32>(dest, c32);
|
||||
|
@ -4,9 +4,9 @@
|
||||
(type $v (func))
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(global $memset/dest (mut i32) (i32.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 32))
|
||||
(global $HEAP_BASE i32 (i32.const 28))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\t\00\00\00m\00e\00m\00s\00e\00t\00.\00t\00s\00")
|
||||
(data (i32.const 4) "\t\00\00\00m\00e\00m\00s\00e\00t\00.\00t\00s\00")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $memset/memset (; 1 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
@ -204,11 +204,7 @@
|
||||
(i32.and
|
||||
(get_local $2)
|
||||
;;@ memset.ts:27:7
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ memset.ts:27:8
|
||||
(i32.const 4)
|
||||
)
|
||||
(i32.const -4)
|
||||
)
|
||||
)
|
||||
;;@ memset.ts:29:2
|
||||
@ -216,15 +212,11 @@
|
||||
;;@ memset.ts:29:17
|
||||
(i32.mul
|
||||
(i32.div_u
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ memset.ts:29:18
|
||||
(i32.const 1)
|
||||
)
|
||||
;;@ memset.ts:29:22
|
||||
(i32.const -1)
|
||||
;;@ memset.ts:29:27
|
||||
(i32.const 255)
|
||||
)
|
||||
;;@ memset.ts:29:28
|
||||
;;@ memset.ts:29:33
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
@ -591,7 +583,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 72)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -618,7 +610,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 73)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -656,7 +648,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 77)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -683,7 +675,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 78)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -710,7 +702,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 79)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -737,7 +729,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 80)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -9,7 +9,7 @@
|
||||
(global $overflow/badIncrementer (mut i32) (i32.const 1))
|
||||
(global $overflow/valueU8 (mut i32) (i32.const 0))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\0b\00\00\00o\00v\00e\00r\00f\00l\00o\00w\00.\00t\00s")
|
||||
(data (i32.const 4) "\0b\00\00\00o\00v\00e\00r\00f\00l\00o\00w\00.\00t\00s")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $overflow/local (; 1 ;) (type $v)
|
||||
@ -36,7 +36,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 36)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -59,7 +59,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 5)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -80,7 +80,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 10)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -105,7 +105,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 32)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -138,7 +138,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 43)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -165,7 +165,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 46)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -177,7 +177,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 47)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -8,9 +8,9 @@
|
||||
(global $overflow/anotherBadByte (mut i32) (i32.const 255))
|
||||
(global $overflow/badIncrementer (mut i32) (i32.const 1))
|
||||
(global $overflow/valueU8 (mut i32) (i32.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 36))
|
||||
(global $HEAP_BASE i32 (i32.const 32))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\0b\00\00\00o\00v\00e\00r\00f\00l\00o\00w\00.\00t\00s\00")
|
||||
(data (i32.const 4) "\0b\00\00\00o\00v\00e\00r\00f\00l\00o\00w\00.\00t\00s\00")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $overflow/local (; 1 ;) (type $v)
|
||||
@ -46,7 +46,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 15)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -87,7 +87,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 20)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -136,7 +136,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 36)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -169,7 +169,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 5)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -200,7 +200,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 10)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -237,7 +237,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 32)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -291,7 +291,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 43)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -333,7 +333,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 46)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -353,7 +353,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 47)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -6,7 +6,7 @@
|
||||
(global $retain-i32/si (mut i32) (i32.const 0))
|
||||
(global $retain-i32/ui (mut i32) (i32.const 0))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\0d\00\00\00r\00e\00t\00a\00i\00n\00-\00i\003\002\00.\00t\00s")
|
||||
(data (i32.const 4) "\0d\00\00\00r\00e\00t\00a\00i\00n\00-\00i\003\002\00.\00t\00s")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $retain-i32/test (; 1 ;) (type $iiv) (param $0 i32) (param $1 i32)
|
||||
@ -42,7 +42,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 4)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -81,7 +81,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 5)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -120,7 +120,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 6)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -159,7 +159,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 7)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -198,7 +198,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 8)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -237,7 +237,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 9)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -276,7 +276,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 10)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -309,7 +309,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 13)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -342,7 +342,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 14)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -375,7 +375,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 15)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -405,7 +405,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 16)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -435,7 +435,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 17)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -465,7 +465,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 18)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -498,7 +498,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 19)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -679,7 +679,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 78)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -697,7 +697,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 81)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -715,7 +715,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 84)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -733,7 +733,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 87)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -751,7 +751,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 90)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -769,7 +769,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 93)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -787,7 +787,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 96)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -805,7 +805,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 99)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -823,7 +823,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 102)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -838,7 +838,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 105)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -856,7 +856,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 108)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -874,7 +874,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 113)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -892,7 +892,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 116)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -910,7 +910,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 119)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -928,7 +928,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 122)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -946,7 +946,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 125)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -964,7 +964,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 128)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -979,7 +979,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 131)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -1,14 +1,13 @@
|
||||
(module
|
||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||
(type $iiv (func (param i32 i32)))
|
||||
(type $i (func (result i32)))
|
||||
(type $v (func))
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(global $retain-i32/si (mut i32) (i32.const 0))
|
||||
(global $retain-i32/ui (mut i32) (i32.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 40))
|
||||
(global $HEAP_BASE i32 (i32.const 36))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\0d\00\00\00r\00e\00t\00a\00i\00n\00-\00i\003\002\00.\00t\00s\00")
|
||||
(data (i32.const 4) "\0d\00\00\00r\00e\00t\00a\00i\00n\00-\00i\003\002\00.\00t\00s\00")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $retain-i32/test (; 1 ;) (type $iiv) (param $0 i32) (param $1 i32)
|
||||
@ -59,7 +58,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 4)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -113,7 +112,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 5)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -167,7 +166,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 6)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -221,7 +220,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 7)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -275,7 +274,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 8)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -329,7 +328,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 9)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -383,7 +382,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 10)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -425,7 +424,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 13)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -467,7 +466,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 14)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -509,7 +508,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 15)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -551,7 +550,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 16)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -593,7 +592,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 17)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -635,7 +634,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 18)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -677,7 +676,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 19)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -718,11 +717,7 @@
|
||||
;;@ retain-i32.ts:29:0
|
||||
(call $retain-i32/test
|
||||
;;@ retain-i32.ts:29:5
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ retain-i32.ts:29:6
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const -1)
|
||||
;;@ retain-i32.ts:29:9
|
||||
(i32.const 127)
|
||||
)
|
||||
@ -731,11 +726,7 @@
|
||||
;;@ retain-i32.ts:30:5
|
||||
(i32.const 127)
|
||||
;;@ retain-i32.ts:30:19
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ retain-i32.ts:30:20
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const -1)
|
||||
)
|
||||
;;@ retain-i32.ts:32:0
|
||||
(call $retain-i32/test
|
||||
@ -768,11 +759,7 @@
|
||||
;;@ retain-i32.ts:38:0
|
||||
(call $retain-i32/test
|
||||
;;@ retain-i32.ts:38:5
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ retain-i32.ts:38:6
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const -1)
|
||||
;;@ retain-i32.ts:38:9
|
||||
(i32.const -128)
|
||||
)
|
||||
@ -781,11 +768,7 @@
|
||||
;;@ retain-i32.ts:39:5
|
||||
(i32.const -128)
|
||||
;;@ retain-i32.ts:39:19
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ retain-i32.ts:39:20
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const -1)
|
||||
)
|
||||
;;@ retain-i32.ts:41:0
|
||||
(call $retain-i32/test
|
||||
@ -846,11 +829,7 @@
|
||||
;;@ retain-i32.ts:53:0
|
||||
(call $retain-i32/test
|
||||
;;@ retain-i32.ts:53:5
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ retain-i32.ts:53:6
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const -1)
|
||||
;;@ retain-i32.ts:53:9
|
||||
(i32.const 255)
|
||||
)
|
||||
@ -859,11 +838,7 @@
|
||||
;;@ retain-i32.ts:54:5
|
||||
(i32.const 255)
|
||||
;;@ retain-i32.ts:54:19
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ retain-i32.ts:54:20
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const -1)
|
||||
)
|
||||
;;@ retain-i32.ts:56:0
|
||||
(call $retain-i32/test
|
||||
@ -906,11 +881,7 @@
|
||||
;;@ retain-i32.ts:62:2
|
||||
(call $retain-i32/test
|
||||
;;@ retain-i32.ts:62:7
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ retain-i32.ts:62:8
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const -1)
|
||||
;;@ retain-i32.ts:62:11
|
||||
(get_local $0)
|
||||
)
|
||||
@ -1017,23 +988,13 @@
|
||||
(i32.eq
|
||||
(get_global $retain-i32/si)
|
||||
;;@ retain-i32.ts:78:13
|
||||
(i32.shr_s
|
||||
(i32.shl
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ retain-i32.ts:78:14
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const -1)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 78)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1066,23 +1027,13 @@
|
||||
(i32.eq
|
||||
(get_global $retain-i32/si)
|
||||
;;@ retain-i32.ts:81:13
|
||||
(i32.shr_s
|
||||
(i32.shl
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ retain-i32.ts:81:14
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const -1)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 81)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1111,23 +1062,13 @@
|
||||
(i32.eq
|
||||
(get_global $retain-i32/si)
|
||||
;;@ retain-i32.ts:84:13
|
||||
(i32.shr_s
|
||||
(i32.shl
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ retain-i32.ts:84:14
|
||||
(i32.const 2)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const -2)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 84)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1142,17 +1083,7 @@
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ retain-i32.ts:86:6
|
||||
(i32.shr_s
|
||||
(i32.shl
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ retain-i32.ts:86:8
|
||||
(i32.const -128)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const -128)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
@ -1166,23 +1097,13 @@
|
||||
(i32.eq
|
||||
(get_global $retain-i32/si)
|
||||
;;@ retain-i32.ts:87:13
|
||||
(i32.shr_s
|
||||
(i32.shl
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ retain-i32.ts:87:14
|
||||
(i32.const -128)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const -128)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 87)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1195,17 +1116,9 @@
|
||||
(i32.shr_s
|
||||
(i32.shl
|
||||
(i32.mul
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ retain-i32.ts:89:6
|
||||
(i32.const -128)
|
||||
)
|
||||
(i32.const -128)
|
||||
;;@ retain-i32.ts:89:12
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ retain-i32.ts:89:13
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const -1)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
@ -1219,23 +1132,13 @@
|
||||
(i32.eq
|
||||
(get_global $retain-i32/si)
|
||||
;;@ retain-i32.ts:90:13
|
||||
(i32.shr_s
|
||||
(i32.shl
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ retain-i32.ts:90:14
|
||||
(i32.const -128)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const -128)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 90)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1250,17 +1153,7 @@
|
||||
(i32.div_s
|
||||
(i32.const 127)
|
||||
;;@ retain-i32.ts:92:11
|
||||
(i32.shr_s
|
||||
(i32.shl
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ retain-i32.ts:92:12
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const -1)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
@ -1274,23 +1167,13 @@
|
||||
(i32.eq
|
||||
(get_global $retain-i32/si)
|
||||
;;@ retain-i32.ts:93:13
|
||||
(i32.shr_s
|
||||
(i32.shl
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ retain-i32.ts:93:14
|
||||
(i32.const 127)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const -127)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 93)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1303,29 +1186,9 @@
|
||||
(i32.shr_s
|
||||
(i32.shl
|
||||
(i32.div_s
|
||||
(i32.shr_s
|
||||
(i32.shl
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ retain-i32.ts:95:6
|
||||
(i32.const -128)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const -128)
|
||||
;;@ retain-i32.ts:95:12
|
||||
(i32.shr_s
|
||||
(i32.shl
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ retain-i32.ts:95:13
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const -1)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
@ -1339,23 +1202,13 @@
|
||||
(i32.eq
|
||||
(get_global $retain-i32/si)
|
||||
;;@ retain-i32.ts:96:13
|
||||
(i32.shr_s
|
||||
(i32.shl
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ retain-i32.ts:96:14
|
||||
(i32.const -128)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const -128)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 96)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1384,7 +1237,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 99)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1413,7 +1266,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 102)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1424,17 +1277,7 @@
|
||||
(set_global $retain-i32/si
|
||||
;;@ retain-i32.ts:104:5
|
||||
(i32.rem_s
|
||||
(i32.shr_s
|
||||
(i32.shl
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ retain-i32.ts:104:6
|
||||
(i32.const -128)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const -128)
|
||||
;;@ retain-i32.ts:104:12
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -1452,7 +1295,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 105)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1465,17 +1308,7 @@
|
||||
(i32.rem_s
|
||||
(i32.const 1)
|
||||
;;@ retain-i32.ts:107:9
|
||||
(i32.shr_s
|
||||
(i32.shl
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ retain-i32.ts:107:10
|
||||
(i32.const -128)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const -128)
|
||||
)
|
||||
)
|
||||
;;@ retain-i32.ts:108:0
|
||||
@ -1491,7 +1324,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 108)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1527,7 +1360,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 113)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1563,7 +1396,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 116)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1595,7 +1428,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 119)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1627,7 +1460,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 122)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1659,7 +1492,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 125)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1688,7 +1521,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 128)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1717,7 +1550,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 131)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -44,11 +44,11 @@
|
||||
(global $showcase/aClassInstance (mut i32) (i32.const 8))
|
||||
(global $showcase/AClass.aStaticField (mut i32) (i32.const 0))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\n\00\00\00l\00o\00g\00i\00c\00a\00l\00.\00t\00s")
|
||||
(data (i32.const 32) "\0b\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s")
|
||||
(data (i32.const 64) "\0b\00\00\00s\00h\00o\00w\00c\00a\00s\00e\00.\00t\00s")
|
||||
(data (i32.const 96) "\t\00\00\00m\00e\00m\00c\00p\00y\00.\00t\00s")
|
||||
(data (i32.const 120) "\07\00\00\00f\00m\00o\00d\00.\00t\00s")
|
||||
(data (i32.const 4) "\n\00\00\00l\00o\00g\00i\00c\00a\00l\00.\00t\00s")
|
||||
(data (i32.const 28) "\0b\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s")
|
||||
(data (i32.const 56) "\0b\00\00\00s\00h\00o\00w\00c\00a\00s\00e\00.\00t\00s")
|
||||
(data (i32.const 84) "\t\00\00\00m\00e\00m\00c\00p\00y\00.\00t\00s")
|
||||
(data (i32.const 108) "\07\00\00\00f\00m\00o\00d\00.\00t\00s")
|
||||
(export "anExportedConstantGlobal" (global $showcase/anExportedConstantGlobal))
|
||||
(export "aConstantGlobal" (global $showcase/aConstantGlobal))
|
||||
(export "anAliasedConstantGlobal" (global $showcase/anExportedConstantGlobal))
|
||||
@ -3330,7 +3330,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 12)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3348,7 +3348,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 15)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3366,7 +3366,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 20)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3384,7 +3384,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 23)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3402,7 +3402,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 28)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3420,7 +3420,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 31)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3438,7 +3438,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 36)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3456,7 +3456,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 39)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3515,7 +3515,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 21)
|
||||
(i32.const 19)
|
||||
)
|
||||
@ -3542,7 +3542,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 22)
|
||||
(i32.const 20)
|
||||
)
|
||||
@ -3567,7 +3567,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 23)
|
||||
(i32.const 20)
|
||||
)
|
||||
@ -3612,7 +3612,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 39)
|
||||
(i32.const 19)
|
||||
)
|
||||
@ -3641,7 +3641,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 40)
|
||||
(i32.const 20)
|
||||
)
|
||||
@ -3666,7 +3666,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 41)
|
||||
(i32.const 20)
|
||||
)
|
||||
@ -4087,7 +4087,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 222)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4104,7 +4104,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 223)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4130,7 +4130,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 224)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4156,7 +4156,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 225)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4182,7 +4182,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 226)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4208,7 +4208,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 227)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4236,7 +4236,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 228)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4264,7 +4264,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 229)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4281,7 +4281,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 64)
|
||||
(i32.const 56)
|
||||
(i32.const 42)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4305,7 +4305,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 64)
|
||||
(i32.const 56)
|
||||
(i32.const 58)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4320,7 +4320,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 64)
|
||||
(i32.const 56)
|
||||
(i32.const 59)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4376,7 +4376,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 96)
|
||||
(i32.const 84)
|
||||
(i32.const 151)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4393,7 +4393,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 96)
|
||||
(i32.const 84)
|
||||
(i32.const 152)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4415,7 +4415,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 96)
|
||||
(i32.const 84)
|
||||
(i32.const 155)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4432,7 +4432,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 96)
|
||||
(i32.const 84)
|
||||
(i32.const 156)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4449,7 +4449,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 96)
|
||||
(i32.const 84)
|
||||
(i32.const 157)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4466,7 +4466,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 96)
|
||||
(i32.const 84)
|
||||
(i32.const 158)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4483,7 +4483,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 96)
|
||||
(i32.const 84)
|
||||
(i32.const 159)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4507,7 +4507,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 96)
|
||||
(i32.const 84)
|
||||
(i32.const 162)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4531,7 +4531,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 96)
|
||||
(i32.const 84)
|
||||
(i32.const 165)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4548,7 +4548,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 96)
|
||||
(i32.const 84)
|
||||
(i32.const 166)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4565,7 +4565,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 96)
|
||||
(i32.const 84)
|
||||
(i32.const 167)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4582,7 +4582,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 96)
|
||||
(i32.const 84)
|
||||
(i32.const 168)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4602,7 +4602,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 120)
|
||||
(i32.const 108)
|
||||
(i32.const 65)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4620,7 +4620,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 120)
|
||||
(i32.const 108)
|
||||
(i32.const 66)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4643,7 +4643,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 120)
|
||||
(i32.const 108)
|
||||
(i32.const 67)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4666,7 +4666,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 120)
|
||||
(i32.const 108)
|
||||
(i32.const 68)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4686,7 +4686,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 120)
|
||||
(i32.const 108)
|
||||
(i32.const 134)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4704,7 +4704,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 120)
|
||||
(i32.const 108)
|
||||
(i32.const 135)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4727,7 +4727,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 120)
|
||||
(i32.const 108)
|
||||
(i32.const 136)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4750,7 +4750,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 120)
|
||||
(i32.const 108)
|
||||
(i32.const 137)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4775,7 +4775,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 64)
|
||||
(i32.const 56)
|
||||
(i32.const 104)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4792,7 +4792,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 64)
|
||||
(i32.const 56)
|
||||
(i32.const 105)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4813,7 +4813,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 64)
|
||||
(i32.const 56)
|
||||
(i32.const 108)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4831,7 +4831,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 64)
|
||||
(i32.const 56)
|
||||
(i32.const 111)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -1,9 +1,6 @@
|
||||
(module
|
||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||
(type $i (func (result i32)))
|
||||
(type $I (func (result i64)))
|
||||
(type $f (func (result f32)))
|
||||
(type $F (func (result f64)))
|
||||
(type $ii (func (param i32) (result i32)))
|
||||
(type $iii (func (param i32 i32) (result i32)))
|
||||
(type $fff (func (param f32 f32) (result f32)))
|
||||
@ -53,13 +50,13 @@
|
||||
(global $memcpy/dest (mut i32) (i32.const 0))
|
||||
(global $showcase/aClassInstance (mut i32) (i32.const 8))
|
||||
(global $showcase/AClass.aStaticField (mut i32) (i32.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 140))
|
||||
(global $HEAP_BASE i32 (i32.const 128))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\n\00\00\00l\00o\00g\00i\00c\00a\00l\00.\00t\00s\00")
|
||||
(data (i32.const 32) "\0b\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s\00")
|
||||
(data (i32.const 64) "\0b\00\00\00s\00h\00o\00w\00c\00a\00s\00e\00.\00t\00s\00")
|
||||
(data (i32.const 96) "\t\00\00\00m\00e\00m\00c\00p\00y\00.\00t\00s\00")
|
||||
(data (i32.const 120) "\07\00\00\00f\00m\00o\00d\00.\00t\00s\00")
|
||||
(data (i32.const 4) "\n\00\00\00l\00o\00g\00i\00c\00a\00l\00.\00t\00s\00")
|
||||
(data (i32.const 28) "\0b\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s\00")
|
||||
(data (i32.const 56) "\0b\00\00\00s\00h\00o\00w\00c\00a\00s\00e\00.\00t\00s\00")
|
||||
(data (i32.const 84) "\t\00\00\00m\00e\00m\00c\00p\00y\00.\00t\00s\00")
|
||||
(data (i32.const 108) "\07\00\00\00f\00m\00o\00d\00.\00t\00s\00")
|
||||
(export "anExportedConstantGlobal" (global $showcase/anExportedConstantGlobal))
|
||||
(export "aConstantGlobal" (global $showcase/aConstantGlobal))
|
||||
(export "anAliasedConstantGlobal" (global $showcase/anExportedConstantGlobal))
|
||||
@ -2635,12 +2632,8 @@
|
||||
(get_local $2)
|
||||
;;@ fmod.ts:23:10
|
||||
(i64.shr_u
|
||||
(i64.sub
|
||||
(i64.const 0)
|
||||
;;@ fmod.ts:23:11
|
||||
(i64.const 1)
|
||||
)
|
||||
;;@ fmod.ts:23:16
|
||||
(i64.const -1)
|
||||
;;@ fmod.ts:23:21
|
||||
(i64.const 12)
|
||||
)
|
||||
)
|
||||
@ -2739,12 +2732,8 @@
|
||||
(get_local $3)
|
||||
;;@ fmod.ts:31:10
|
||||
(i64.shr_u
|
||||
(i64.sub
|
||||
(i64.const 0)
|
||||
;;@ fmod.ts:31:11
|
||||
(i64.const 1)
|
||||
)
|
||||
;;@ fmod.ts:31:16
|
||||
(i64.const -1)
|
||||
;;@ fmod.ts:31:21
|
||||
(i64.const 12)
|
||||
)
|
||||
)
|
||||
@ -3265,12 +3254,8 @@
|
||||
(get_local $2)
|
||||
;;@ fmod.ts:92:10
|
||||
(i32.shr_u
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ fmod.ts:92:11
|
||||
(i32.const 1)
|
||||
)
|
||||
;;@ fmod.ts:92:16
|
||||
(i32.const -1)
|
||||
;;@ fmod.ts:92:21
|
||||
(i32.const 9)
|
||||
)
|
||||
)
|
||||
@ -3367,12 +3352,8 @@
|
||||
(get_local $3)
|
||||
;;@ fmod.ts:100:10
|
||||
(i32.shr_u
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ fmod.ts:100:11
|
||||
(i32.const 1)
|
||||
)
|
||||
;;@ fmod.ts:100:16
|
||||
(i32.const -1)
|
||||
;;@ fmod.ts:100:21
|
||||
(i32.const 9)
|
||||
)
|
||||
)
|
||||
@ -3657,11 +3638,7 @@
|
||||
)
|
||||
;;@ unary.ts:2:0
|
||||
(drop
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ unary.ts:2:1
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const -1)
|
||||
)
|
||||
;;@ unary.ts:3:0
|
||||
(drop
|
||||
@ -3685,10 +3662,7 @@
|
||||
)
|
||||
;;@ unary.ts:6:0
|
||||
(drop
|
||||
(f64.neg
|
||||
;;@ unary.ts:6:1
|
||||
(f64.const 1.25)
|
||||
)
|
||||
(f64.const -1.25)
|
||||
)
|
||||
;;@ unary.ts:7:0
|
||||
(drop
|
||||
@ -3764,11 +3738,7 @@
|
||||
;;@ unary.ts:21:0
|
||||
(set_global $unary/i
|
||||
;;@ unary.ts:21:4
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ unary.ts:21:5
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const -1)
|
||||
)
|
||||
;;@ unary.ts:22:0
|
||||
(set_global $unary/i
|
||||
@ -3944,11 +3914,7 @@
|
||||
;;@ unary.ts:45:0
|
||||
(set_global $unary/I
|
||||
;;@ unary.ts:45:4
|
||||
(i64.sub
|
||||
(i64.const 0)
|
||||
;;@ unary.ts:45:5
|
||||
(i64.const 1)
|
||||
)
|
||||
(i64.const -1)
|
||||
)
|
||||
;;@ unary.ts:46:0
|
||||
(set_global $unary/I
|
||||
@ -4120,10 +4086,7 @@
|
||||
;;@ unary.ts:68:0
|
||||
(set_global $unary/f
|
||||
;;@ unary.ts:68:4
|
||||
(f32.neg
|
||||
;;@ unary.ts:68:5
|
||||
(f32.const 1.25)
|
||||
)
|
||||
(f32.const -1.25)
|
||||
)
|
||||
;;@ unary.ts:69:0
|
||||
(set_global $unary/i
|
||||
@ -4274,10 +4237,7 @@
|
||||
;;@ unary.ts:89:0
|
||||
(set_global $unary/F
|
||||
;;@ unary.ts:89:4
|
||||
(f64.neg
|
||||
;;@ unary.ts:89:5
|
||||
(f64.const 1.25)
|
||||
)
|
||||
(f64.const -1.25)
|
||||
)
|
||||
;;@ unary.ts:90:0
|
||||
(set_global $unary/I
|
||||
@ -5618,7 +5578,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 12)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5651,7 +5611,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 15)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5684,7 +5644,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 20)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5717,7 +5677,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 23)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5750,7 +5710,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 28)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5783,7 +5743,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 31)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5816,7 +5776,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 36)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5849,7 +5809,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 39)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5900,11 +5860,7 @@
|
||||
(select
|
||||
(tee_local $0
|
||||
;;@ builtins.ts:12:9
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ builtins.ts:12:10
|
||||
(i32.const 42)
|
||||
)
|
||||
(i32.const -42)
|
||||
)
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
@ -6000,11 +5956,7 @@
|
||||
(select
|
||||
(tee_local $0
|
||||
;;@ builtins.ts:21:13
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ builtins.ts:21:14
|
||||
(i32.const 42)
|
||||
)
|
||||
(i32.const -42)
|
||||
)
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
@ -6029,7 +5981,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 21)
|
||||
(i32.const 19)
|
||||
)
|
||||
@ -6067,7 +6019,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 22)
|
||||
(i32.const 20)
|
||||
)
|
||||
@ -6105,7 +6057,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 23)
|
||||
(i32.const 20)
|
||||
)
|
||||
@ -6156,11 +6108,7 @@
|
||||
(select
|
||||
(tee_local $1
|
||||
;;@ builtins.ts:32:9
|
||||
(i64.sub
|
||||
(i64.const 0)
|
||||
;;@ builtins.ts:32:10
|
||||
(i64.const 42)
|
||||
)
|
||||
(i64.const -42)
|
||||
)
|
||||
(i64.sub
|
||||
(i64.const 0)
|
||||
@ -6222,11 +6170,7 @@
|
||||
(select
|
||||
(tee_local $1
|
||||
;;@ builtins.ts:39:13
|
||||
(i64.sub
|
||||
(i64.const 0)
|
||||
;;@ builtins.ts:39:14
|
||||
(i64.const 42)
|
||||
)
|
||||
(i64.const -42)
|
||||
)
|
||||
(i64.sub
|
||||
(i64.const 0)
|
||||
@ -6251,7 +6195,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 39)
|
||||
(i32.const 19)
|
||||
)
|
||||
@ -6289,7 +6233,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 40)
|
||||
(i32.const 20)
|
||||
)
|
||||
@ -6327,7 +6271,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 41)
|
||||
(i32.const 20)
|
||||
)
|
||||
@ -7462,7 +7406,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 221)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -7484,7 +7428,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 222)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -7506,7 +7450,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 223)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -7540,7 +7484,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 224)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -7574,7 +7518,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 225)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -7608,7 +7552,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 226)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -7642,7 +7586,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 227)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -7673,7 +7617,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 228)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -7704,7 +7648,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 229)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -7718,13 +7662,19 @@
|
||||
(i32.eq
|
||||
(i32.const -128)
|
||||
;;@ builtins.ts:242:23
|
||||
(i32.const -128)
|
||||
(i32.shr_s
|
||||
(i32.shl
|
||||
(i32.const 128)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 242)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -7744,7 +7694,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 243)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -7758,13 +7708,19 @@
|
||||
(i32.eq
|
||||
(i32.const -32768)
|
||||
;;@ builtins.ts:244:24
|
||||
(i32.const -32768)
|
||||
(i32.shr_s
|
||||
(i32.shl
|
||||
(i32.const 32768)
|
||||
(i32.const 16)
|
||||
)
|
||||
(i32.const 16)
|
||||
)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 244)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -7784,7 +7740,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 245)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -7798,13 +7754,15 @@
|
||||
(i32.eq
|
||||
(i32.const -2147483648)
|
||||
;;@ builtins.ts:246:24
|
||||
(i32.const -2147483648)
|
||||
(i32.wrap/i64
|
||||
(i64.const 2147483648)
|
||||
)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 246)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -7824,7 +7782,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 247)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -7844,7 +7802,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 248)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -7864,7 +7822,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 249)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -7884,7 +7842,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 251)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -7904,7 +7862,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 252)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -7924,7 +7882,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 253)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -7944,7 +7902,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 254)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -7964,7 +7922,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 255)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -7984,7 +7942,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 256)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8004,7 +7962,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 257)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8024,7 +7982,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 258)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8044,7 +8002,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 259)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8064,7 +8022,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 259)
|
||||
(i32.const 29)
|
||||
)
|
||||
@ -8084,7 +8042,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 260)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8104,7 +8062,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 260)
|
||||
(i32.const 29)
|
||||
)
|
||||
@ -8118,16 +8076,13 @@
|
||||
(f32.eq
|
||||
(f32.const -3402823466385288598117041e14)
|
||||
;;@ builtins.ts:262:24
|
||||
(f32.neg
|
||||
;;@ builtins.ts:262:25
|
||||
(f32.const 3402823466385288598117041e14)
|
||||
)
|
||||
(f32.const -3402823466385288598117041e14)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 262)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8147,7 +8102,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 263)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8161,16 +8116,13 @@
|
||||
(f32.eq
|
||||
(f32.const -16777215)
|
||||
;;@ builtins.ts:264:31
|
||||
(f32.neg
|
||||
;;@ builtins.ts:264:32
|
||||
(f32.const 16777215)
|
||||
)
|
||||
(f32.const -16777215)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 264)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8190,7 +8142,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 265)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8210,7 +8162,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 266)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8224,16 +8176,13 @@
|
||||
(f64.eq
|
||||
(f64.const -1797693134862315708145274e284)
|
||||
;;@ builtins.ts:267:24
|
||||
(f64.neg
|
||||
;;@ builtins.ts:267:25
|
||||
(f64.const 1797693134862315708145274e284)
|
||||
)
|
||||
(f64.const -1797693134862315708145274e284)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 267)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8253,7 +8202,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 268)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8267,16 +8216,13 @@
|
||||
(f64.eq
|
||||
(f64.const -9007199254740991)
|
||||
;;@ builtins.ts:269:31
|
||||
(f64.neg
|
||||
;;@ builtins.ts:269:32
|
||||
(f64.const 9007199254740991)
|
||||
)
|
||||
(f64.const -9007199254740991)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 269)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8296,7 +8242,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 270)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8316,7 +8262,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 271)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8340,7 +8286,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 64)
|
||||
(i32.const 56)
|
||||
(i32.const 42)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8370,7 +8316,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 64)
|
||||
(i32.const 56)
|
||||
(i32.const 54)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8390,7 +8336,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 64)
|
||||
(i32.const 56)
|
||||
(i32.const 55)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8410,7 +8356,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 64)
|
||||
(i32.const 56)
|
||||
(i32.const 56)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8430,7 +8376,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 64)
|
||||
(i32.const 56)
|
||||
(i32.const 57)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8450,7 +8396,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 64)
|
||||
(i32.const 56)
|
||||
(i32.const 58)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8470,7 +8416,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 64)
|
||||
(i32.const 56)
|
||||
(i32.const 59)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8603,7 +8549,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 96)
|
||||
(i32.const 84)
|
||||
(i32.const 151)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8626,7 +8572,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 96)
|
||||
(i32.const 84)
|
||||
(i32.const 152)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8658,7 +8604,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 96)
|
||||
(i32.const 84)
|
||||
(i32.const 155)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8681,7 +8627,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 96)
|
||||
(i32.const 84)
|
||||
(i32.const 156)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8708,7 +8654,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 96)
|
||||
(i32.const 84)
|
||||
(i32.const 157)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8735,7 +8681,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 96)
|
||||
(i32.const 84)
|
||||
(i32.const 158)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8762,7 +8708,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 96)
|
||||
(i32.const 84)
|
||||
(i32.const 159)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8805,7 +8751,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 96)
|
||||
(i32.const 84)
|
||||
(i32.const 162)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8848,7 +8794,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 96)
|
||||
(i32.const 84)
|
||||
(i32.const 165)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8875,7 +8821,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 96)
|
||||
(i32.const 84)
|
||||
(i32.const 166)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8902,7 +8848,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 96)
|
||||
(i32.const 84)
|
||||
(i32.const 167)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8929,7 +8875,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 96)
|
||||
(i32.const 84)
|
||||
(i32.const 168)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8956,7 +8902,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 120)
|
||||
(i32.const 108)
|
||||
(i32.const 65)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -8981,7 +8927,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 120)
|
||||
(i32.const 108)
|
||||
(i32.const 66)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -9010,7 +8956,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 120)
|
||||
(i32.const 108)
|
||||
(i32.const 67)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -9039,7 +8985,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 120)
|
||||
(i32.const 108)
|
||||
(i32.const 68)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -9066,7 +9012,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 120)
|
||||
(i32.const 108)
|
||||
(i32.const 134)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -9091,7 +9037,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 120)
|
||||
(i32.const 108)
|
||||
(i32.const 135)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -9120,7 +9066,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 120)
|
||||
(i32.const 108)
|
||||
(i32.const 136)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -9149,7 +9095,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 120)
|
||||
(i32.const 108)
|
||||
(i32.const 137)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -9184,7 +9130,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 64)
|
||||
(i32.const 56)
|
||||
(i32.const 104)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -9207,7 +9153,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 64)
|
||||
(i32.const 56)
|
||||
(i32.const 105)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -9235,7 +9181,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 64)
|
||||
(i32.const 56)
|
||||
(i32.const 108)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -9260,7 +9206,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 64)
|
||||
(i32.const 56)
|
||||
(i32.const 111)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -10,9 +10,9 @@
|
||||
(global $std/allocator_arena/ptr1 (mut i32) (i32.const 0))
|
||||
(global $std/allocator_arena/ptr2 (mut i32) (i32.const 0))
|
||||
(global $std/allocator_arena/i (mut i32) (i32.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 56))
|
||||
(global $HEAP_BASE i32 (i32.const 52))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\16\00\00\00s\00t\00d\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00_\00a\00r\00e\00n\00a\00.\00t\00s")
|
||||
(data (i32.const 4) "\16\00\00\00s\00t\00d\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00_\00a\00r\00e\00n\00a\00.\00t\00s")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func "$(lib)/allocator/arena/allocate_memory" (; 1 ;) (type $ii) (param $0 i32) (result i32)
|
||||
@ -2386,7 +2386,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 7)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2421,7 +2421,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 13)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -2466,7 +2466,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 18)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -2492,7 +2492,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 20)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2519,7 +2519,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 27)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -15,9 +15,9 @@
|
||||
(global $std/allocator_arena/ptr1 (mut i32) (i32.const 0))
|
||||
(global $std/allocator_arena/ptr2 (mut i32) (i32.const 0))
|
||||
(global $std/allocator_arena/i (mut i32) (i32.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 56))
|
||||
(global $HEAP_BASE i32 (i32.const 52))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\16\00\00\00s\00t\00d\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00_\00a\00r\00e\00n\00a\00.\00t\00s\00")
|
||||
(data (i32.const 4) "\16\00\00\00s\00t\00d\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00_\00a\00r\00e\00n\00a\00.\00t\00s\00")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func "$(lib)/allocator/arena/allocate_memory" (; 1 ;) (type $ii) (param $0 i32) (result i32)
|
||||
@ -336,11 +336,7 @@
|
||||
(i32.and
|
||||
(get_local $2)
|
||||
;;@ (lib)/memory.ts:218:7
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ (lib)/memory.ts:218:8
|
||||
(i32.const 4)
|
||||
)
|
||||
(i32.const -4)
|
||||
)
|
||||
)
|
||||
;;@ (lib)/memory.ts:220:2
|
||||
@ -348,16 +344,11 @@
|
||||
;;@ (lib)/memory.ts:220:17
|
||||
(i32.mul
|
||||
(i32.div_u
|
||||
;;@ (lib)/memory.ts:220:18
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ (lib)/memory.ts:220:19
|
||||
(i32.const 1)
|
||||
)
|
||||
;;@ (lib)/memory.ts:220:23
|
||||
(i32.const -1)
|
||||
;;@ (lib)/memory.ts:220:27
|
||||
(i32.const 255)
|
||||
)
|
||||
;;@ (lib)/memory.ts:220:30
|
||||
;;@ (lib)/memory.ts:220:33
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
@ -3493,7 +3484,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 7)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3545,7 +3536,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 13)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -3610,7 +3601,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 18)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -3650,7 +3641,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 20)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3690,7 +3681,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 27)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -11,10 +11,10 @@
|
||||
(global "$(lib)/allocator/arena/HEAP_OFFSET" (mut i32) (i32.const 0))
|
||||
(global $std/array/arr (mut i32) (i32.const 0))
|
||||
(global $std/array/i (mut i32) (i32.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 72))
|
||||
(global $HEAP_BASE i32 (i32.const 64))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\0c\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00.\00t\00s")
|
||||
(data (i32.const 40) "\0e\00\00\00(\00l\00i\00b\00)\00/\00a\00r\00r\00a\00y\00.\00t\00s")
|
||||
(data (i32.const 4) "\0c\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00.\00t\00s")
|
||||
(data (i32.const 32) "\0e\00\00\00(\00l\00i\00b\00)\00/\00a\00r\00r\00a\00y\00.\00t\00s")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func "$(lib)/allocator/arena/allocate_memory" (; 1 ;) (type $ii) (param $0 i32) (result i32)
|
||||
@ -1985,7 +1985,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 40)
|
||||
(i32.const 32)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -2180,7 +2180,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 40)
|
||||
(i32.const 32)
|
||||
(i32.const 105)
|
||||
(i32.const 6)
|
||||
)
|
||||
@ -2920,7 +2920,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 5)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2934,7 +2934,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 6)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2958,7 +2958,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 10)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2975,7 +2975,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 11)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2992,7 +2992,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 12)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3012,7 +3012,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 16)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3026,7 +3026,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 17)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3043,7 +3043,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 18)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3066,7 +3066,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 22)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3083,7 +3083,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 23)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3101,7 +3101,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 24)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3124,7 +3124,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 28)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3141,7 +3141,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 29)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3159,7 +3159,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 30)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3177,7 +3177,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 31)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3200,7 +3200,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 35)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3217,7 +3217,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 36)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3235,7 +3235,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 37)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3253,7 +3253,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 38)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3271,7 +3271,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 39)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3294,7 +3294,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 43)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3311,7 +3311,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 44)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3329,7 +3329,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 45)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3347,7 +3347,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 46)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3365,7 +3365,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 47)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3383,7 +3383,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 48)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3406,7 +3406,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 52)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3423,7 +3423,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 53)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3441,7 +3441,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 54)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3459,7 +3459,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 55)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3477,7 +3477,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 56)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3495,7 +3495,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 57)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3513,7 +3513,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 58)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3533,7 +3533,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 62)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3550,7 +3550,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 63)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3567,7 +3567,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 64)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3585,7 +3585,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 65)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3603,7 +3603,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 66)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3621,7 +3621,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 67)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3639,7 +3639,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 68)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3659,7 +3659,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 72)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3676,7 +3676,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 73)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3693,7 +3693,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 74)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3711,7 +3711,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 75)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3729,7 +3729,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 76)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3747,7 +3747,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 77)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3769,7 +3769,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 81)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3786,7 +3786,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 82)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3804,7 +3804,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 83)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3822,7 +3822,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 84)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3840,7 +3840,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 85)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3859,7 +3859,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 89)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3881,7 +3881,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 93)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3903,7 +3903,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 97)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3925,7 +3925,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 101)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3942,7 +3942,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 102)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3960,7 +3960,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 103)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3978,7 +3978,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 104)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -15,10 +15,10 @@
|
||||
(global "$(lib)/allocator/arena/HEAP_OFFSET" (mut i32) (i32.const 0))
|
||||
(global $std/array/arr (mut i32) (i32.const 0))
|
||||
(global $std/array/i (mut i32) (i32.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 72))
|
||||
(global $HEAP_BASE i32 (i32.const 64))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\0c\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00.\00t\00s\00")
|
||||
(data (i32.const 40) "\0e\00\00\00(\00l\00i\00b\00)\00/\00a\00r\00r\00a\00y\00.\00t\00s\00")
|
||||
(data (i32.const 4) "\0c\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00.\00t\00s\00")
|
||||
(data (i32.const 32) "\0e\00\00\00(\00l\00i\00b\00)\00/\00a\00r\00r\00a\00y\00.\00t\00s\00")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func "$(lib)/allocator/arena/allocate_memory" (; 1 ;) (type $ii) (param $0 i32) (result i32)
|
||||
@ -2863,7 +2863,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 40)
|
||||
(i32.const 32)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -3141,7 +3141,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 40)
|
||||
(i32.const 32)
|
||||
(i32.const 105)
|
||||
(i32.const 6)
|
||||
)
|
||||
@ -3442,11 +3442,7 @@
|
||||
(i32.and
|
||||
(get_local $2)
|
||||
;;@ (lib)/memory.ts:218:7
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ (lib)/memory.ts:218:8
|
||||
(i32.const 4)
|
||||
)
|
||||
(i32.const -4)
|
||||
)
|
||||
)
|
||||
;;@ (lib)/memory.ts:220:2
|
||||
@ -3454,16 +3450,11 @@
|
||||
;;@ (lib)/memory.ts:220:17
|
||||
(i32.mul
|
||||
(i32.div_u
|
||||
;;@ (lib)/memory.ts:220:18
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ (lib)/memory.ts:220:19
|
||||
(i32.const 1)
|
||||
)
|
||||
;;@ (lib)/memory.ts:220:23
|
||||
(i32.const -1)
|
||||
;;@ (lib)/memory.ts:220:27
|
||||
(i32.const 255)
|
||||
)
|
||||
;;@ (lib)/memory.ts:220:30
|
||||
;;@ (lib)/memory.ts:220:33
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
@ -4090,11 +4081,7 @@
|
||||
;;@ (lib)/array.ts:61:12
|
||||
(return
|
||||
;;@ (lib)/array.ts:61:11
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ (lib)/array.ts:61:12
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const -1)
|
||||
)
|
||||
)
|
||||
(func "$(lib)/array/Array#splice" (; 15 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
@ -4283,7 +4270,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 5)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4305,7 +4292,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 6)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4338,7 +4325,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 10)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4360,7 +4347,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 11)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4382,7 +4369,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 12)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4409,7 +4396,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 16)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4431,7 +4418,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 17)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4453,7 +4440,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 18)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4484,7 +4471,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 22)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4506,7 +4493,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 23)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4530,7 +4517,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 24)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4561,7 +4548,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 28)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4583,7 +4570,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 29)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4607,7 +4594,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 30)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4631,7 +4618,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 31)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4662,7 +4649,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 35)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4684,7 +4671,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 36)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4708,7 +4695,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 37)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4732,7 +4719,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 38)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4756,7 +4743,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 39)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4787,7 +4774,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 43)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4809,7 +4796,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 44)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4833,7 +4820,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 45)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4857,7 +4844,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 46)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4881,7 +4868,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 47)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4905,7 +4892,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 48)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4936,7 +4923,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 52)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4958,7 +4945,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 53)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -4982,7 +4969,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 54)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5006,7 +4993,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 55)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5030,7 +5017,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 56)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5054,7 +5041,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 57)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5078,7 +5065,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 58)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5106,7 +5093,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 62)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5128,7 +5115,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 63)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5150,7 +5137,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 64)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5174,7 +5161,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 65)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5198,7 +5185,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 66)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5222,7 +5209,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 67)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5246,7 +5233,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 68)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5274,7 +5261,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 72)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5296,7 +5283,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 73)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5318,7 +5305,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 74)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5342,7 +5329,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 75)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5366,7 +5353,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 76)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5390,7 +5377,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 77)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5419,7 +5406,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 81)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5441,7 +5428,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 82)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5465,7 +5452,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 83)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5489,7 +5476,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 84)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5513,7 +5500,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 85)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5544,7 +5531,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 89)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5575,7 +5562,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 93)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5601,17 +5588,13 @@
|
||||
(i32.eq
|
||||
(get_global $std/array/i)
|
||||
;;@ std/array.ts:97:12
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ std/array.ts:97:14
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const -1)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 97)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5642,7 +5625,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 101)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5664,7 +5647,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 102)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5688,7 +5671,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 103)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -5712,7 +5695,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 104)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -5,9 +5,9 @@
|
||||
(type $v (func))
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(global $std/carray/arr (mut i32) (i32.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 40))
|
||||
(global $HEAP_BASE i32 (i32.const 36))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\0d\00\00\00s\00t\00d\00/\00c\00a\00r\00r\00a\00y\00.\00t\00s")
|
||||
(data (i32.const 4) "\0d\00\00\00s\00t\00d\00/\00c\00a\00r\00r\00a\00y\00.\00t\00s")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func "$(lib)/array/CArray#__get" (; 1 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
@ -59,7 +59,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 8)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -76,7 +76,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 9)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -91,7 +91,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 11)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -106,7 +106,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 12)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -133,7 +133,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 17)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -153,7 +153,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 18)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -171,7 +171,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 20)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -189,7 +189,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 21)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -213,7 +213,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 23)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -233,7 +233,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 25)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -251,7 +251,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 26)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -5,9 +5,9 @@
|
||||
(type $v (func))
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(global $std/carray/arr (mut i32) (i32.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 40))
|
||||
(global $HEAP_BASE i32 (i32.const 36))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\0d\00\00\00s\00t\00d\00/\00c\00a\00r\00r\00a\00y\00.\00t\00s\00")
|
||||
(data (i32.const 4) "\0d\00\00\00s\00t\00d\00/\00c\00a\00r\00r\00a\00y\00.\00t\00s\00")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func "$(lib)/array/CArray#__get" (; 1 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
@ -89,7 +89,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 8)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -116,7 +116,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 9)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -140,7 +140,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 11)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -164,7 +164,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 12)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -203,7 +203,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 17)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -230,7 +230,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 18)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -254,7 +254,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 20)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -278,7 +278,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 21)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -310,7 +310,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 23)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -337,7 +337,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 25)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -361,7 +361,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 26)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -8,10 +8,10 @@
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(global "$(lib)/allocator/arena/HEAP_OFFSET" (mut i32) (i32.const 0))
|
||||
(global $std/set/set (mut i32) (i32.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 60))
|
||||
(global $HEAP_BASE i32 (i32.const 56))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\n\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s")
|
||||
(data (i32.const 32) "\0c\00\00\00(\00l\00i\00b\00)\00/\00s\00e\00t\00.\00t\00s")
|
||||
(data (i32.const 4) "\n\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s")
|
||||
(data (i32.const 28) "\0c\00\00\00(\00l\00i\00b\00)\00/\00s\00e\00t\00.\00t\00s")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func "$(lib)/allocator/arena/allocate_memory" (; 1 ;) (type $ii) (param $0 i32) (result i32)
|
||||
@ -1980,7 +1980,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 31)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -2092,7 +2092,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 22)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -2152,7 +2152,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 49)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -2264,7 +2264,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 62)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -2292,7 +2292,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 7)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2327,7 +2327,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 13)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2344,7 +2344,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 15)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2361,7 +2361,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 16)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2378,7 +2378,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 17)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2393,7 +2393,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 18)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2416,7 +2416,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 22)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2433,7 +2433,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 23)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2448,7 +2448,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 24)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2465,7 +2465,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 25)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2482,7 +2482,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 29)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2497,7 +2497,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 30)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -12,10 +12,10 @@
|
||||
(global "$(lib)/allocator/arena/ALIGN_MASK" i32 (i32.const 7))
|
||||
(global "$(lib)/allocator/arena/HEAP_OFFSET" (mut i32) (i32.const 0))
|
||||
(global $std/set/set (mut i32) (i32.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 60))
|
||||
(global $HEAP_BASE i32 (i32.const 56))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\n\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s\00")
|
||||
(data (i32.const 32) "\0c\00\00\00(\00l\00i\00b\00)\00/\00s\00e\00t\00.\00t\00s\00")
|
||||
(data (i32.const 4) "\n\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s\00")
|
||||
(data (i32.const 28) "\0c\00\00\00(\00l\00i\00b\00)\00/\00s\00e\00t\00.\00t\00s\00")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func "$(lib)/allocator/arena/allocate_memory" (; 1 ;) (type $ii) (param $0 i32) (result i32)
|
||||
@ -2861,7 +2861,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 31)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -3019,7 +3019,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 22)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -3109,7 +3109,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 49)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -3270,7 +3270,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 32)
|
||||
(i32.const 28)
|
||||
(i32.const 62)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -3319,7 +3319,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 7)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3368,7 +3368,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 13)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3389,7 +3389,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 15)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3410,7 +3410,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 16)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3431,7 +3431,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 17)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3455,7 +3455,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 18)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3486,7 +3486,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 22)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3507,7 +3507,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 23)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3531,7 +3531,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 24)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3552,7 +3552,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 25)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3579,7 +3579,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 29)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3603,7 +3603,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 30)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -7,28 +7,28 @@
|
||||
(type $iF (func (param i32) (result f64)))
|
||||
(type $v (func))
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(global $std/string/str (mut i32) (i32.const 8))
|
||||
(global $std/string/str (mut i32) (i32.const 4))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\10\00\00\00h\00i\00,\00 \00I\00\'\00m\00 \00a\00 \00s\00t\00r\00i\00n\00g")
|
||||
(data (i32.const 48) "\0d\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s")
|
||||
(data (i32.const 80) "\0f\00\00\00(\00l\00i\00b\00)\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s")
|
||||
(data (i32.const 120) "\02\00\00\00h\00i")
|
||||
(data (i32.const 128) "\04\00\00\00n\00u\00l\00l")
|
||||
(data (i32.const 144) "\06\00\00\00s\00t\00r\00i\00n\00g")
|
||||
(data (i32.const 160) "\03\00\00\00I\00\'\00m")
|
||||
(data (i32.const 176) "\01\00\00\00,")
|
||||
(data (i32.const 184) "\01\00\00\00x")
|
||||
(data (i32.const 192) "\01\00\00\000")
|
||||
(data (i32.const 200) "\01\00\00\001")
|
||||
(data (i32.const 208) "\05\00\00\000\00b\001\000\001")
|
||||
(data (i32.const 224) "\05\00\00\000\00o\007\000\007")
|
||||
(data (i32.const 240) "\05\00\00\000\00x\00f\000\00f")
|
||||
(data (i32.const 256) "\05\00\00\000\00x\00F\000\00F")
|
||||
(data (i32.const 272) "\03\00\00\000\001\001")
|
||||
(data (i32.const 288) "\04\00\00\000\00x\001\00g")
|
||||
(data (i32.const 304) "\03\00\00\000\00.\001")
|
||||
(data (i32.const 320) "\03\00\00\00.\002\005")
|
||||
(data (i32.const 336) "\08\00\00\00.\001\00f\00o\00o\00b\00a\00r")
|
||||
(data (i32.const 4) "\10\00\00\00h\00i\00,\00 \00I\00\'\00m\00 \00a\00 \00s\00t\00r\00i\00n\00g")
|
||||
(data (i32.const 40) "\0d\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s")
|
||||
(data (i32.const 72) "\0f\00\00\00(\00l\00i\00b\00)\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s")
|
||||
(data (i32.const 108) "\02\00\00\00h\00i")
|
||||
(data (i32.const 116) "\04\00\00\00n\00u\00l\00l")
|
||||
(data (i32.const 128) "\06\00\00\00s\00t\00r\00i\00n\00g")
|
||||
(data (i32.const 144) "\03\00\00\00I\00\'\00m")
|
||||
(data (i32.const 156) "\01\00\00\00,")
|
||||
(data (i32.const 164) "\01\00\00\00x")
|
||||
(data (i32.const 172) "\01\00\00\000")
|
||||
(data (i32.const 180) "\01\00\00\001")
|
||||
(data (i32.const 188) "\05\00\00\000\00b\001\000\001")
|
||||
(data (i32.const 204) "\05\00\00\000\00o\007\000\007")
|
||||
(data (i32.const 220) "\05\00\00\000\00x\00f\000\00f")
|
||||
(data (i32.const 236) "\05\00\00\000\00x\00F\000\00F")
|
||||
(data (i32.const 252) "\03\00\00\000\001\001")
|
||||
(data (i32.const 264) "\04\00\00\000\00x\001\00g")
|
||||
(data (i32.const 276) "\03\00\00\000\00.\001")
|
||||
(data (i32.const 288) "\03\00\00\00.\002\005")
|
||||
(data (i32.const 300) "\08\00\00\00.\001\00f\00o\00o\00b\00a\00r")
|
||||
(export "getString" (func $std/string/getString))
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
@ -40,7 +40,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 80)
|
||||
(i32.const 72)
|
||||
(i32.const 38)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -139,7 +139,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 80)
|
||||
(i32.const 72)
|
||||
(i32.const 166)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -151,7 +151,7 @@
|
||||
(get_local $1)
|
||||
)
|
||||
(set_local $1
|
||||
(i32.const 128)
|
||||
(i32.const 116)
|
||||
)
|
||||
)
|
||||
(if
|
||||
@ -226,7 +226,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 80)
|
||||
(i32.const 72)
|
||||
(i32.const 103)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -313,7 +313,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 80)
|
||||
(i32.const 72)
|
||||
(i32.const 144)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -325,7 +325,7 @@
|
||||
(get_local $1)
|
||||
)
|
||||
(set_local $1
|
||||
(i32.const 128)
|
||||
(i32.const 116)
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
@ -956,7 +956,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 80)
|
||||
(i32.const 72)
|
||||
(i32.const 469)
|
||||
(i32.const 10)
|
||||
)
|
||||
@ -1047,12 +1047,12 @@
|
||||
(if
|
||||
(i32.ne
|
||||
(get_global $std/string/str)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 6)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1069,7 +1069,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 8)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1087,7 +1087,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 9)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1098,14 +1098,14 @@
|
||||
(i32.eqz
|
||||
(call "$(lib)/string/String#startsWith"
|
||||
(get_global $std/string/str)
|
||||
(i32.const 120)
|
||||
(i32.const 108)
|
||||
(i32.const 0)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 10)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1116,14 +1116,14 @@
|
||||
(i32.eqz
|
||||
(call "$(lib)/string/String#endsWith"
|
||||
(get_global $std/string/str)
|
||||
(i32.const 144)
|
||||
(i32.const 128)
|
||||
(i32.const 2147483647)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 11)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1134,14 +1134,14 @@
|
||||
(i32.eqz
|
||||
(call "$(lib)/string/String#includes"
|
||||
(get_global $std/string/str)
|
||||
(i32.const 160)
|
||||
(i32.const 144)
|
||||
(i32.const 0)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 12)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1152,7 +1152,7 @@
|
||||
(i32.ne
|
||||
(call "$(lib)/string/String#indexOf"
|
||||
(get_global $std/string/str)
|
||||
(i32.const 176)
|
||||
(i32.const 156)
|
||||
(i32.const 0)
|
||||
)
|
||||
(i32.const 2)
|
||||
@ -1160,7 +1160,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 13)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1171,7 +1171,7 @@
|
||||
(i32.ne
|
||||
(call "$(lib)/string/String#indexOf"
|
||||
(get_global $std/string/str)
|
||||
(i32.const 184)
|
||||
(i32.const 164)
|
||||
(i32.const 0)
|
||||
)
|
||||
(i32.const -1)
|
||||
@ -1179,7 +1179,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 14)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1189,7 +1189,7 @@
|
||||
(if
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseInt"
|
||||
(i32.const 192)
|
||||
(i32.const 172)
|
||||
(i32.const 0)
|
||||
)
|
||||
(f64.const 0)
|
||||
@ -1197,7 +1197,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 20)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1207,7 +1207,7 @@
|
||||
(if
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseInt"
|
||||
(i32.const 200)
|
||||
(i32.const 180)
|
||||
(i32.const 0)
|
||||
)
|
||||
(f64.const 1)
|
||||
@ -1215,7 +1215,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 21)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1225,7 +1225,7 @@
|
||||
(if
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseInt"
|
||||
(i32.const 208)
|
||||
(i32.const 188)
|
||||
(i32.const 0)
|
||||
)
|
||||
(f64.const 5)
|
||||
@ -1233,7 +1233,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 22)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1243,7 +1243,7 @@
|
||||
(if
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseInt"
|
||||
(i32.const 224)
|
||||
(i32.const 204)
|
||||
(i32.const 0)
|
||||
)
|
||||
(f64.const 455)
|
||||
@ -1251,7 +1251,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 23)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1261,7 +1261,7 @@
|
||||
(if
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseInt"
|
||||
(i32.const 240)
|
||||
(i32.const 220)
|
||||
(i32.const 0)
|
||||
)
|
||||
(f64.const 3855)
|
||||
@ -1269,7 +1269,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 24)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1279,7 +1279,7 @@
|
||||
(if
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseInt"
|
||||
(i32.const 256)
|
||||
(i32.const 236)
|
||||
(i32.const 0)
|
||||
)
|
||||
(f64.const 3855)
|
||||
@ -1287,7 +1287,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 25)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1297,7 +1297,7 @@
|
||||
(if
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseInt"
|
||||
(i32.const 272)
|
||||
(i32.const 252)
|
||||
(i32.const 0)
|
||||
)
|
||||
(f64.const 11)
|
||||
@ -1305,7 +1305,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 26)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1315,7 +1315,7 @@
|
||||
(if
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseInt"
|
||||
(i32.const 288)
|
||||
(i32.const 264)
|
||||
(i32.const 0)
|
||||
)
|
||||
(f64.const 1)
|
||||
@ -1323,7 +1323,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 27)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1333,14 +1333,14 @@
|
||||
(if
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseFloat"
|
||||
(i32.const 192)
|
||||
(i32.const 172)
|
||||
)
|
||||
(f64.const 0)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 29)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1350,14 +1350,14 @@
|
||||
(if
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseFloat"
|
||||
(i32.const 200)
|
||||
(i32.const 180)
|
||||
)
|
||||
(f64.const 1)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 30)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1367,14 +1367,14 @@
|
||||
(if
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseFloat"
|
||||
(i32.const 304)
|
||||
(i32.const 276)
|
||||
)
|
||||
(f64.const 0.1)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 31)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1384,14 +1384,14 @@
|
||||
(if
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseFloat"
|
||||
(i32.const 320)
|
||||
(i32.const 288)
|
||||
)
|
||||
(f64.const 0.25)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 32)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1401,14 +1401,14 @@
|
||||
(if
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseFloat"
|
||||
(i32.const 336)
|
||||
(i32.const 300)
|
||||
)
|
||||
(f64.const 0.1)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 33)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -7,7 +7,7 @@
|
||||
(type $iF (func (param i32) (result f64)))
|
||||
(type $v (func))
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(global $std/string/str (mut i32) (i32.const 8))
|
||||
(global $std/string/str (mut i32) (i32.const 4))
|
||||
(global "$(lib)/string/HEAD" i32 (i32.const 4))
|
||||
(global "$(lib)/string/CharCode.PLUS" i32 (i32.const 43))
|
||||
(global "$(lib)/string/CharCode.MINUS" i32 (i32.const 45))
|
||||
@ -34,28 +34,28 @@
|
||||
(global "$(lib)/string/CharCode.o" i32 (i32.const 111))
|
||||
(global "$(lib)/string/CharCode.x" i32 (i32.const 120))
|
||||
(global "$(lib)/string/CharCode.z" i32 (i32.const 122))
|
||||
(global $HEAP_BASE i32 (i32.const 356))
|
||||
(global $HEAP_BASE i32 (i32.const 320))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\10\00\00\00h\00i\00,\00 \00I\00\'\00m\00 \00a\00 \00s\00t\00r\00i\00n\00g\00")
|
||||
(data (i32.const 48) "\0d\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00")
|
||||
(data (i32.const 80) "\0f\00\00\00(\00l\00i\00b\00)\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00")
|
||||
(data (i32.const 120) "\02\00\00\00h\00i\00")
|
||||
(data (i32.const 128) "\04\00\00\00n\00u\00l\00l\00")
|
||||
(data (i32.const 144) "\06\00\00\00s\00t\00r\00i\00n\00g\00")
|
||||
(data (i32.const 160) "\03\00\00\00I\00\'\00m\00")
|
||||
(data (i32.const 176) "\01\00\00\00,\00")
|
||||
(data (i32.const 184) "\01\00\00\00x\00")
|
||||
(data (i32.const 192) "\01\00\00\000\00")
|
||||
(data (i32.const 200) "\01\00\00\001\00")
|
||||
(data (i32.const 208) "\05\00\00\000\00b\001\000\001\00")
|
||||
(data (i32.const 224) "\05\00\00\000\00o\007\000\007\00")
|
||||
(data (i32.const 240) "\05\00\00\000\00x\00f\000\00f\00")
|
||||
(data (i32.const 256) "\05\00\00\000\00x\00F\000\00F\00")
|
||||
(data (i32.const 272) "\03\00\00\000\001\001\00")
|
||||
(data (i32.const 288) "\04\00\00\000\00x\001\00g\00")
|
||||
(data (i32.const 304) "\03\00\00\000\00.\001\00")
|
||||
(data (i32.const 320) "\03\00\00\00.\002\005\00")
|
||||
(data (i32.const 336) "\08\00\00\00.\001\00f\00o\00o\00b\00a\00r\00")
|
||||
(data (i32.const 4) "\10\00\00\00h\00i\00,\00 \00I\00\'\00m\00 \00a\00 \00s\00t\00r\00i\00n\00g\00")
|
||||
(data (i32.const 40) "\0d\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00")
|
||||
(data (i32.const 72) "\0f\00\00\00(\00l\00i\00b\00)\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00")
|
||||
(data (i32.const 108) "\02\00\00\00h\00i\00")
|
||||
(data (i32.const 116) "\04\00\00\00n\00u\00l\00l\00")
|
||||
(data (i32.const 128) "\06\00\00\00s\00t\00r\00i\00n\00g\00")
|
||||
(data (i32.const 144) "\03\00\00\00I\00\'\00m\00")
|
||||
(data (i32.const 156) "\01\00\00\00,\00")
|
||||
(data (i32.const 164) "\01\00\00\00x\00")
|
||||
(data (i32.const 172) "\01\00\00\000\00")
|
||||
(data (i32.const 180) "\01\00\00\001\00")
|
||||
(data (i32.const 188) "\05\00\00\000\00b\001\000\001\00")
|
||||
(data (i32.const 204) "\05\00\00\000\00o\007\000\007\00")
|
||||
(data (i32.const 220) "\05\00\00\000\00x\00f\000\00f\00")
|
||||
(data (i32.const 236) "\05\00\00\000\00x\00F\000\00F\00")
|
||||
(data (i32.const 252) "\03\00\00\000\001\001\00")
|
||||
(data (i32.const 264) "\04\00\00\000\00x\001\00g\00")
|
||||
(data (i32.const 276) "\03\00\00\000\00.\001\00")
|
||||
(data (i32.const 288) "\03\00\00\00.\002\005\00")
|
||||
(data (i32.const 300) "\08\00\00\00.\001\00f\00o\00o\00b\00a\00r\00")
|
||||
(export "getString" (func $std/string/getString))
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
@ -73,7 +73,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 80)
|
||||
(i32.const 72)
|
||||
(i32.const 38)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -93,11 +93,7 @@
|
||||
;;@ (lib)/string.ts:41:14
|
||||
(return
|
||||
;;@ (lib)/string.ts:41:13
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ (lib)/string.ts:41:14
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const -1)
|
||||
)
|
||||
)
|
||||
;;@ (lib)/string.ts:46:4
|
||||
@ -227,7 +223,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 80)
|
||||
(i32.const 72)
|
||||
(i32.const 166)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -245,7 +241,7 @@
|
||||
;;@ (lib)/string.ts:169:6
|
||||
(set_local $1
|
||||
;;@ (lib)/string.ts:169:21
|
||||
(i32.const 128)
|
||||
(i32.const 116)
|
||||
)
|
||||
)
|
||||
;;@ (lib)/string.ts:171:4
|
||||
@ -372,7 +368,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 80)
|
||||
(i32.const 72)
|
||||
(i32.const 103)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -512,7 +508,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 80)
|
||||
(i32.const 72)
|
||||
(i32.const 144)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -530,7 +526,7 @@
|
||||
;;@ (lib)/string.ts:147:6
|
||||
(set_local $1
|
||||
;;@ (lib)/string.ts:147:21
|
||||
(i32.const 128)
|
||||
(i32.const 116)
|
||||
)
|
||||
)
|
||||
;;@ (lib)/string.ts:149:4
|
||||
@ -661,11 +657,7 @@
|
||||
;;@ (lib)/string.ts:162:12
|
||||
(return
|
||||
;;@ (lib)/string.ts:162:11
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ (lib)/string.ts:162:12
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const -1)
|
||||
)
|
||||
)
|
||||
(func "$(lib)/string/String#includes" (; 6 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
@ -683,11 +675,7 @@
|
||||
(get_local $2)
|
||||
)
|
||||
;;@ (lib)/string.ts:140:51
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ (lib)/string.ts:140:52
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const -1)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -785,10 +773,7 @@
|
||||
;;@ (lib)/string.ts:378:4
|
||||
(set_local $5
|
||||
;;@ (lib)/string.ts:378:11
|
||||
(f64.neg
|
||||
;;@ (lib)/string.ts:378:12
|
||||
(f64.const 1)
|
||||
)
|
||||
(f64.const -1)
|
||||
)
|
||||
)
|
||||
;;@ (lib)/string.ts:379:9
|
||||
@ -1358,10 +1343,7 @@
|
||||
;;@ (lib)/string.ts:450:4
|
||||
(set_local $4
|
||||
;;@ (lib)/string.ts:450:11
|
||||
(f64.neg
|
||||
;;@ (lib)/string.ts:450:12
|
||||
(f64.const 1)
|
||||
)
|
||||
(f64.const -1)
|
||||
)
|
||||
)
|
||||
;;@ (lib)/string.ts:451:9
|
||||
@ -1535,7 +1517,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 80)
|
||||
(i32.const 72)
|
||||
(i32.const 469)
|
||||
(i32.const 10)
|
||||
)
|
||||
@ -1669,13 +1651,13 @@
|
||||
(i32.eq
|
||||
(get_global $std/string/str)
|
||||
;;@ std/string.ts:6:33
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 6)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1697,7 +1679,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 8)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1723,7 +1705,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 9)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1738,7 +1720,7 @@
|
||||
;;@ std/string.ts:10:7
|
||||
(get_global $std/string/str)
|
||||
;;@ std/string.ts:10:22
|
||||
(i32.const 120)
|
||||
(i32.const 108)
|
||||
;;@ (lib)/string.ts:165:51
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1746,7 +1728,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 10)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1761,7 +1743,7 @@
|
||||
;;@ std/string.ts:11:7
|
||||
(get_global $std/string/str)
|
||||
;;@ std/string.ts:11:20
|
||||
(i32.const 144)
|
||||
(i32.const 128)
|
||||
;;@ (lib)/string.ts:102:52
|
||||
(i32.const 2147483647)
|
||||
)
|
||||
@ -1769,7 +1751,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 11)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1784,7 +1766,7 @@
|
||||
;;@ std/string.ts:12:7
|
||||
(get_global $std/string/str)
|
||||
;;@ std/string.ts:12:20
|
||||
(i32.const 160)
|
||||
(i32.const 144)
|
||||
;;@ (lib)/string.ts:139:49
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1792,7 +1774,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 12)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1809,7 +1791,7 @@
|
||||
;;@ std/string.ts:13:7
|
||||
(get_global $std/string/str)
|
||||
;;@ std/string.ts:13:19
|
||||
(i32.const 176)
|
||||
(i32.const 156)
|
||||
(i32.const 0)
|
||||
)
|
||||
;;@ std/string.ts:13:27
|
||||
@ -1819,7 +1801,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 13)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1836,22 +1818,18 @@
|
||||
;;@ std/string.ts:14:7
|
||||
(get_global $std/string/str)
|
||||
;;@ std/string.ts:14:19
|
||||
(i32.const 184)
|
||||
(i32.const 164)
|
||||
;;@ (lib)/string.ts:143:48
|
||||
(i32.const 0)
|
||||
)
|
||||
;;@ std/string.ts:14:27
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ std/string.ts:14:28
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const -1)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 14)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1865,7 +1843,7 @@
|
||||
(f64.eq
|
||||
(call "$(lib)/string/parseInt"
|
||||
;;@ std/string.ts:20:16
|
||||
(i32.const 192)
|
||||
(i32.const 172)
|
||||
(i32.const 0)
|
||||
)
|
||||
;;@ std/string.ts:20:24
|
||||
@ -1875,7 +1853,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 20)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1889,7 +1867,7 @@
|
||||
(f64.eq
|
||||
(call "$(lib)/string/parseInt"
|
||||
;;@ std/string.ts:21:16
|
||||
(i32.const 200)
|
||||
(i32.const 180)
|
||||
(i32.const 0)
|
||||
)
|
||||
;;@ std/string.ts:21:24
|
||||
@ -1899,7 +1877,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 21)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1913,7 +1891,7 @@
|
||||
(f64.eq
|
||||
(call "$(lib)/string/parseInt"
|
||||
;;@ std/string.ts:22:16
|
||||
(i32.const 208)
|
||||
(i32.const 188)
|
||||
(i32.const 0)
|
||||
)
|
||||
;;@ std/string.ts:22:28
|
||||
@ -1923,7 +1901,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 22)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1937,7 +1915,7 @@
|
||||
(f64.eq
|
||||
(call "$(lib)/string/parseInt"
|
||||
;;@ std/string.ts:23:16
|
||||
(i32.const 224)
|
||||
(i32.const 204)
|
||||
(i32.const 0)
|
||||
)
|
||||
;;@ std/string.ts:23:28
|
||||
@ -1947,7 +1925,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 23)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1961,7 +1939,7 @@
|
||||
(f64.eq
|
||||
(call "$(lib)/string/parseInt"
|
||||
;;@ std/string.ts:24:16
|
||||
(i32.const 240)
|
||||
(i32.const 220)
|
||||
(i32.const 0)
|
||||
)
|
||||
;;@ std/string.ts:24:28
|
||||
@ -1971,7 +1949,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 24)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -1985,7 +1963,7 @@
|
||||
(f64.eq
|
||||
(call "$(lib)/string/parseInt"
|
||||
;;@ std/string.ts:25:16
|
||||
(i32.const 256)
|
||||
(i32.const 236)
|
||||
(i32.const 0)
|
||||
)
|
||||
;;@ std/string.ts:25:28
|
||||
@ -1995,7 +1973,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 25)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2009,7 +1987,7 @@
|
||||
(f64.eq
|
||||
(call "$(lib)/string/parseInt"
|
||||
;;@ std/string.ts:26:16
|
||||
(i32.const 272)
|
||||
(i32.const 252)
|
||||
(i32.const 0)
|
||||
)
|
||||
;;@ std/string.ts:26:26
|
||||
@ -2019,7 +1997,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 26)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2033,7 +2011,7 @@
|
||||
(f64.eq
|
||||
(call "$(lib)/string/parseInt"
|
||||
;;@ std/string.ts:27:16
|
||||
(i32.const 288)
|
||||
(i32.const 264)
|
||||
;;@ (lib)/string.ts:353:51
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2044,7 +2022,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 27)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2058,7 +2036,7 @@
|
||||
(f64.eq
|
||||
(call "$(lib)/string/parseFloat"
|
||||
;;@ std/string.ts:29:18
|
||||
(i32.const 192)
|
||||
(i32.const 172)
|
||||
)
|
||||
;;@ std/string.ts:29:26
|
||||
(f64.const 0)
|
||||
@ -2067,7 +2045,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 29)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2081,7 +2059,7 @@
|
||||
(f64.eq
|
||||
(call "$(lib)/string/parseFloat"
|
||||
;;@ std/string.ts:30:18
|
||||
(i32.const 200)
|
||||
(i32.const 180)
|
||||
)
|
||||
;;@ std/string.ts:30:26
|
||||
(f64.const 1)
|
||||
@ -2090,7 +2068,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 30)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2104,7 +2082,7 @@
|
||||
(f64.eq
|
||||
(call "$(lib)/string/parseFloat"
|
||||
;;@ std/string.ts:31:18
|
||||
(i32.const 304)
|
||||
(i32.const 276)
|
||||
)
|
||||
;;@ std/string.ts:31:28
|
||||
(f64.const 0.1)
|
||||
@ -2113,7 +2091,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 31)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2127,7 +2105,7 @@
|
||||
(f64.eq
|
||||
(call "$(lib)/string/parseFloat"
|
||||
;;@ std/string.ts:32:18
|
||||
(i32.const 320)
|
||||
(i32.const 288)
|
||||
)
|
||||
;;@ std/string.ts:32:28
|
||||
(f64.const 0.25)
|
||||
@ -2136,7 +2114,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 32)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2150,7 +2128,7 @@
|
||||
(f64.eq
|
||||
(call "$(lib)/string/parseFloat"
|
||||
;;@ std/string.ts:33:18
|
||||
(i32.const 336)
|
||||
(i32.const 300)
|
||||
)
|
||||
;;@ std/string.ts:33:33
|
||||
(f64.const 0.1)
|
||||
@ -2159,7 +2137,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 48)
|
||||
(i32.const 40)
|
||||
(i32.const 33)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -7,7 +7,7 @@
|
||||
(type $v (func))
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\07\00\00\00t\00l\00s\00f\00.\00t\00s")
|
||||
(data (i32.const 4) "\07\00\00\00t\00l\00s\00f\00.\00t\00s")
|
||||
(export "control$construct" (func $tlsf/control$construct))
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
@ -68,7 +68,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 162)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -98,7 +98,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 173)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -113,7 +113,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 174)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -215,7 +215,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 10)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -229,7 +229,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 11)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -246,7 +246,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 12)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -263,7 +263,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 13)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -280,7 +280,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 20)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -294,7 +294,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 21)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -311,7 +311,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 22)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -30,9 +30,9 @@
|
||||
(global $tlsf/CONTROL$SL_BITMAP_OFFSET i32 (i32.const 20))
|
||||
(global $tlsf/CONTROL$BLOCKS_OFFSET i32 (i32.const 112))
|
||||
(global $tlsf/CONTROL$SIZE i32 (i32.const 3056))
|
||||
(global $HEAP_BASE i32 (i32.const 28))
|
||||
(global $HEAP_BASE i32 (i32.const 24))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\07\00\00\00t\00l\00s\00f\00.\00t\00s\00")
|
||||
(data (i32.const 4) "\07\00\00\00t\00l\00s\00f\00.\00t\00s\00")
|
||||
(export "control$construct" (func $tlsf/control$construct))
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
@ -46,11 +46,7 @@
|
||||
(get_local $0)
|
||||
)
|
||||
;;@ tlsf.ts:7:17
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ tlsf.ts:7:18
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const -1)
|
||||
;;@ tlsf.ts:7:21
|
||||
(i32.sub
|
||||
(i32.const 31)
|
||||
@ -73,11 +69,7 @@
|
||||
(get_local $0)
|
||||
)
|
||||
;;@ tlsf.ts:17:17
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ tlsf.ts:17:18
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const -1)
|
||||
;;@ tlsf.ts:17:22
|
||||
(i32.ctz
|
||||
;;@ tlsf.ts:17:31
|
||||
@ -139,7 +131,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 162)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -180,7 +172,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 173)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -200,7 +192,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 174)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -352,17 +344,13 @@
|
||||
(i32.const 0)
|
||||
)
|
||||
;;@ tlsf.ts:10:17
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ tlsf.ts:10:18
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const -1)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 10)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -385,7 +373,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 11)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -408,7 +396,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 12)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -431,7 +419,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 13)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -448,17 +436,13 @@
|
||||
(i32.const 0)
|
||||
)
|
||||
;;@ tlsf.ts:20:17
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ tlsf.ts:20:18
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const -1)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 20)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -481,7 +465,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 21)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -504,7 +488,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 22)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -524,7 +508,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 29)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -20,11 +20,7 @@
|
||||
)
|
||||
;;@ unary.ts:2:0
|
||||
(drop
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ unary.ts:2:1
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const -1)
|
||||
)
|
||||
;;@ unary.ts:3:0
|
||||
(drop
|
||||
@ -48,10 +44,7 @@
|
||||
)
|
||||
;;@ unary.ts:6:0
|
||||
(drop
|
||||
(f64.neg
|
||||
;;@ unary.ts:6:1
|
||||
(f64.const 1.25)
|
||||
)
|
||||
(f64.const -1.25)
|
||||
)
|
||||
;;@ unary.ts:7:0
|
||||
(drop
|
||||
@ -127,11 +120,7 @@
|
||||
;;@ unary.ts:21:0
|
||||
(set_global $unary/i
|
||||
;;@ unary.ts:21:4
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ unary.ts:21:5
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const -1)
|
||||
)
|
||||
;;@ unary.ts:22:0
|
||||
(set_global $unary/i
|
||||
@ -307,11 +296,7 @@
|
||||
;;@ unary.ts:45:0
|
||||
(set_global $unary/I
|
||||
;;@ unary.ts:45:4
|
||||
(i64.sub
|
||||
(i64.const 0)
|
||||
;;@ unary.ts:45:5
|
||||
(i64.const 1)
|
||||
)
|
||||
(i64.const -1)
|
||||
)
|
||||
;;@ unary.ts:46:0
|
||||
(set_global $unary/I
|
||||
@ -483,10 +468,7 @@
|
||||
;;@ unary.ts:68:0
|
||||
(set_global $unary/f
|
||||
;;@ unary.ts:68:4
|
||||
(f32.neg
|
||||
;;@ unary.ts:68:5
|
||||
(f32.const 1.25)
|
||||
)
|
||||
(f32.const -1.25)
|
||||
)
|
||||
;;@ unary.ts:69:0
|
||||
(set_global $unary/i
|
||||
@ -637,10 +619,7 @@
|
||||
;;@ unary.ts:89:0
|
||||
(set_global $unary/F
|
||||
;;@ unary.ts:89:4
|
||||
(f64.neg
|
||||
;;@ unary.ts:89:5
|
||||
(f64.const 1.25)
|
||||
)
|
||||
(f64.const -1.25)
|
||||
)
|
||||
;;@ unary.ts:90:0
|
||||
(set_global $unary/I
|
||||
|
@ -6,7 +6,7 @@
|
||||
(global $while/m (mut i32) (i32.const 0))
|
||||
(global $while/o (mut i32) (i32.const 0))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\08\00\00\00w\00h\00i\00l\00e\00.\00t\00s")
|
||||
(data (i32.const 4) "\08\00\00\00w\00h\00i\00l\00e\00.\00t\00s")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $start (; 1 ;) (type $v)
|
||||
@ -36,7 +36,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 8)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -51,7 +51,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 9)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -105,7 +105,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 21)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -120,7 +120,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 22)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -136,7 +136,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 24)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -151,7 +151,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 25)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -166,7 +166,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 26)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -214,7 +214,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 31)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -229,7 +229,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 32)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -5,9 +5,9 @@
|
||||
(global $while/n (mut i32) (i32.const 10))
|
||||
(global $while/m (mut i32) (i32.const 0))
|
||||
(global $while/o (mut i32) (i32.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 28))
|
||||
(global $HEAP_BASE i32 (i32.const 24))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\08\00\00\00w\00h\00i\00l\00e\00.\00t\00s\00")
|
||||
(data (i32.const 4) "\08\00\00\00w\00h\00i\00l\00e\00.\00t\00s\00")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $start (; 1 ;) (type $v)
|
||||
@ -53,7 +53,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 8)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -73,7 +73,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 9)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -153,7 +153,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 21)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -173,7 +173,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 22)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -199,7 +199,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 24)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -219,7 +219,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 25)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -239,7 +239,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 26)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -307,17 +307,13 @@
|
||||
(i32.eq
|
||||
(get_global $while/n)
|
||||
;;@ while.ts:31:12
|
||||
(i32.sub
|
||||
(i32.const 0)
|
||||
;;@ while.ts:31:13
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.const -1)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 31)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -337,7 +333,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 32)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -22,9 +22,9 @@
|
||||
(global "$(lib)/allocator/tlsf/LEFT_FREE" i32 (i32.const 2))
|
||||
(global "$(lib)/allocator/tlsf/TAGS" i32 (i32.const 3))
|
||||
(global "$(lib)/allocator/tlsf/ROOT" (mut i32) (i32.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 60))
|
||||
(global $HEAP_BASE i32 (i32.const 56))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\17\00\00\00(\00l\00i\00b\00)\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s\00")
|
||||
(data (i32.const 4) "\17\00\00\00(\00l\00i\00b\00)\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s\00")
|
||||
(export "allocate_memory" (func "$(lib)/allocator/tlsf/allocate_memory"))
|
||||
(export "free_memory" (func "$(lib)/allocator/tlsf/free_memory"))
|
||||
(export "memory" (memory $0))
|
||||
@ -52,7 +52,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 138)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -89,7 +89,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 161)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -109,7 +109,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 162)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -172,7 +172,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 83)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -212,7 +212,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 84)
|
||||
(i32.const 11)
|
||||
)
|
||||
@ -236,7 +236,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 423)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -272,7 +272,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 152)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -292,7 +292,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 153)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -339,7 +339,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 132)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -392,7 +392,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 252)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -442,7 +442,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 254)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -683,7 +683,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 75)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -710,7 +710,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 76)
|
||||
(i32.const 11)
|
||||
)
|
||||
@ -736,7 +736,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 331)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -758,7 +758,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 332)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -780,7 +780,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 333)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -819,7 +819,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 183)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -846,7 +846,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 185)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -898,7 +898,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 187)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -920,7 +920,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 191)
|
||||
(i32.const 23)
|
||||
)
|
||||
@ -1020,7 +1020,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 205)
|
||||
(i32.const 24)
|
||||
)
|
||||
@ -1049,7 +1049,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 207)
|
||||
(i32.const 6)
|
||||
)
|
||||
@ -1163,7 +1163,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 220)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -1354,7 +1354,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 374)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -1378,7 +1378,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 375)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -1402,7 +1402,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 376)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -1444,7 +1444,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 381)
|
||||
(i32.const 6)
|
||||
)
|
||||
@ -1500,7 +1500,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 390)
|
||||
(i32.const 6)
|
||||
)
|
||||
@ -1643,7 +1643,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 417)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -1673,7 +1673,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 417)
|
||||
(i32.const 2)
|
||||
)
|
||||
@ -1726,7 +1726,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 293)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -1946,7 +1946,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 320)
|
||||
(i32.const 16)
|
||||
)
|
||||
@ -2020,7 +2020,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 345)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -2057,7 +2057,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 346)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -2081,7 +2081,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 347)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -2210,7 +2210,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 365)
|
||||
(i32.const 25)
|
||||
)
|
||||
@ -2581,7 +2581,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 466)
|
||||
(i32.const 14)
|
||||
)
|
||||
@ -2616,7 +2616,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 469)
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -2697,7 +2697,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 483)
|
||||
(i32.const 6)
|
||||
)
|
||||
@ -2736,7 +2736,7 @@
|
||||
(if
|
||||
(i32.eqz
|
||||
;;@ (lib)/allocator/tlsf.ts:50:7
|
||||
(i32.ge_s
|
||||
(i32.ge_u
|
||||
(i32.const 2)
|
||||
;;@ (lib)/allocator/tlsf.ts:50:18
|
||||
(i32.const 2)
|
||||
@ -2745,7 +2745,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 50)
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -2770,7 +2770,7 @@
|
||||
(block
|
||||
(call $abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 4)
|
||||
(i32.const 116)
|
||||
(i32.const 0)
|
||||
)
|
||||
|
@ -4,7 +4,7 @@ const webpack = require("webpack");
|
||||
|
||||
// Build the C-like library
|
||||
const lib = {
|
||||
entry: [ "./src/glue/js.js", "./src/index.ts" ],
|
||||
entry: [ "./src/glue/js", "./src/index.ts" ],
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user