@@ -240,6 +240,12 @@ declare module binaryen {
240240 const ExternalGlobal : ExternalKinds ;
241241 const ExternalTag : ExternalKinds ;
242242
243+ const enum MemoryOrder {
244+ Unordered ,
245+ SeqCst ,
246+ AcqRel
247+ }
248+
243249 enum Features {
244250 MVP ,
245251 Atomics ,
@@ -1217,38 +1223,38 @@ declare module binaryen {
12171223 ge_s ( left : ExpressionRef , right : ExpressionRef ) : ExpressionRef ;
12181224 ge_u ( left : ExpressionRef , right : ExpressionRef ) : ExpressionRef ;
12191225 atomic : {
1220- load ( offset : number , ptr : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1221- load8_u ( offset : number , ptr : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1222- load16_u ( offset : number , ptr : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1223- store ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1224- store8 ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1225- store16 ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1226+ load ( offset : number , ptr : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1227+ load8_u ( offset : number , ptr : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1228+ load16_u ( offset : number , ptr : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1229+ store ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1230+ store8 ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1231+ store16 ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
12261232 rmw : {
1227- add ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1228- sub ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1229- and ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1230- or ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1231- xor ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1232- xchg ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1233- cmpxchg ( offset : number , ptr : ExpressionRef , expected : ExpressionRef , replacement : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1233+ add ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1234+ sub ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1235+ and ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1236+ or ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1237+ xor ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1238+ xchg ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1239+ cmpxchg ( offset : number , ptr : ExpressionRef , expected : ExpressionRef , replacement : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
12341240 } ,
12351241 rmw8_u : {
1236- add ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1237- sub ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1238- and ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1239- or ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1240- xor ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1241- xchg ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1242- cmpxchg ( offset : number , ptr : ExpressionRef , expected : ExpressionRef , replacement : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1242+ add ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1243+ sub ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1244+ and ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1245+ or ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1246+ xor ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1247+ xchg ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1248+ cmpxchg ( offset : number , ptr : ExpressionRef , expected : ExpressionRef , replacement : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
12431249 } ,
12441250 rmw16_u : {
1245- add ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1246- sub ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1247- and ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1248- or ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1249- xor ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1250- xchg ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1251- cmpxchg ( offset : number , ptr : ExpressionRef , expected : ExpressionRef , replacement : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1251+ add ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1252+ sub ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1253+ and ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1254+ or ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1255+ xor ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1256+ xchg ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1257+ cmpxchg ( offset : number , ptr : ExpressionRef , expected : ExpressionRef , replacement : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
12521258 } ,
12531259 } ,
12541260 pop ( ) : ExpressionRef ;
@@ -1318,49 +1324,49 @@ declare module binaryen {
13181324 ge_s ( left : ExpressionRef , right : ExpressionRef ) : ExpressionRef ;
13191325 ge_u ( left : ExpressionRef , right : ExpressionRef ) : ExpressionRef ;
13201326 atomic : {
1321- load ( offset : number , ptr : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1322- load8_u ( offset : number , ptr : ExpressionRef , name ?: string , order ?: number : ExpressionRef ;
1323- load16_u ( offset : number , ptr : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1324- load32_u ( offset : number , ptr : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1325- store ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1326- store8 ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1327- store16 ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1328- store32 ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1327+ load ( offset : number , ptr : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1328+ load8_u ( offset : number , ptr : ExpressionRef , name ?: string , order ?: MemoryOrder : ExpressionRef ;
1329+ load16_u ( offset : number , ptr : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1330+ load32_u ( offset : number , ptr : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1331+ store ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1332+ store8 ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1333+ store16 ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1334+ store32 ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
13291335 rmw : {
1330- add ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1331- sub ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1332- and ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1333- or ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1334- xor ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1335- xchg ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1336- cmpxchg ( offset : number , ptr : ExpressionRef , expected : ExpressionRef , replacement : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1336+ add ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1337+ sub ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1338+ and ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1339+ or ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1340+ xor ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1341+ xchg ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1342+ cmpxchg ( offset : number , ptr : ExpressionRef , expected : ExpressionRef , replacement : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
13371343 } ,
13381344 rmw8_u : {
1339- add ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1340- sub ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1341- and ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1342- or ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1343- xor ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1344- xchg ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1345- cmpxchg ( offset : number , ptr : ExpressionRef , expected : ExpressionRef , replacement : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1345+ add ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1346+ sub ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1347+ and ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1348+ or ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1349+ xor ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1350+ xchg ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1351+ cmpxchg ( offset : number , ptr : ExpressionRef , expected : ExpressionRef , replacement : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
13461352 } ,
13471353 rmw16_u : {
1348- add ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1349- sub ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1350- and ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1351- or ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1352- xor ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1353- xchg ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1354- cmpxchg ( offset : number , ptr : ExpressionRef , expected : ExpressionRef , replacement : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1354+ add ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1355+ sub ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1356+ and ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1357+ or ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1358+ xor ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1359+ xchg ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1360+ cmpxchg ( offset : number , ptr : ExpressionRef , expected : ExpressionRef , replacement : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
13551361 } ,
13561362 rmw32_u : {
1357- add ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1358- sub ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1359- and ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1360- or ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1361- xor ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1362- xchg ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1363- cmpxchg ( offset : number , ptr : ExpressionRef , expected : ExpressionRef , replacement : ExpressionRef , name ?: string , order ?: number ) : ExpressionRef ;
1363+ add ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1364+ sub ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1365+ and ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1366+ or ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1367+ xor ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1368+ xchg ( offset : number , ptr : ExpressionRef , value : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
1369+ cmpxchg ( offset : number , ptr : ExpressionRef , expected : ExpressionRef , replacement : ExpressionRef , name ?: string , order ?: MemoryOrder ) : ExpressionRef ;
13641370 } ,
13651371 } ,
13661372 pop ( ) : ExpressionRef ;
0 commit comments