mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-04-26 15:32:16 +00:00
Eliminate leftover temporary function types using latest Binaryen
This commit is contained in:
parent
dae9880428
commit
ef9b43740d
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
6
package-lock.json
generated
6
package-lock.json
generated
@ -1267,9 +1267,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"binaryen": {
|
"binaryen": {
|
||||||
"version": "47.0.0-nightly.20180507",
|
"version": "47.0.0-nightly.20180509",
|
||||||
"resolved": "https://registry.npmjs.org/binaryen/-/binaryen-47.0.0-nightly.20180507.tgz",
|
"resolved": "https://registry.npmjs.org/binaryen/-/binaryen-47.0.0-nightly.20180509.tgz",
|
||||||
"integrity": "sha512-XeCcFosf0Ch8z13fZcUR5O7NwRFHuhZIUCgEyQNKVoJolwt7pBdSMB0ntG+O/3ZD+PptXkbREs/UpcAyfSU+QA=="
|
"integrity": "sha512-NlJAQGajqq4akizkkhQYYGiqBR8XboIe5cWtdYnLCYS9tY+f7jAlyyzjz5kg/vI8uuD8cuiuF7J2WdgSZ/dejw=="
|
||||||
},
|
},
|
||||||
"binaryextensions": {
|
"binaryextensions": {
|
||||||
"version": "2.1.1",
|
"version": "2.1.1",
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@protobufjs/utf8": "^1.1.0",
|
"@protobufjs/utf8": "^1.1.0",
|
||||||
"binaryen": "47.0.0-nightly.20180507",
|
"binaryen": "47.0.0-nightly.20180509",
|
||||||
"glob": "^7.1.2",
|
"glob": "^7.1.2",
|
||||||
"long": "^4.0.0",
|
"long": "^4.0.0",
|
||||||
"minimist": "^1.2.0",
|
"minimist": "^1.2.0",
|
||||||
|
@ -2311,21 +2311,10 @@ export class Compiler extends DiagnosticEmitter {
|
|||||||
var module = this.module;
|
var module = this.module;
|
||||||
var type = this.currentType;
|
var type = this.currentType;
|
||||||
var nativeType = type.toNativeType();
|
var nativeType = type.toNativeType();
|
||||||
var typeRef = module.getFunctionTypeBySignature(nativeType, null);
|
var funcRef = module.addTemporaryFunction(nativeType, null, expr);
|
||||||
var typeRefAdded = false;
|
|
||||||
if (!typeRef) {
|
|
||||||
typeRef = module.addFunctionType(type.toSignatureString(), nativeType, null);
|
|
||||||
typeRefAdded = true;
|
|
||||||
}
|
|
||||||
var funcRef = module.addFunction("__precompute", typeRef, null, expr);
|
|
||||||
module.runPasses([ "precompute" ], funcRef);
|
module.runPasses([ "precompute" ], funcRef);
|
||||||
var ret = getFunctionBody(funcRef);
|
var ret = getFunctionBody(funcRef);
|
||||||
module.removeFunction("__precompute");
|
module.removeTemporaryFunction();
|
||||||
if (typeRefAdded) {
|
|
||||||
// TODO: also remove the function type somehow if no longer used or make the C-API accept
|
|
||||||
// a `null` typeRef, using an implicit type.
|
|
||||||
// module.removeFunctionType(typeRef);
|
|
||||||
}
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
1
src/glue/binaryen.d.ts
vendored
1
src/glue/binaryen.d.ts
vendored
@ -358,6 +358,7 @@ declare type BinaryenFunctionTypeRef = usize;
|
|||||||
|
|
||||||
declare function _BinaryenAddFunctionType(module: BinaryenModuleRef, name: usize, result: BinaryenType, paramTypes: usize, numParams: BinaryenIndex): BinaryenFunctionTypeRef;
|
declare function _BinaryenAddFunctionType(module: BinaryenModuleRef, name: usize, result: BinaryenType, paramTypes: usize, numParams: BinaryenIndex): BinaryenFunctionTypeRef;
|
||||||
declare function _BinaryenGetFunctionTypeBySignature(module: BinaryenModuleRef, result: BinaryenType, paramTypes: usize, numParams: BinaryenIndex): BinaryenFunctionTypeRef;
|
declare function _BinaryenGetFunctionTypeBySignature(module: BinaryenModuleRef, result: BinaryenType, paramTypes: usize, numParams: BinaryenIndex): BinaryenFunctionTypeRef;
|
||||||
|
declare function _BinaryenRemoveFunctionType(module: BinaryenModuleRef, name: usize): void;
|
||||||
|
|
||||||
declare function _BinaryenFunctionTypeGetName(ftype: BinaryenFunctionTypeRef): usize;
|
declare function _BinaryenFunctionTypeGetName(ftype: BinaryenFunctionTypeRef): usize;
|
||||||
declare function _BinaryenFunctionTypeGetNumParams(ftype: BinaryenFunctionTypeRef): BinaryenIndex;
|
declare function _BinaryenFunctionTypeGetNumParams(ftype: BinaryenFunctionTypeRef): BinaryenIndex;
|
||||||
|
@ -297,6 +297,15 @@ export class Module {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
removeFunctionType(name: string): void {
|
||||||
|
var cStr = allocString(name);
|
||||||
|
try {
|
||||||
|
_BinaryenRemoveFunctionType(this.ref, cStr);
|
||||||
|
} finally {
|
||||||
|
free_memory(cStr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// constants
|
// constants
|
||||||
|
|
||||||
createI32(value: i32): ExpressionRef {
|
createI32(value: i32): ExpressionRef {
|
||||||
@ -663,6 +672,28 @@ export class Module {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private tempName: usize = 0;
|
||||||
|
private hasTempFunc: bool = false;
|
||||||
|
|
||||||
|
addTemporaryFunction(result: NativeType, paramTypes: NativeType[] | null, body: ExpressionRef): FunctionRef {
|
||||||
|
this.hasTempFunc = assert(!this.hasTempFunc);
|
||||||
|
if (!this.tempName) this.tempName = allocString(""); // works because strings are interned
|
||||||
|
var cArr = allocI32Array(paramTypes);
|
||||||
|
try {
|
||||||
|
let typeRef = _BinaryenAddFunctionType(this.ref, this.tempName, result, cArr, paramTypes ? paramTypes.length : 0);
|
||||||
|
return _BinaryenAddFunction(this.ref, this.tempName, typeRef, 0, 0, body);
|
||||||
|
} finally {
|
||||||
|
free_memory(cArr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
removeTemporaryFunction(): void {
|
||||||
|
this.hasTempFunc = !assert(this.hasTempFunc);
|
||||||
|
var tempName = assert(this.tempName);
|
||||||
|
_BinaryenRemoveFunction(this.ref, tempName);
|
||||||
|
_BinaryenRemoveFunctionType(this.ref, tempName);
|
||||||
|
}
|
||||||
|
|
||||||
addFunctionExport(
|
addFunctionExport(
|
||||||
internalName: string,
|
internalName: string,
|
||||||
externalName: string
|
externalName: string
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
(module
|
(module
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $v (func))
|
(type $v (func))
|
||||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||||
(global $HEAP_BASE i32 (i32.const 56))
|
(global $HEAP_BASE i32 (i32.const 56))
|
||||||
|
@ -1,11 +1,8 @@
|
|||||||
(module
|
(module
|
||||||
(type $FFF (func (param f64 f64) (result f64)))
|
(type $FFF (func (param f64 f64) (result f64)))
|
||||||
(type $F (func (result f64)))
|
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $FiF (func (param f64 i32) (result f64)))
|
(type $FiF (func (param f64 i32) (result f64)))
|
||||||
(type $fff (func (param f32 f32) (result f32)))
|
(type $fff (func (param f32 f32) (result f32)))
|
||||||
(type $fi (func (param f32) (result i32)))
|
(type $fi (func (param f32) (result i32)))
|
||||||
(type $f (func (result f32)))
|
|
||||||
(type $fif (func (param f32 i32) (result f32)))
|
(type $fif (func (param f32 i32) (result f32)))
|
||||||
(type $Fi (func (param f64) (result i32)))
|
(type $Fi (func (param f64) (result i32)))
|
||||||
(type $v (func))
|
(type $v (func))
|
||||||
|
@ -1,11 +1,8 @@
|
|||||||
(module
|
(module
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $F (func (result f64)))
|
|
||||||
(type $fi (func (param f32) (result i32)))
|
(type $fi (func (param f32) (result i32)))
|
||||||
(type $Fi (func (param f64) (result i32)))
|
(type $Fi (func (param f64) (result i32)))
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $v (func))
|
(type $v (func))
|
||||||
(type $f (func (result f32)))
|
|
||||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||||
(global $builtins/b (mut i32) (i32.const 0))
|
(global $builtins/b (mut i32) (i32.const 0))
|
||||||
(global $builtins/i (mut i32) (i32.const 0))
|
(global $builtins/i (mut i32) (i32.const 0))
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
(module
|
(module
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $v (func))
|
(type $v (func))
|
||||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||||
(global $comma/a (mut i32) (i32.const 0))
|
(global $comma/a (mut i32) (i32.const 0))
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
(module
|
(module
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $iii (func (param i32 i32) (result i32)))
|
(type $iii (func (param i32 i32) (result i32)))
|
||||||
(type $iv (func (param i32)))
|
(type $iv (func (param i32)))
|
||||||
|
(type $i (func (result i32)))
|
||||||
(type $ii (func (param i32) (result i32)))
|
(type $ii (func (param i32) (result i32)))
|
||||||
(type $iiv (func (param i32 i32)))
|
(type $iiv (func (param i32 i32)))
|
||||||
(type $v (func))
|
(type $v (func))
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
(module
|
(module
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $iii (func (param i32 i32) (result i32)))
|
(type $iii (func (param i32 i32) (result i32)))
|
||||||
(type $iv (func (param i32)))
|
(type $iv (func (param i32)))
|
||||||
|
(type $i (func (result i32)))
|
||||||
(type $ii (func (param i32) (result i32)))
|
(type $ii (func (param i32) (result i32)))
|
||||||
(type $iiv (func (param i32 i32)))
|
(type $iiv (func (param i32 i32)))
|
||||||
(type $v (func))
|
(type $v (func))
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
(module
|
(module
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $v (func))
|
(type $v (func))
|
||||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
(module
|
(module
|
||||||
(type $F (func (result f64)))
|
|
||||||
(type $i (func (result i32)))
|
(type $i (func (result i32)))
|
||||||
(type $iiv (func (param i32 i32)))
|
(type $iiv (func (param i32 i32)))
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
(module
|
(module
|
||||||
(type $ii (func (param i32) (result i32)))
|
(type $ii (func (param i32) (result i32)))
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $v (func))
|
(type $v (func))
|
||||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
(module
|
(module
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $v (func))
|
(type $v (func))
|
||||||
(global $HEAP_BASE i32 (i32.const 4))
|
(global $HEAP_BASE i32 (i32.const 4))
|
||||||
(memory $0 1)
|
(memory $0 1)
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
(module
|
(module
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $FF (func (param f64) (result f64)))
|
(type $FF (func (param f64) (result f64)))
|
||||||
(type $F (func (result f64)))
|
|
||||||
(type $Fi (func (param f64) (result i32)))
|
(type $Fi (func (param f64) (result i32)))
|
||||||
(type $FFFF (func (param f64 f64 f64) (result f64)))
|
(type $FFFF (func (param f64 f64 f64) (result f64)))
|
||||||
(global $../../examples/mandelbrot/assembly/index/NUM_COLORS i32 (i32.const 2048))
|
(global $../../examples/mandelbrot/assembly/index/NUM_COLORS i32 (i32.const 2048))
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
(module
|
(module
|
||||||
(type $iiii (func (param i32 i32 i32) (result i32)))
|
(type $iiii (func (param i32 i32 i32) (result i32)))
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $v (func))
|
(type $v (func))
|
||||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
(module
|
(module
|
||||||
(type $iiii (func (param i32 i32 i32) (result i32)))
|
(type $iiii (func (param i32 i32 i32) (result i32)))
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $v (func))
|
(type $v (func))
|
||||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
(module
|
(module
|
||||||
(type $iiii (func (param i32 i32 i32) (result i32)))
|
(type $iiii (func (param i32 i32 i32) (result i32)))
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $v (func))
|
(type $v (func))
|
||||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
(module
|
(module
|
||||||
(type $ii (func (param i32) (result i32)))
|
(type $ii (func (param i32) (result i32)))
|
||||||
(type $i (func (result i32)))
|
|
||||||
(global $HEAP_BASE i32 (i32.const 4))
|
(global $HEAP_BASE i32 (i32.const 4))
|
||||||
(memory $0 1)
|
(memory $0 1)
|
||||||
(export "fib" (func $recursive/fib))
|
(export "fib" (func $recursive/fib))
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
(module
|
(module
|
||||||
(type $iiv (func (param i32 i32)))
|
(type $iiv (func (param i32 i32)))
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $v (func))
|
(type $v (func))
|
||||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||||
(global $retain-i32/si (mut i32) (i32.const 0))
|
(global $retain-i32/si (mut i32) (i32.const 0))
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
(module
|
(module
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $iv (func (param i32)))
|
(type $iv (func (param i32)))
|
||||||
(type $v (func))
|
(type $v (func))
|
||||||
(global $scoped/aGlobal (mut i32) (i32.const 1))
|
(global $scoped/aGlobal (mut i32) (i32.const 1))
|
||||||
|
@ -1,11 +1,8 @@
|
|||||||
(module
|
(module
|
||||||
(type $FFF (func (param f64 f64) (result f64)))
|
(type $FFF (func (param f64 f64) (result f64)))
|
||||||
(type $F (func (result f64)))
|
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $FiF (func (param f64 i32) (result f64)))
|
(type $FiF (func (param f64 i32) (result f64)))
|
||||||
(type $fff (func (param f32 f32) (result f32)))
|
(type $fff (func (param f32 f32) (result f32)))
|
||||||
(type $fi (func (param f32) (result i32)))
|
(type $fi (func (param f32) (result i32)))
|
||||||
(type $f (func (result f32)))
|
|
||||||
(type $fif (func (param f32 i32) (result f32)))
|
(type $fif (func (param f32 i32) (result f32)))
|
||||||
(type $Fi (func (param f64) (result i32)))
|
(type $Fi (func (param f64) (result i32)))
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
(module
|
(module
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $ii (func (param i32) (result i32)))
|
(type $ii (func (param i32) (result i32)))
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $iiiv (func (param i32 i32 i32)))
|
(type $iiiv (func (param i32 i32 i32)))
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
(module
|
(module
|
||||||
(type $ii (func (param i32) (result i32)))
|
(type $ii (func (param i32) (result i32)))
|
||||||
(type $iii (func (param i32 i32) (result i32)))
|
(type $iii (func (param i32 i32) (result i32)))
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $iiii (func (param i32 i32 i32) (result i32)))
|
(type $iiii (func (param i32 i32 i32) (result i32)))
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
(module
|
(module
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $ii (func (param i32) (result i32)))
|
(type $ii (func (param i32) (result i32)))
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $iii (func (param i32 i32) (result i32)))
|
(type $iii (func (param i32 i32) (result i32)))
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
(module
|
(module
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $iii (func (param i32 i32) (result i32)))
|
(type $iii (func (param i32 i32) (result i32)))
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $ii (func (param i32) (result i32)))
|
(type $ii (func (param i32) (result i32)))
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
(module
|
(module
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $iii (func (param i32 i32) (result i32)))
|
(type $iii (func (param i32 i32) (result i32)))
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $ii (func (param i32) (result i32)))
|
(type $ii (func (param i32) (result i32)))
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
(module
|
(module
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $ii (func (param i32) (result i32)))
|
(type $ii (func (param i32) (result i32)))
|
||||||
(type $v (func))
|
(type $v (func))
|
||||||
(global $~lib/internal/allocator/AL_BITS i32 (i32.const 3))
|
(global $~lib/internal/allocator/AL_BITS i32 (i32.const 3))
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
(module
|
(module
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $ii (func (param i32) (result i32)))
|
(type $ii (func (param i32) (result i32)))
|
||||||
(type $iv (func (param i32)))
|
(type $iv (func (param i32)))
|
||||||
(type $fi (func (param f32) (result i32)))
|
(type $fi (func (param f32) (result i32)))
|
||||||
(type $F (func (result f64)))
|
|
||||||
(type $Fi (func (param f64) (result i32)))
|
(type $Fi (func (param f64) (result i32)))
|
||||||
(type $v (func))
|
(type $v (func))
|
||||||
(import "env" "logi" (func $std/hash/logi (param i32)))
|
(import "env" "logi" (func $std/hash/logi (param i32)))
|
||||||
|
@ -1,9 +1,5 @@
|
|||||||
(module
|
(module
|
||||||
(type $F (func (result f64)))
|
|
||||||
(type $FF (func (param f64) (result f64)))
|
(type $FF (func (param f64) (result f64)))
|
||||||
(type $f (func (result f32)))
|
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $I (func (result i64)))
|
|
||||||
(type $Fi (func (param f64) (result i32)))
|
(type $Fi (func (param f64) (result i32)))
|
||||||
(type $FFF (func (param f64 f64) (result f64)))
|
(type $FFF (func (param f64 f64) (result f64)))
|
||||||
(type $FiF (func (param f64 i32) (result f64)))
|
(type $FiF (func (param f64 i32) (result f64)))
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
(module
|
(module
|
||||||
(type $F (func (result f64)))
|
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $f (func (result f32)))
|
|
||||||
(type $FFFii (func (param f64 f64 f64 i32) (result i32)))
|
(type $FFFii (func (param f64 f64 f64 i32) (result i32)))
|
||||||
(type $Fi (func (param f64) (result i32)))
|
(type $Fi (func (param f64) (result i32)))
|
||||||
(type $FFFF (func (param f64 f64 f64) (result f64)))
|
(type $FFFF (func (param f64 f64 f64) (result f64)))
|
||||||
@ -19,8 +17,10 @@
|
|||||||
(type $FFF (func (param f64 f64) (result f64)))
|
(type $FFF (func (param f64 f64) (result f64)))
|
||||||
(type $ffffii (func (param f32 f32 f32 f32 i32) (result i32)))
|
(type $ffffii (func (param f32 f32 f32 f32 i32) (result i32)))
|
||||||
(type $fff (func (param f32 f32) (result f32)))
|
(type $fff (func (param f32 f32) (result f32)))
|
||||||
|
(type $F (func (result f64)))
|
||||||
(type $Iv (func (param i64)))
|
(type $Iv (func (param i64)))
|
||||||
(type $II (func (param i64) (result i64)))
|
(type $II (func (param i64) (result i64)))
|
||||||
|
(type $f (func (result f32)))
|
||||||
(type $v (func))
|
(type $v (func))
|
||||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||||
(import "JSMath" "E" (global $~lib/math/JSMath.E f64))
|
(import "JSMath" "E" (global $~lib/math/JSMath.E f64))
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
(module
|
(module
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $F (func (result f64)))
|
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $f (func (result f32)))
|
|
||||||
(type $FFFii (func (param f64 f64 f64 i32) (result i32)))
|
(type $FFFii (func (param f64 f64 f64 i32) (result i32)))
|
||||||
(type $Fi (func (param f64) (result i32)))
|
(type $Fi (func (param f64) (result i32)))
|
||||||
(type $FFFF (func (param f64 f64 f64) (result f64)))
|
(type $FFFF (func (param f64 f64 f64) (result f64)))
|
||||||
@ -16,13 +13,14 @@
|
|||||||
(type $fiffii (func (param f32 i32 f32 f32 i32) (result i32)))
|
(type $fiffii (func (param f32 i32 f32 f32 i32) (result i32)))
|
||||||
(type $FF (func (param f64) (result f64)))
|
(type $FF (func (param f64) (result f64)))
|
||||||
(type $ff (func (param f32) (result f32)))
|
(type $ff (func (param f32) (result f32)))
|
||||||
(type $I (func (result i64)))
|
|
||||||
(type $FFFFii (func (param f64 f64 f64 f64 i32) (result i32)))
|
(type $FFFFii (func (param f64 f64 f64 f64 i32) (result i32)))
|
||||||
(type $FFF (func (param f64 f64) (result f64)))
|
(type $FFF (func (param f64 f64) (result f64)))
|
||||||
(type $ffffii (func (param f32 f32 f32 f32 i32) (result i32)))
|
(type $ffffii (func (param f32 f32 f32 f32 i32) (result i32)))
|
||||||
(type $fff (func (param f32 f32) (result f32)))
|
(type $fff (func (param f32 f32) (result f32)))
|
||||||
|
(type $F (func (result f64)))
|
||||||
(type $Iv (func (param i64)))
|
(type $Iv (func (param i64)))
|
||||||
(type $II (func (param i64) (result i64)))
|
(type $II (func (param i64) (result i64)))
|
||||||
|
(type $f (func (result f32)))
|
||||||
(type $v (func))
|
(type $v (func))
|
||||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||||
(import "JSMath" "E" (global $~lib/math/JSMath.E f64))
|
(import "JSMath" "E" (global $~lib/math/JSMath.E f64))
|
||||||
|
@ -2,10 +2,8 @@
|
|||||||
(type $FFFi (func (param f64 f64 f64) (result i32)))
|
(type $FFFi (func (param f64 f64 f64) (result i32)))
|
||||||
(type $FFF (func (param f64 f64) (result f64)))
|
(type $FFF (func (param f64 f64) (result f64)))
|
||||||
(type $Fi (func (param f64) (result i32)))
|
(type $Fi (func (param f64) (result i32)))
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $FFi (func (param f64 f64) (result i32)))
|
(type $FFi (func (param f64 f64) (result i32)))
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $F (func (result f64)))
|
|
||||||
(type $fffi (func (param f32 f32 f32) (result i32)))
|
(type $fffi (func (param f32 f32 f32) (result i32)))
|
||||||
(type $fff (func (param f32 f32) (result f32)))
|
(type $fff (func (param f32 f32) (result f32)))
|
||||||
(type $fi (func (param f32) (result i32)))
|
(type $fi (func (param f32) (result i32)))
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
(module
|
(module
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $ifi (func (param i32 f32) (result i32)))
|
(type $ifi (func (param i32 f32) (result i32)))
|
||||||
(type $ii (func (param i32) (result i32)))
|
(type $ii (func (param i32) (result i32)))
|
||||||
(type $v (func))
|
(type $v (func))
|
||||||
|
@ -1,11 +1,9 @@
|
|||||||
(module
|
(module
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $iiii (func (param i32 i32 i32) (result i32)))
|
(type $iiii (func (param i32 i32 i32) (result i32)))
|
||||||
(type $ii (func (param i32) (result i32)))
|
(type $ii (func (param i32) (result i32)))
|
||||||
(type $iii (func (param i32 i32) (result i32)))
|
(type $iii (func (param i32 i32) (result i32)))
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $FFF (func (param f64 f64) (result f64)))
|
(type $FFF (func (param f64 f64) (result f64)))
|
||||||
(type $F (func (result f64)))
|
|
||||||
(type $FiF (func (param f64 i32) (result f64)))
|
(type $FiF (func (param f64 i32) (result f64)))
|
||||||
(type $v (func))
|
(type $v (func))
|
||||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
(module
|
(module
|
||||||
(type $ii (func (param i32) (result i32)))
|
(type $ii (func (param i32) (result i32)))
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $II (func (param i64) (result i64)))
|
(type $II (func (param i64) (result i64)))
|
||||||
(type $v (func))
|
(type $v (func))
|
||||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
(module
|
(module
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $ii (func (param i32) (result i32)))
|
(type $ii (func (param i32) (result i32)))
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $iii (func (param i32 i32) (result i32)))
|
(type $iii (func (param i32 i32) (result i32)))
|
||||||
|
@ -1,8 +1,4 @@
|
|||||||
(module
|
(module
|
||||||
(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 $ii (func (param i32) (result i32)))
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $iii (func (param i32 i32) (result i32)))
|
(type $iii (func (param i32 i32) (result i32)))
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
(module
|
(module
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $iii (func (param i32 i32) (result i32)))
|
(type $iii (func (param i32 i32) (result i32)))
|
||||||
(type $iiii (func (param i32 i32 i32) (result i32)))
|
(type $iiii (func (param i32 i32 i32) (result i32)))
|
||||||
|
(type $i (func (result i32)))
|
||||||
(type $iiF (func (param i32 i32) (result f64)))
|
(type $iiF (func (param i32 i32) (result f64)))
|
||||||
(type $iF (func (param i32) (result f64)))
|
(type $iF (func (param i32) (result f64)))
|
||||||
(type $ii (func (param i32) (result i32)))
|
(type $ii (func (param i32) (result i32)))
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
(module
|
(module
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $iii (func (param i32 i32) (result i32)))
|
(type $iii (func (param i32 i32) (result i32)))
|
||||||
(type $iiii (func (param i32 i32 i32) (result i32)))
|
(type $iiii (func (param i32 i32 i32) (result i32)))
|
||||||
|
(type $i (func (result i32)))
|
||||||
(type $iiF (func (param i32 i32) (result f64)))
|
(type $iiF (func (param i32 i32) (result f64)))
|
||||||
(type $F (func (result f64)))
|
|
||||||
(type $iF (func (param i32) (result f64)))
|
(type $iF (func (param i32) (result f64)))
|
||||||
(type $ii (func (param i32) (result i32)))
|
(type $ii (func (param i32) (result i32)))
|
||||||
(type $iiiv (func (param i32 i32 i32)))
|
(type $iiiv (func (param i32 i32 i32)))
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
(module
|
(module
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $iv (func (param i32)))
|
(type $iv (func (param i32)))
|
||||||
(type $iii (func (param i32 i32) (result i32)))
|
(type $iii (func (param i32 i32) (result i32)))
|
||||||
(type $ii (func (param i32) (result i32)))
|
(type $ii (func (param i32) (result i32)))
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
(module
|
(module
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $v (func))
|
(type $v (func))
|
||||||
(global $ternary/a (mut i32) (i32.const 0))
|
(global $ternary/a (mut i32) (i32.const 0))
|
||||||
(global $HEAP_BASE i32 (i32.const 4))
|
(global $HEAP_BASE i32 (i32.const 4))
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
(module
|
(module
|
||||||
(type $i (func (result i32)))
|
|
||||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||||
(type $v (func))
|
(type $v (func))
|
||||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user