From 70fa18df0fea3e8abe2a4b30a1ade678337d9a85 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 3 Jul 2021 20:09:51 +0300 Subject: [PATCH 1/4] update binaryen --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0b65e07109..62088bf181 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "version": "0.0.0", "license": "Apache-2.0", "dependencies": { - "binaryen": "101.0.0-nightly.20210604", + "binaryen": "101.0.0-nightly.20210703", "long": "^4.0.0", "source-map-support": "^0.5.19", "ts-node": "^6.2.0" @@ -732,9 +732,9 @@ "dev": true }, "node_modules/binaryen": { - "version": "101.0.0-nightly.20210604", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210604.tgz", - "integrity": "sha512-aTgX1JDN8m3tTFK8g9hazJcEOdQl7mK4yVfElkKAh7q+TRUCaea4a2SMLr1z2xZL7s9N4lkrvrBblxRuEPvxWQ==", + "version": "101.0.0-nightly.20210703", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210703.tgz", + "integrity": "sha512-7iuRy/aSsd8BlO0ZOG4GqDI8z66UhazD10eeC3i14SOhZJ+MLC3I+BX5ydr3nk9g5j2PDGndxuYvm0gy+VJHYg==", "bin": { "wasm-opt": "bin/wasm-opt" } @@ -3497,9 +3497,9 @@ "dev": true }, "binaryen": { - "version": "101.0.0-nightly.20210604", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210604.tgz", - "integrity": "sha512-aTgX1JDN8m3tTFK8g9hazJcEOdQl7mK4yVfElkKAh7q+TRUCaea4a2SMLr1z2xZL7s9N4lkrvrBblxRuEPvxWQ==" + "version": "101.0.0-nightly.20210703", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210703.tgz", + "integrity": "sha512-7iuRy/aSsd8BlO0ZOG4GqDI8z66UhazD10eeC3i14SOhZJ+MLC3I+BX5ydr3nk9g5j2PDGndxuYvm0gy+VJHYg==" }, "brace-expansion": { "version": "1.1.11", diff --git a/package.json b/package.json index 40302d0e47..3e68023836 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "url": "https://github.com/AssemblyScript/assemblyscript/issues" }, "dependencies": { - "binaryen": "101.0.0-nightly.20210604", + "binaryen": "101.0.0-nightly.20210703", "long": "^4.0.0", "source-map-support": "^0.5.19", "ts-node": "^6.2.0" From e9b018b60c013e5ce7ccc86245a3b3043408a7ed Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 3 Jul 2021 23:26:37 +0300 Subject: [PATCH 2/4] rename events -> tags --- src/glue/binaryen.d.ts | 40 ++++++++++++------------- src/module.ts | 66 +++++++++++++++++++++--------------------- src/passes/pass.ts | 6 ++-- 3 files changed, 56 insertions(+), 56 deletions(-) diff --git a/src/glue/binaryen.d.ts b/src/glue/binaryen.d.ts index b88eb52020..0fe035f74b 100644 --- a/src/glue/binaryen.d.ts +++ b/src/glue/binaryen.d.ts @@ -26,7 +26,7 @@ export type FunctionRef = Ref; export type ImportRef = Ref; export type ExportRef = Ref; export type GlobalRef = Ref; -export type EventRef = Ref; +export type TagRef = Ref; export type TableRef = Ref; export type ElementSegmentRef = Ref; export type RelooperRef = Ref; @@ -410,18 +410,18 @@ export declare function _BinaryenRefEqSetLeft(expr: ExpressionRef, leftExpr: Exp export declare function _BinaryenRefEqGetRight(expr: ExpressionRef): ExpressionRef; export declare function _BinaryenRefEqSetRight(expr: ExpressionRef, rightExpr: ExpressionRef): void; -export declare function _BinaryenTry(module: ModuleRef, name: StringRef, bodyExpr: ExpressionRef, catchEvents: ArrayRef, numCatchEvents: Index, catchBodies: ArrayRef, numCatchBodies: Index, delegateTarget: StringRef): ExpressionRef; +export declare function _BinaryenTry(module: ModuleRef, name: StringRef, bodyExpr: ExpressionRef, catchTags: ArrayRef, numCatchTags: Index, catchBodies: ArrayRef, numCatchBodies: Index, delegateTarget: StringRef): ExpressionRef; export declare function _BinaryenTryGetName(expr: ExpressionRef): StringRef; export declare function _BinaryenTrySetName(expr: ExpressionRef, name: StringRef): void; export declare function _BinaryenTryGetBody(expr: ExpressionRef): ExpressionRef; export declare function _BinaryenTrySetBody(expr: ExpressionRef, bodyExpr: ExpressionRef): void; -export declare function _BinaryenTryGetNumCatchEvents(expr: ExpressionRef): Index; +export declare function _BinaryenTryGetNumCatchTags(expr: ExpressionRef): Index; export declare function _BinaryenTryGetNumCatchBodies(expr: ExpressionRef): Index; -export declare function _BinaryenTryGetCatchEventAt(expr: ExpressionRef, index: Index): StringRef; -export declare function _BinaryenTrySetCatchEventAt(expr: ExpressionRef, index: Index, catchEvent: StringRef): void; -export declare function _BinaryenTryAppendCatchEvent(expr: ExpressionRef, catchEvent: StringRef): Index; -export declare function _BinaryenTryInsertCatchEventAt(expr: ExpressionRef, index: Index, catchEvent: StringRef): void; -export declare function _BinaryenTryRemoveCatchEventAt(expr: ExpressionRef, index: Index): StringRef; +export declare function _BinaryenTryGetCatchTagAt(expr: ExpressionRef, index: Index): StringRef; +export declare function _BinaryenTrySetCatchTagAt(expr: ExpressionRef, index: Index, catchTag: StringRef): void; +export declare function _BinaryenTryAppendCatchTag(expr: ExpressionRef, catchTag: StringRef): Index; +export declare function _BinaryenTryInsertCatchTagAt(expr: ExpressionRef, index: Index, catchTag: StringRef): void; +export declare function _BinaryenTryRemoveCatchTagAt(expr: ExpressionRef, index: Index): StringRef; export declare function _BinaryenTryGetCatchBodyAt(expr: ExpressionRef, index: Index): ExpressionRef; export declare function _BinaryenTrySetCatchBodyAt(expr: ExpressionRef, index: Index, catchExpr: ExpressionRef): void; export declare function _BinaryenTryAppendCatchBody(expr: ExpressionRef, catchExpr: ExpressionRef): Index; @@ -432,9 +432,9 @@ export declare function _BinaryenTryGetDelegateTarget(expr: ExpressionRef): Stri export declare function _BinaryenTrySetDelegateTarget(expr: ExpressionRef, delegateTarget: StringRef): void; export declare function _BinaryenTryIsDelegate(expr: ExpressionRef): bool; -export declare function _BinaryenThrow(module: ModuleRef, eventName: StringRef, operands: ArrayRef, numOperands: Index): ExpressionRef; -export declare function _BinaryenThrowGetEvent(expr: ExpressionRef): StringRef; -export declare function _BinaryenThrowSetEvent(expr: ExpressionRef, eventName: StringRef): void; +export declare function _BinaryenThrow(module: ModuleRef, tagName: StringRef, operands: ArrayRef, numOperands: Index): ExpressionRef; +export declare function _BinaryenThrowGetTag(expr: ExpressionRef): StringRef; +export declare function _BinaryenThrowSetTag(expr: ExpressionRef, tagName: StringRef): void; export declare function _BinaryenThrowGetNumOperands(expr: ExpressionRef): Index; export declare function _BinaryenThrowGetOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; export declare function _BinaryenThrowSetOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; @@ -497,13 +497,13 @@ export declare function _BinaryenAddFunctionImport(module: ModuleRef, internalNa export declare function _BinaryenAddTableImport(module: ModuleRef, internalName: StringRef, externalModuleName: StringRef, externalBaseName: StringRef): void; export declare function _BinaryenAddMemoryImport(module: ModuleRef, internalName: StringRef, externalModuleName: StringRef, externalBaseName: StringRef, shared:bool): void; export declare function _BinaryenAddGlobalImport(module: ModuleRef, internalName: StringRef, externalModuleName: StringRef, externalBaseName: StringRef, globalType: TypeRef, mutable: bool): void; -export declare function _BinaryenAddEventImport(module: ModuleRef, internalName: StringRef, externalModuleName: StringRef, externalBaseName: StringRef, attribute: u32, params: TypeRef, results: TypeRef): void; +export declare function _BinaryenAddTagImport(module: ModuleRef, internalName: StringRef, externalModuleName: StringRef, externalBaseName: StringRef, attribute: u32, params: TypeRef, results: TypeRef): void; export declare function _BinaryenAddFunctionExport(module: ModuleRef, internalName: StringRef, externalName: StringRef): ExportRef; export declare function _BinaryenAddTableExport(module: ModuleRef, internalName: StringRef, externalName: StringRef): ExportRef; export declare function _BinaryenAddMemoryExport(module: ModuleRef, internalName: StringRef, externalName: StringRef): ExportRef; export declare function _BinaryenAddGlobalExport(module: ModuleRef, internalName: StringRef, externalName: StringRef): ExportRef; -export declare function _BinaryenAddEventExport(module: ModuleRef, internalName: StringRef, externalName: StringRef): ExportRef; +export declare function _BinaryenAddTagExport(module: ModuleRef, internalName: StringRef, externalName: StringRef): ExportRef; export declare function _BinaryenGetExport(module: ModuleRef, externalName: StringRef): ExportRef; export declare function _BinaryenRemoveExport(module: ModuleRef, externalName: StringRef): void; export declare function _BinaryenGetNumExports(module: ModuleRef): Index; @@ -523,14 +523,14 @@ export declare function _BinaryenGlobalGetType(global: GlobalRef): TypeRef; export declare function _BinaryenGlobalIsMutable(global: GlobalRef): bool; export declare function _BinaryenGlobalGetInitExpr(global: GlobalRef): ExpressionRef; -export declare function _BinaryenAddEvent(module: ModuleRef, name: StringRef, attribute: u32, params: TypeRef, results: TypeRef): EventRef; -export declare function _BinaryenGetEvent(module: ModuleRef, name: StringRef): EventRef; -export declare function _BinaryenRemoveEvent(module: ModuleRef, name: StringRef): void; +export declare function _BinaryenAddTag(module: ModuleRef, name: StringRef, attribute: u32, params: TypeRef, results: TypeRef): TagRef; +export declare function _BinaryenGetTag(module: ModuleRef, name: StringRef): TagRef; +export declare function _BinaryenRemoveTag(module: ModuleRef, name: StringRef): void; -export declare function _BinaryenEventGetName(event: EventRef): StringRef; -export declare function _BinaryenEventGetAttribute(event: EventRef): u32; -export declare function _BinaryenEventGetParams(event: EventRef): TypeRef; -export declare function _BinaryenEventGetResults(event: EventRef): TypeRef; +export declare function _BinaryenTagGetName(tag: TagRef): StringRef; +export declare function _BinaryenTagGetAttribute(tag: TagRef): u32; +export declare function _BinaryenTagGetParams(tag: TagRef): TypeRef; +export declare function _BinaryenTagGetResults(tag: TagRef): TypeRef; export declare function _BinaryenAddTable(module: ModuleRef, name: StringRef, initial: Index, maximum: Index): TableRef; export declare function _BinaryenRemoveTable(module: ModuleRef, table: StringRef): void; diff --git a/src/module.ts b/src/module.ts index 34faaadd78..8a3fad20e3 100644 --- a/src/module.ts +++ b/src/module.ts @@ -24,8 +24,8 @@ export type FunctionRef = binaryen.FunctionRef; export type ExpressionRef = binaryen.ExpressionRef; /** Reference to a Binaryen global. */ export type GlobalRef = binaryen.GlobalRef; -/** Reference to a Binaryen event. */ -export type EventRef = binaryen.EventRef; +/** Reference to a Binaryen tag. */ +export type TagRef = binaryen.TagRef; /** Reference to a Binaryen import. */ export type ImportRef = binaryen.ImportRef; /** Reference to a Binaryen export. */ @@ -155,7 +155,7 @@ export enum ExternalKind { Table = 1 /* _BinaryenExternalTable */, Memory = 2 /* _BinaryenExternalMemory */, Global = 3 /* _BinaryenExternalGlobal */, - Event = 4 /* _BinaryenExternalEvent */ + Tag = 4 /* _BinaryenExternalTag */ } /** Binaryen unary operation constants. */ @@ -1584,27 +1584,27 @@ export class Module { // try( // body: ExpressionRef, - // catchEvents: string[], + // catchTags: string[], // catchBodies: ExpressionRef[] // ): ExpressionRef { - // var numCatchEvents = catchEvents.length; - // var strs = new Array(numCatchEvents); - // for (let i = 0; i < numCatchEvents; ++i) { - // strs[i] = this.allocStringCached(catchEvents[i]); + // var numCatchTags = catchTags.length; + // var strs = new Array(numCatchTags); + // for (let i = 0; i < numCatchTags; ++i) { + // strs[i] = this.allocStringCached(catchTags[i]); // } // var cArr1 = allocPtrArray(strs); // var cArr2 = allocPtrArray(catchBodies); - // var ret = binaryen._BinaryenTry(this.ref, body, cArr1, numCatchEvents, cArr2, catchBodies.length); + // var ret = binaryen._BinaryenTry(this.ref, body, cArr1, numCatchTags, cArr2, catchBodies.length); // binaryen._free(cArr2); // binaryen._free(cArr1); // return ret; // } throw( - eventName: string, + tagName: string, operands: ExpressionRef[] ): ExpressionRef { - var cStr = this.allocStringCached(eventName); + var cStr = this.allocStringCached(tagName); var cArr = allocPtrArray(operands); var ret = binaryen._BinaryenThrow(this.ref, cStr, cArr, operands.length); binaryen._free(cArr); @@ -1768,30 +1768,30 @@ export class Module { binaryen._BinaryenRemoveGlobal(this.ref, cStr); } - // events + // tags - addEvent( + addTag( name: string, attribute: u32, params: TypeRef, results: TypeRef - ): EventRef { + ): TagRef { var cStr = this.allocStringCached(name); - return binaryen._BinaryenAddEvent(this.ref, cStr, attribute, params, results); + return binaryen._BinaryenAddTag(this.ref, cStr, attribute, params, results); } - getEvent( + getTag( name: string - ): EventRef { + ): TagRef { var cStr = this.allocStringCached(name); - return binaryen._BinaryenGetEvent(this.ref, cStr); + return binaryen._BinaryenGetTag(this.ref, cStr); } - removeEvent( + removeTag( name: string ): void { var cStr = this.allocStringCached(name); - binaryen._BinaryenRemoveEvent(this.ref, cStr); + binaryen._BinaryenRemoveTag(this.ref, cStr); } // functions @@ -1904,13 +1904,13 @@ export class Module { return binaryen._BinaryenAddGlobalExport(this.ref, cStr1, cStr2); } - addEventExport( + addTagExport( internalName: string, externalName: string ): ExportRef { var cStr1 = this.allocStringCached(internalName); var cStr2 = this.allocStringCached(externalName); - return binaryen._BinaryenAddEventExport(this.ref, cStr1, cStr2); + return binaryen._BinaryenAddTagExport(this.ref, cStr1, cStr2); } removeExport(externalName: string): void { @@ -1974,7 +1974,7 @@ export class Module { binaryen._BinaryenAddGlobalImport(this.ref, cStr1, cStr2, cStr3, globalType, mutable); } - addEventImport( + addTagImport( internalName: string, externalModuleName: string, externalBaseName: string, @@ -1985,7 +1985,7 @@ export class Module { var cStr1 = this.allocStringCached(internalName); var cStr2 = this.allocStringCached(externalModuleName); var cStr3 = this.allocStringCached(externalBaseName); - binaryen._BinaryenAddEventImport( + binaryen._BinaryenAddTagImport( this.ref, cStr1, cStr2, cStr3, attribute, params, results ); } @@ -2897,22 +2897,22 @@ export function getGlobalInit(global: GlobalRef): ExpressionRef { return binaryen._BinaryenGlobalGetInitExpr(global); } -// events +// tags -export function getEventName(event: EventRef): string | null { - return readString(binaryen._BinaryenEventGetName(event)); +export function getTagName(tag: TagRef): string | null { + return readString(binaryen._BinaryenTagGetName(tag)); } -export function getEventAttribute(event: EventRef): u32 { - return binaryen._BinaryenEventGetAttribute(event); +export function getTagAttribute(tag: TagRef): u32 { + return binaryen._BinaryenTagGetAttribute(tag); } -export function getEventParams(event: EventRef): TypeRef { - return binaryen._BinaryenEventGetParams(event); +export function getTagParams(tag: TagRef): TypeRef { + return binaryen._BinaryenTagGetParams(tag); } -export function getEventResults(event: EventRef): TypeRef { - return binaryen._BinaryenEventGetResults(event); +export function getTagResults(tag: TagRef): TypeRef { + return binaryen._BinaryenTagGetResults(tag); } export class Relooper { diff --git a/src/passes/pass.ts b/src/passes/pass.ts index 97f6b22d2c..5106c307df 100644 --- a/src/passes/pass.ts +++ b/src/passes/pass.ts @@ -166,7 +166,7 @@ import { _BinaryenAtomicNotifyGetNotifyCount, _BinaryenAtomicNotifySetNotifyCount, _BinaryenRefFuncGetFunc, - _BinaryenThrowGetEvent, + _BinaryenThrowGetTag, _BinaryenTupleExtractGetTuple, _BinaryenTupleExtractSetTuple, _BinaryenRefEqGetLeft, @@ -484,7 +484,7 @@ export abstract class Visitor { // unimp } - visitEvent(name: StringRef): void { + visitTag(name: StringRef): void { // unimp } @@ -850,7 +850,7 @@ export abstract class Visitor { } case ExpressionId.Throw: { this.stack.push(expr); - this.visitEvent(_BinaryenThrowGetEvent(expr)); + this.visitTag(_BinaryenThrowGetTag(expr)); let numOperands = _BinaryenThrowGetNumOperands(expr); for (let i: Index = 0; i < numOperands; ++i) { this.visit(_BinaryenThrowGetOperandAt(expr, i)); From 00c701c98e45c37f4d009acfac0d03b54df6ebb2 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 3 Jul 2021 23:33:08 +0300 Subject: [PATCH 3/4] remove getTagAttribute --- src/glue/binaryen.d.ts | 1 - src/module.ts | 4 ---- 2 files changed, 5 deletions(-) diff --git a/src/glue/binaryen.d.ts b/src/glue/binaryen.d.ts index 0fe035f74b..8e2c48a37c 100644 --- a/src/glue/binaryen.d.ts +++ b/src/glue/binaryen.d.ts @@ -528,7 +528,6 @@ export declare function _BinaryenGetTag(module: ModuleRef, name: StringRef): Tag export declare function _BinaryenRemoveTag(module: ModuleRef, name: StringRef): void; export declare function _BinaryenTagGetName(tag: TagRef): StringRef; -export declare function _BinaryenTagGetAttribute(tag: TagRef): u32; export declare function _BinaryenTagGetParams(tag: TagRef): TypeRef; export declare function _BinaryenTagGetResults(tag: TagRef): TypeRef; diff --git a/src/module.ts b/src/module.ts index 8a3fad20e3..ca2ad68192 100644 --- a/src/module.ts +++ b/src/module.ts @@ -2903,10 +2903,6 @@ export function getTagName(tag: TagRef): string | null { return readString(binaryen._BinaryenTagGetName(tag)); } -export function getTagAttribute(tag: TagRef): u32 { - return binaryen._BinaryenTagGetAttribute(tag); -} - export function getTagParams(tag: TagRef): TypeRef { return binaryen._BinaryenTagGetParams(tag); } From 32f4df82a2e6146a61ae073d0dbc2f7e9495c8a0 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 4 Jul 2021 06:01:24 +0300 Subject: [PATCH 4/4] remove attribute param as well from addTag and addTagImport --- src/glue/binaryen.d.ts | 4 ++-- src/module.ts | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/glue/binaryen.d.ts b/src/glue/binaryen.d.ts index 8e2c48a37c..b527040095 100644 --- a/src/glue/binaryen.d.ts +++ b/src/glue/binaryen.d.ts @@ -497,7 +497,7 @@ export declare function _BinaryenAddFunctionImport(module: ModuleRef, internalNa export declare function _BinaryenAddTableImport(module: ModuleRef, internalName: StringRef, externalModuleName: StringRef, externalBaseName: StringRef): void; export declare function _BinaryenAddMemoryImport(module: ModuleRef, internalName: StringRef, externalModuleName: StringRef, externalBaseName: StringRef, shared:bool): void; export declare function _BinaryenAddGlobalImport(module: ModuleRef, internalName: StringRef, externalModuleName: StringRef, externalBaseName: StringRef, globalType: TypeRef, mutable: bool): void; -export declare function _BinaryenAddTagImport(module: ModuleRef, internalName: StringRef, externalModuleName: StringRef, externalBaseName: StringRef, attribute: u32, params: TypeRef, results: TypeRef): void; +export declare function _BinaryenAddTagImport(module: ModuleRef, internalName: StringRef, externalModuleName: StringRef, externalBaseName: StringRef, params: TypeRef, results: TypeRef): void; export declare function _BinaryenAddFunctionExport(module: ModuleRef, internalName: StringRef, externalName: StringRef): ExportRef; export declare function _BinaryenAddTableExport(module: ModuleRef, internalName: StringRef, externalName: StringRef): ExportRef; @@ -523,7 +523,7 @@ export declare function _BinaryenGlobalGetType(global: GlobalRef): TypeRef; export declare function _BinaryenGlobalIsMutable(global: GlobalRef): bool; export declare function _BinaryenGlobalGetInitExpr(global: GlobalRef): ExpressionRef; -export declare function _BinaryenAddTag(module: ModuleRef, name: StringRef, attribute: u32, params: TypeRef, results: TypeRef): TagRef; +export declare function _BinaryenAddTag(module: ModuleRef, name: StringRef, params: TypeRef, results: TypeRef): TagRef; export declare function _BinaryenGetTag(module: ModuleRef, name: StringRef): TagRef; export declare function _BinaryenRemoveTag(module: ModuleRef, name: StringRef): void; diff --git a/src/module.ts b/src/module.ts index ca2ad68192..c19ed459f4 100644 --- a/src/module.ts +++ b/src/module.ts @@ -1772,12 +1772,11 @@ export class Module { addTag( name: string, - attribute: u32, params: TypeRef, results: TypeRef ): TagRef { var cStr = this.allocStringCached(name); - return binaryen._BinaryenAddTag(this.ref, cStr, attribute, params, results); + return binaryen._BinaryenAddTag(this.ref, cStr, params, results); } getTag( @@ -1978,7 +1977,6 @@ export class Module { internalName: string, externalModuleName: string, externalBaseName: string, - attribute: u32, params: TypeRef, results: TypeRef ): void { @@ -1986,7 +1984,7 @@ export class Module { var cStr2 = this.allocStringCached(externalModuleName); var cStr3 = this.allocStringCached(externalBaseName); binaryen._BinaryenAddTagImport( - this.ref, cStr1, cStr2, cStr3, attribute, params, results + this.ref, cStr1, cStr2, cStr3, params, results ); }