Skip to content

Commit 9971708

Browse files
authored
Update Binaryen (#2612)
1 parent d46bfeb commit 9971708

File tree

317 files changed

+14480
-14524
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

317 files changed

+14480
-14524
lines changed

package-lock.json

+7-7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
},
2626
"engineStrict": true,
2727
"dependencies": {
28-
"binaryen": "110.0.0-nightly.20221105",
28+
"binaryen": "111.0.0-nightly.20230111",
2929
"long": "^5.2.0"
3030
},
3131
"devDependencies": {

src/builtins.ts

+4-5
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ import {
6161
SIMDTernaryOp,
6262
SIMDLoadOp,
6363
SIMDLoadStoreLaneOp,
64-
RefIsOp,
6564
TypeRef,
6665
ExpressionRef,
6766
ExpressionId,
@@ -3470,13 +3469,13 @@ function builtin_assert(ctx: BuiltinContext): ExpressionRef {
34703469
case TypeKind.Externref:
34713470
case TypeKind.Anyref:
34723471
case TypeKind.Eqref:
3473-
case TypeKind.Dataref:
3472+
case TypeKind.Structref:
34743473
case TypeKind.Arrayref:
34753474
case TypeKind.I31ref:
34763475
case TypeKind.Stringref:
34773476
case TypeKind.StringviewWTF8:
34783477
case TypeKind.StringviewWTF16:
3479-
case TypeKind.StringviewIter: return module.if(module.ref_is(RefIsOp.Null, arg0), abort);
3478+
case TypeKind.StringviewIter: return module.if(module.ref_is_null(arg0), abort);
34803479
}
34813480
} else {
34823481
compiler.currentType = type.nonNullableType;
@@ -3551,7 +3550,7 @@ function builtin_assert(ctx: BuiltinContext): ExpressionRef {
35513550
case TypeKind.Externref:
35523551
case TypeKind.Anyref:
35533552
case TypeKind.Eqref:
3554-
case TypeKind.Dataref:
3553+
case TypeKind.Structref:
35553554
case TypeKind.Arrayref:
35563555
case TypeKind.I31ref:
35573556
case TypeKind.Stringref:
@@ -3560,7 +3559,7 @@ function builtin_assert(ctx: BuiltinContext): ExpressionRef {
35603559
case TypeKind.StringviewIter: {
35613560
let temp = flow.getTempLocal(type);
35623561
let ret = module.if(
3563-
module.ref_is(RefIsOp.Null,
3562+
module.ref_is_null(
35643563
module.local_tee(temp.index, arg0, false) // ref
35653564
),
35663565
abort,

src/common.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -130,9 +130,9 @@ export namespace CommonNames {
130130
export const externref = "externref";
131131
export const anyref = "anyref";
132132
export const eqref = "eqref";
133-
export const i31ref = "i31ref";
134-
export const dataref = "dataref";
133+
export const structref = "structref";
135134
export const arrayref = "arrayref";
135+
export const i31ref = "i31ref";
136136
export const stringref = "stringref";
137137
export const stringview_wtf8 = "stringview_wtf8";
138138
export const stringview_wtf16 = "stringview_wtf16";
@@ -211,9 +211,9 @@ export namespace CommonNames {
211211
export const Externref = "Externref";
212212
export const Anyref = "Anyref";
213213
export const Eqref = "Eqref";
214-
export const I31ref = "I31ref";
215-
export const Dataref = "Dataref";
214+
export const Structref = "Structref";
216215
export const Arrayref = "Arrayref";
216+
export const I31ref = "I31ref";
217217
export const String = "String";
218218
export const RegExp = "RegExp";
219219
export const Object = "Object";

src/compiler.ts

+9-8
Original file line numberDiff line numberDiff line change
@@ -4838,9 +4838,9 @@ export class Compiler extends DiagnosticEmitter {
48384838
);
48394839
}
48404840
case TypeKind.Eqref:
4841-
case TypeKind.I31ref:
4842-
case TypeKind.Dataref:
4843-
case TypeKind.Arrayref: return module.ref_eq(leftExpr, rightExpr);
4841+
case TypeKind.Structref:
4842+
case TypeKind.Arrayref:
4843+
case TypeKind.I31ref: return module.ref_eq(leftExpr, rightExpr);
48444844
case TypeKind.Stringref: return module.string_eq(leftExpr, rightExpr);
48454845
case TypeKind.StringviewWTF8:
48464846
case TypeKind.StringviewWTF16:
@@ -4888,9 +4888,9 @@ export class Compiler extends DiagnosticEmitter {
48884888
);
48894889
}
48904890
case TypeKind.Eqref:
4891-
case TypeKind.I31ref:
4892-
case TypeKind.Dataref:
4893-
case TypeKind.Arrayref: {
4891+
case TypeKind.Structref:
4892+
case TypeKind.Arrayref:
4893+
case TypeKind.I31ref: {
48944894
return module.unary(UnaryOp.EqzI32,
48954895
module.ref_eq(leftExpr, rightExpr)
48964896
);
@@ -9861,7 +9861,7 @@ export class Compiler extends DiagnosticEmitter {
98619861
case TypeKind.Externref:
98629862
case TypeKind.Anyref:
98639863
case TypeKind.Eqref:
9864-
case TypeKind.Dataref:
9864+
case TypeKind.Structref:
98659865
case TypeKind.Arrayref:
98669866
case TypeKind.Stringref:
98679867
case TypeKind.StringviewWTF8:
@@ -10020,8 +10020,9 @@ export class Compiler extends DiagnosticEmitter {
1002010020
case TypeKind.Externref:
1002110021
case TypeKind.Anyref:
1002210022
case TypeKind.Eqref:
10023+
case TypeKind.Structref:
10024+
case TypeKind.Arrayref:
1002310025
case TypeKind.I31ref:
10024-
case TypeKind.Dataref:
1002510026
case TypeKind.Stringref:
1002610027
case TypeKind.StringviewWTF8:
1002710028
case TypeKind.StringviewWTF16:

src/glue/binaryen.d.ts

+14-16
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@ export declare function _BinaryenTypeFuncref(): TypeRef;
5454
export declare function _BinaryenTypeExternref(): TypeRef;
5555
export declare function _BinaryenTypeAnyref(): TypeRef;
5656
export declare function _BinaryenTypeEqref(): TypeRef;
57-
export declare function _BinaryenTypeI31ref(): TypeRef;
58-
export declare function _BinaryenTypeDataref(): TypeRef;
57+
export declare function _BinaryenTypeStructref(): TypeRef;
5958
export declare function _BinaryenTypeArrayref(): TypeRef;
59+
export declare function _BinaryenTypeI31ref(): TypeRef;
6060
export declare function _BinaryenTypeStringref(): TypeRef;
6161
export declare function _BinaryenTypeStringviewWTF8(): TypeRef;
6262
export declare function _BinaryenTypeStringviewWTF16(): TypeRef;
@@ -70,7 +70,7 @@ export declare function _BinaryenHeapTypeExt(): HeapTypeRef;
7070
export declare function _BinaryenHeapTypeAny(): HeapTypeRef;
7171
export declare function _BinaryenHeapTypeEq(): HeapTypeRef;
7272
export declare function _BinaryenHeapTypeI31(): HeapTypeRef;
73-
export declare function _BinaryenHeapTypeData(): HeapTypeRef;
73+
export declare function _BinaryenHeapTypeStruct(): HeapTypeRef;
7474
export declare function _BinaryenHeapTypeArray(): HeapTypeRef;
7575
export declare function _BinaryenHeapTypeString(): HeapTypeRef;
7676
export declare function _BinaryenHeapTypeStringviewWTF8(): HeapTypeRef;
@@ -448,11 +448,9 @@ export declare function _BinaryenMemoryFillSetSize(expr: ExpressionRef, sizeExpr
448448

449449
export declare function _BinaryenRefNull(module: ModuleRef, type: TypeRef): ExpressionRef;
450450

451-
export declare function _BinaryenRefIs(module: ModuleRef, op: Op, valueExpr: ExpressionRef): ExpressionRef;
452-
export declare function _BinaryenRefIsGetOp(expr: ExpressionRef): Op;
453-
export declare function _BinaryenRefIsSetOp(expr: ExpressionRef, op: Op): void;
454-
export declare function _BinaryenRefIsGetValue(expr: ExpressionRef): ExpressionRef;
455-
export declare function _BinaryenRefIsSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void;
451+
export declare function _BinaryenRefIsNull(module: ModuleRef, valueExpr: ExpressionRef): ExpressionRef;
452+
export declare function _BinaryenRefIsNullGetValue(expr: ExpressionRef): ExpressionRef;
453+
export declare function _BinaryenRefIsNullSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void;
456454

457455
export declare function _BinaryenRefAs(module: ModuleRef, op: Op, valueExpr: ExpressionRef): ExpressionRef;
458456
export declare function _BinaryenRefAsGetOp(expr: ExpressionRef): Op;
@@ -570,27 +568,25 @@ export declare function _BinaryenCallRefSetTarget(expr: ExpressionRef, targetExp
570568
export declare function _BinaryenCallRefIsReturn(expr: ExpressionRef): bool;
571569
export declare function _BinaryenCallRefSetReturn(expr: ExpressionRef, isReturn: bool): void;
572570

573-
export declare function _BinaryenRefTest(module: ModuleRef, refExpr: ExpressionRef, intendedType: HeapTypeRef): ExpressionRef;
571+
export declare function _BinaryenRefTest(module: ModuleRef, refExpr: ExpressionRef, castType: HeapTypeRef): ExpressionRef;
574572
export declare function _BinaryenRefTestGetRef(expr: ExpressionRef): ExpressionRef;
575573
export declare function _BinaryenRefTestSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void;
576-
export declare function _BinaryenRefTestGetIntendedType(expr: ExpressionRef): HeapTypeRef;
577-
export declare function _BinaryenRefTestSetIntendedType(expr: ExpressionRef, intendedType: HeapTypeRef): void;
574+
export declare function _BinaryenRefTestGetCastType(expr: ExpressionRef): HeapTypeRef;
575+
export declare function _BinaryenRefTestSetCastType(expr: ExpressionRef, castType: HeapTypeRef): void;
578576

579577
export declare function _BinaryenRefCast(module: ModuleRef, refExpr: ExpressionRef, intendedType: HeapTypeRef): ExpressionRef;
580578
export declare function _BinaryenRefCastGetRef(expr: ExpressionRef): ExpressionRef;
581579
export declare function _BinaryenRefCastSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void;
582-
export declare function _BinaryenRefCastGetIntendedType(expr: ExpressionRef): HeapTypeRef;
583-
export declare function _BinaryenRefCastSetIntendedType(expr: ExpressionRef, intendedType: HeapTypeRef): void;
584580

585-
export declare function _BinaryenBrOn(module: ModuleRef, op: Op, name: StringRef, ref: ExpressionRef, intendedType: HeapTypeRef): ExpressionRef;
581+
export declare function _BinaryenBrOn(module: ModuleRef, op: Op, name: StringRef, ref: ExpressionRef, castType: HeapTypeRef): ExpressionRef;
586582
export declare function _BinaryenBrOnGetOp(expr: ExpressionRef): Op;
587583
export declare function _BinaryenBrOnSetOp(expr: ExpressionRef, op: Op): void;
588584
export declare function _BinaryenBrOnGetName(expr: ExpressionRef): StringRef;
589585
export declare function _BinaryenBrOnSetName(expr: ExpressionRef, nameStr: StringRef): void;
590586
export declare function _BinaryenBrOnGetRef(expr: ExpressionRef): ExpressionRef;
591587
export declare function _BinaryenBrOnSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void;
592-
export declare function _BinaryenBrOnGetIntendedType(expr: ExpressionRef): HeapTypeRef;
593-
export declare function _BinaryenBrOnSetIntendedType(expr: ExpressionRef, intendedType: HeapTypeRef): void;
588+
export declare function _BinaryenBrOnGetCastType(expr: ExpressionRef): HeapTypeRef;
589+
export declare function _BinaryenBrOnSetCastType(expr: ExpressionRef, castType: HeapTypeRef): void;
594590

595591
export declare function _BinaryenStructNew(module: ModuleRef, operands: ArrayRef<ExpressionRef>, numOperands: Index, type: HeapTypeRef): ExpressionRef;
596592
export declare function _BinaryenStructNewGetNumOperands(expr: ExpressionRef): Index;
@@ -622,6 +618,8 @@ export declare function _BinaryenArrayNewSetInit(expr: ExpressionRef, initExpr:
622618
export declare function _BinaryenArrayNewGetSize(expr: ExpressionRef): ExpressionRef;
623619
export declare function _BinaryenArrayNewSetSize(expr: ExpressionRef, sizeExpr: ExpressionRef): void;
624620

621+
// TODO: BinaryenArrayNewSeg
622+
625623
export declare function _BinaryenArrayInit(module: ModuleRef, type: HeapTypeRef, values: ArrayRef<ExpressionRef>, numValues: Index): ExpressionRef;
626624
export declare function _BinaryenArrayInitGetNumValues(expr: ExpressionRef): Index;
627625
export declare function _BinaryenArrayInitGetValueAt(expr: ExpressionRef, index: Index): ExpressionRef;

src/glue/binaryen.js

+9-13
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export const {
1818
_BinaryenTypeAnyref,
1919
_BinaryenTypeEqref,
2020
_BinaryenTypeI31ref,
21-
_BinaryenTypeDataref,
21+
_BinaryenTypeStructref,
2222
_BinaryenTypeArrayref,
2323
_BinaryenTypeStringref,
2424
_BinaryenTypeStringviewWTF8,
@@ -33,7 +33,7 @@ export const {
3333
_BinaryenHeapTypeAny,
3434
_BinaryenHeapTypeEq,
3535
_BinaryenHeapTypeI31,
36-
_BinaryenHeapTypeData,
36+
_BinaryenHeapTypeStruct,
3737
_BinaryenHeapTypeArray,
3838
_BinaryenHeapTypeString,
3939
_BinaryenHeapTypeStringviewWTF8,
@@ -406,11 +406,9 @@ export const {
406406

407407
_BinaryenRefNull,
408408

409-
_BinaryenRefIs,
410-
_BinaryenRefIsGetOp,
411-
_BinaryenRefIsSetOp,
412-
_BinaryenRefIsGetValue,
413-
_BinaryenRefIsSetValue,
409+
_BinaryenRefIsNull,
410+
_BinaryenRefIsNullGetValue,
411+
_BinaryenRefIsNullSetValue,
414412

415413
_BinaryenRefAs,
416414
_BinaryenRefAsGetOp,
@@ -531,14 +529,12 @@ export const {
531529
_BinaryenRefTest,
532530
_BinaryenRefTestGetRef,
533531
_BinaryenRefTestSetRef,
534-
_BinaryenRefTestGetIntendedType,
535-
_BinaryenRefTestSetIntendedType,
532+
_BinaryenRefTestGetCastType,
533+
_BinaryenRefTestSetCastType,
536534

537535
_BinaryenRefCast,
538536
_BinaryenRefCastGetRef,
539537
_BinaryenRefCastSetRef,
540-
_BinaryenRefCastGetIntendedType,
541-
_BinaryenRefCastSetIntendedType,
542538

543539
_BinaryenBrOn,
544540
_BinaryenBrOnGetOp,
@@ -547,8 +543,8 @@ export const {
547543
_BinaryenBrOnSetName,
548544
_BinaryenBrOnGetRef,
549545
_BinaryenBrOnSetRef,
550-
_BinaryenBrOnGetIntendedType,
551-
_BinaryenBrOnSetIntendedType,
546+
_BinaryenBrOnGetCastType,
547+
_BinaryenBrOnSetCastType,
552548

553549
_BinaryenStructNew,
554550
_BinaryenStructNewGetNumOperands,

0 commit comments

Comments
 (0)