@@ -15,7 +15,7 @@ declare function _free(ptr: usize): void;
1515
1616declare type BinaryenIndex = u32 ;
1717
18- declare type BinaryenType = u32 ;
18+ declare type BinaryenType = i32 ;
1919
2020declare function _BinaryenNone ( ) : BinaryenType ;
2121declare function _BinaryenInt32 ( ) : BinaryenType ;
@@ -24,6 +24,37 @@ declare function _BinaryenFloat32(): BinaryenType;
2424declare function _BinaryenFloat64 ( ) : BinaryenType ;
2525declare function _BinaryenUndefined ( ) : BinaryenType ;
2626
27+ declare type BinaryenExpressionId = i32 ;
28+
29+ declare function _BinaryenInvalidId ( ) : BinaryenExpressionId ;
30+ declare function _BinaryenBlockId ( ) : BinaryenExpressionId ;
31+ declare function _BinaryenIfId ( ) : BinaryenExpressionId ;
32+ declare function _BinaryenLoopId ( ) : BinaryenExpressionId ;
33+ declare function _BinaryenBreakId ( ) : BinaryenExpressionId ;
34+ declare function _BinaryenSwitchId ( ) : BinaryenExpressionId ;
35+ declare function _BinaryenCallId ( ) : BinaryenExpressionId ;
36+ declare function _BinaryenCallImportId ( ) : BinaryenExpressionId ;
37+ declare function _BinaryenCallIndirectId ( ) : BinaryenExpressionId ;
38+ declare function _BinaryenGetLocalId ( ) : BinaryenExpressionId ;
39+ declare function _BinaryenSetLocalId ( ) : BinaryenExpressionId ;
40+ declare function _BinaryenGetGlobalId ( ) : BinaryenExpressionId ;
41+ declare function _BinaryenSetGlobalId ( ) : BinaryenExpressionId ;
42+ declare function _BinaryenLoadId ( ) : BinaryenExpressionId ;
43+ declare function _BinaryenStoreId ( ) : BinaryenExpressionId ;
44+ declare function _BinaryenConstId ( ) : BinaryenExpressionId ;
45+ declare function _BinaryenUnaryId ( ) : BinaryenExpressionId ;
46+ declare function _BinaryenBinaryId ( ) : BinaryenExpressionId ;
47+ declare function _BinaryenSelectId ( ) : BinaryenExpressionId ;
48+ declare function _BinaryenDropId ( ) : BinaryenExpressionId ;
49+ declare function _BinaryenReturnId ( ) : BinaryenExpressionId ;
50+ declare function _BinaryenHostId ( ) : BinaryenExpressionId ;
51+ declare function _BinaryenNopId ( ) : BinaryenExpressionId ;
52+ declare function _BinaryenUnreachableId ( ) : BinaryenExpressionId ;
53+ declare function _BinaryenAtomicCmpxchgId ( ) : BinaryenExpressionId ;
54+ declare function _BinaryenAtomicRMWId ( ) : BinaryenExpressionId ;
55+ declare function _BinaryenAtomicWaitId ( ) : BinaryenExpressionId ;
56+ declare function _BinaryenAtomicWakeId ( ) : BinaryenExpressionId ;
57+
2758declare type BinaryenModuleRef = usize ;
2859
2960declare function _BinaryenModuleCreate ( ) : BinaryenModuleRef ;
@@ -34,10 +65,11 @@ declare type CString = usize;
3465declare type CArray < T > = usize ;
3566
3667declare function _BinaryenAddFunctionType ( module : BinaryenModuleRef , name : CString , result : BinaryenType , paramTypes : CArray < BinaryenType > , numParams : BinaryenIndex ) : BinaryenFunctionTypeRef ;
68+ declare function _BinaryenGetFunctionTypeBySignature ( module : BinaryenModuleRef , result : BinaryenType , paramTypes : CArray < BinaryenType > , numParams : BinaryenIndex ) : BinaryenFunctionTypeRef ;
3769
3870declare type BinaryenLiteral = CArray < u8 > ;
3971
40- // LLVM C ABI with `out` being a buffer of 16 bytes receiving the BinaryenLiteral struct
72+ // LLVM C ABI with `out` being a buffer of 16 bytes receiving the BinaryenLiteral struct.
4173// union value starts at offset 8 due to alignment (?)
4274declare function _BinaryenLiteralInt32 ( out : BinaryenLiteral , x : i32 ) : void ;
4375declare function _BinaryenLiteralInt64 ( out : BinaryenLiteral , x : i32 , y : i32 ) : void ;
@@ -171,10 +203,22 @@ declare function _BinaryenLtFloat64(): BinaryenOp;
171203declare function _BinaryenLeFloat64 ( ) : BinaryenOp ;
172204declare function _BinaryenGtFloat64 ( ) : BinaryenOp ;
173205declare function _BinaryenGeFloat64 ( ) : BinaryenOp ;
174- declare function _BinaryenPageSize ( ) : BinaryenOp ;
175- declare function _BinaryenCurrentMemory ( ) : BinaryenOp ;
176- declare function _BinaryenGrowMemory ( ) : BinaryenOp ;
177- declare function _BinaryenHasFeature ( ) : BinaryenOp ;
206+
207+ declare type BinaryenHostOp = BinaryenOp ;
208+
209+ declare function _BinaryenPageSize ( ) : BinaryenHostOp ;
210+ declare function _BinaryenCurrentMemory ( ) : BinaryenHostOp ;
211+ declare function _BinaryenGrowMemory ( ) : BinaryenHostOp ;
212+ declare function _BinaryenHasFeature ( ) : BinaryenHostOp ;
213+
214+ declare type BinaryenAtomicRMWOp = BinaryenOp ;
215+
216+ declare function _BinaryenAtomicRMWAdd ( ) : BinaryenAtomicRMWOp ;
217+ declare function _BinaryenAtomicRMWSub ( ) : BinaryenAtomicRMWOp ;
218+ declare function _BinaryenAtomicRMWAnd ( ) : BinaryenAtomicRMWOp ;
219+ declare function _BinaryenAtomicRMWOr ( ) : BinaryenAtomicRMWOp ;
220+ declare function _BinaryenAtomicRMWXor ( ) : BinaryenAtomicRMWOp ;
221+ declare function _BinaryenAtomicRMWXchg ( ) : BinaryenAtomicRMWOp ;
178222
179223declare type BinaryenExpressionRef = usize ;
180224
@@ -202,8 +246,19 @@ declare function _BinaryenReturn(module: BinaryenModuleRef, value: BinaryenExpre
202246declare function _BinaryenHost ( module : BinaryenModuleRef , op : BinaryenOp , name : CString | 0 , operands : CArray < BinaryenExpressionRef > , numOperands : BinaryenIndex ) : BinaryenExpressionRef ;
203247declare function _BinaryenNop ( module : BinaryenModuleRef ) : BinaryenExpressionRef ;
204248declare function _BinaryenUnreachable ( module : BinaryenModuleRef ) : BinaryenExpressionRef ;
249+ declare function _BinaryenAtomicRMW ( module : BinaryenModuleRef , op : BinaryenAtomicRMWOp , bytes : i32 , offset : i32 , ptr : BinaryenExpressionRef , value : BinaryenExpressionRef , type : BinaryenType ) : BinaryenExpressionRef ;
250+ declare function _BinaryenAtomicCmpxchg ( module : BinaryenModuleRef , bytes : i32 , offset : i32 , ptr : BinaryenExpressionRef , expected : BinaryenExpressionRef , replacement : BinaryenExpressionRef , type : BinaryenType ) : BinaryenExpressionRef ;
251+ declare function _BinaryenAtomicWait ( module : BinaryenModuleRef , ptr : BinaryenExpressionRef , expected : BinaryenExpressionRef , timeout : BinaryenExpressionRef , expectedType : BinaryenType ) : BinaryenExpressionRef ;
252+ declare function _BinaryenAtomicWake ( module : BinaryenModuleRef , ptr : BinaryenExpressionRef , wakeCount : BinaryenExpressionRef ) : BinaryenExpressionRef ;
205253
254+ declare function _BinaryenExpressionGetId ( expr : BinaryenExpressionRef ) : BinaryenExpressionId ;
255+ declare function _BinaryenExpressionGetType ( expr : BinaryenExpressionRef ) : BinaryenType ;
206256declare function _BinaryenExpressionPrint ( expr : BinaryenExpressionRef ) : void ;
257+ declare function _BinaryenConstGetValueI32 ( expr : BinaryenExpressionRef ) : i32 ;
258+ declare function _BinaryenConstGetValueI64Low ( expr : BinaryenExpressionRef ) : i32 ;
259+ declare function _BinaryenConstGetValueI64High ( expr : BinaryenExpressionRef ) : i32 ;
260+ declare function _BinaryenConstGetValueF32 ( expr : BinaryenExpressionRef ) : f32 ;
261+ declare function _BinaryenConstGetValueF64 ( expr : BinaryenExpressionRef ) : f64 ;
207262
208263declare type BinaryenFunctionRef = usize ;
209264
@@ -219,7 +274,9 @@ declare type BinaryenExportRef = usize;
219274declare function _BinaryenAddExport ( module : BinaryenModuleRef , internalName : CString , externalName : CString ) : BinaryenExportRef ;
220275declare function _BinaryenRemoveExport ( module : BinaryenModuleRef , externalName : CString ) : void ;
221276
222- declare function _BinaryenAddGlobal ( module : BinaryenModuleRef , name : CString , type : BinaryenType , mutable : i8 , init : BinaryenExpressionRef ) : BinaryenImportRef ; // sic
277+ declare type BinaryenGlobalRef = usize ;
278+
279+ declare function _BinaryenAddGlobal ( module : BinaryenModuleRef , name : CString , type : BinaryenType , mutable : i8 , init : BinaryenExpressionRef ) : BinaryenGlobalRef ;
223280
224281declare function _BinaryenSetFunctionTable ( module : BinaryenModuleRef , funcs : CArray < BinaryenFunctionRef > , numFuncs : BinaryenIndex ) : void ;
225282
@@ -232,6 +289,7 @@ declare function _BinaryenModulePrint(module: BinaryenModuleRef): void;
232289declare function _BinaryenModulePrintAsmjs ( module : BinaryenModuleRef ) : void ;
233290declare function _BinaryenModuleValidate ( module : BinaryenModuleRef ) : i32 ;
234291declare function _BinaryenModuleOptimize ( module : BinaryenModuleRef ) : void ;
292+ declare function _BinaryenModuleRunPasses ( module : BinaryenModuleRef , passes : string [ ] ) : void ;
235293declare function _BinaryenModuleAutoDrop ( module : BinaryenModuleRef ) : void ;
236294declare function _BinaryenModuleWrite ( module : BinaryenModuleRef , output : CString , outputSize : usize ) : usize ;
237295declare function _BinaryenModuleRead ( input : CString , inputSize : usize ) : BinaryenModuleRef ;
@@ -248,5 +306,3 @@ declare function _RelooperAddBranchForSwitch(from: RelooperBlockRef, to: Reloope
248306declare function _RelooperRenderAndDispose ( relooper : RelooperRef , entry : RelooperBlockRef , labelHelper : BinaryenIndex , module : BinaryenModuleRef ) : BinaryenExpressionRef ;
249307
250308declare function _BinaryenSetAPITracing ( on : i32 ) : void ;
251-
252- declare function _BinaryenGetFunctionTypeBySignature ( module : BinaryenModuleRef , result : BinaryenType , paramTypes : CArray < BinaryenType > , numParams : BinaryenIndex ) : BinaryenFunctionTypeRef ;
0 commit comments