Skip to content

Commit ac201fe

Browse files
authored
Update Binaryen (#1097)
1 parent e060e02 commit ac201fe

File tree

4 files changed

+50
-14
lines changed

4 files changed

+50
-14
lines changed

package-lock.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
"url": "https://github.com/AssemblyScript/assemblyscript/issues"
2222
},
2323
"dependencies": {
24-
"binaryen": "90.0.0-nightly.20200128",
24+
"binaryen": "90.0.0-nightly.20200208",
2525
"long": "^4.0.0",
2626
"source-map-support": "^0.5.16",
2727
"ts-node": "^6.2.0"

src/glue/binaryen.d.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -781,7 +781,7 @@ export declare function _BinaryenSideEffectImplicitTrap(): BinaryenSideEffects;
781781
export declare function _BinaryenSideEffectIsAtomic(): BinaryenSideEffects;
782782
export declare function _BinaryenSideEffectAny(): BinaryenSideEffects;
783783

784-
export declare function _BinaryenExpressionGetSideEffects(expr: BinaryenExpressionRef): BinaryenSideEffects;
784+
export declare function _BinaryenExpressionGetSideEffects(expr: BinaryenExpressionRef, features: BinaryenFeatureFlags): BinaryenSideEffects;
785785

786786
type BinaryenRelooperRef = usize;
787787
type BinaryenRelooperBlockRef = usize;
@@ -799,5 +799,10 @@ export declare function _BinaryenGetShrinkLevel(): i32;
799799
export declare function _BinaryenSetShrinkLevel(level: i32): void;
800800
export declare function _BinaryenGetDebugInfo(): bool;
801801
export declare function _BinaryenSetDebugInfo(on: bool): void;
802+
export declare function _BinaryenGetLowMemoryUnused(): bool;
803+
export declare function _BinaryenSetLowMemoryUnused(on: bool): void;
804+
export declare function _BinaryenGetPassArgument(key: usize): usize;
805+
export declare function _BinaryenSetPassArgument(key: usize, value: usize): void;
806+
export declare function _BinaryenClearPassArguments(): void;
802807

803808
export declare function _BinaryenSetAPITracing(on: bool): void;

src/module.ts

Lines changed: 40 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1283,28 +1283,58 @@ export class Module {
12831283
binaryen._free(cArr);
12841284
}
12851285

1286-
// meta
1286+
// meta (global)
12871287

12881288
getOptimizeLevel(): i32 {
12891289
return binaryen._BinaryenGetOptimizeLevel();
12901290
}
12911291

1292-
setOptimizeLevel(level: i32 = 2): void {
1292+
setOptimizeLevel(level: i32): void {
12931293
binaryen._BinaryenSetOptimizeLevel(level);
12941294
}
12951295

12961296
getShrinkLevel(): i32 {
12971297
return binaryen._BinaryenGetShrinkLevel();
12981298
}
12991299

1300-
setShrinkLevel(level: i32 = 1): void {
1300+
setShrinkLevel(level: i32): void {
13011301
binaryen._BinaryenSetShrinkLevel(level);
13021302
}
13031303

1304-
setDebugInfo(on: bool = false): void {
1304+
getDebugInfo(): boolean {
1305+
return binaryen._BinaryenGetDebugInfo();
1306+
}
1307+
1308+
setDebugInfo(on: bool): void {
13051309
binaryen._BinaryenSetDebugInfo(on);
13061310
}
13071311

1312+
getLowMemoryUnused(): bool {
1313+
return binaryen._BinaryenGetLowMemoryUnused();
1314+
}
1315+
1316+
setLowMemoryUnused(on: bool): void {
1317+
binaryen._BinaryenSetLowMemoryUnused(on);
1318+
}
1319+
1320+
getPassArgument(key: string): string | null {
1321+
var cStr = this.allocStringCached(key);
1322+
var ptr = binaryen._BinaryenGetPassArgument(cStr);
1323+
return ptr ? readString(ptr) : null;
1324+
}
1325+
1326+
setPassArgument(key: string, value: string | null): void {
1327+
var cStr1 = this.allocStringCached(key);
1328+
var cStr2 = this.allocStringCached(value);
1329+
binaryen._BinaryenSetPassArgument(cStr1, cStr2);
1330+
}
1331+
1332+
clearPassArguments(): void {
1333+
binaryen._BinaryenClearPassArguments();
1334+
}
1335+
1336+
// meta (module)
1337+
13081338
getFeatures(): FeatureFlags {
13091339
return binaryen._BinaryenModuleGetFeatures(this.ref);
13101340
}
@@ -1897,15 +1927,16 @@ export enum SideEffects {
18971927
WritesMemory = 128 /* _BinaryenSideEffectWritesMemory */,
18981928
ImplicitTrap = 256 /* _BinaryenSideEffectImplicitTrap */,
18991929
IsAtomic = 512 /* _BinaryenSideEffectIsAtomic */,
1900-
Any = 1023 /* _BinaryenSideEffectAny */,
1930+
Throws = 1024 /* _BinaryenSideEffectThrows */,
1931+
Any = 2047 /* _BinaryenSideEffectAny */,
19011932
}
19021933

1903-
export function getSideEffects(expr: ExpressionRef): SideEffects {
1904-
return binaryen._BinaryenExpressionGetSideEffects(expr);
1934+
export function getSideEffects(expr: ExpressionRef, features: FeatureFlags = FeatureFlags.All): SideEffects {
1935+
return binaryen._BinaryenExpressionGetSideEffects(expr, features);
19051936
}
19061937

1907-
export function hasSideEffects(expr: ExpressionRef): bool {
1908-
return getSideEffects(expr) != SideEffects.None;
1938+
export function hasSideEffects(expr: ExpressionRef, features: FeatureFlags = FeatureFlags.All): bool {
1939+
return getSideEffects(expr, features) != SideEffects.None;
19091940
}
19101941

19111942
// helpers

0 commit comments

Comments
 (0)