Skip to content

Update Binaryen #2612

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jan 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
14 changes: 7 additions & 7 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
},
"engineStrict": true,
"dependencies": {
"binaryen": "110.0.0-nightly.20221105",
"binaryen": "111.0.0-nightly.20230111",
"long": "^5.2.0"
},
"devDependencies": {
Expand Down
9 changes: 4 additions & 5 deletions src/builtins.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ import {
SIMDTernaryOp,
SIMDLoadOp,
SIMDLoadStoreLaneOp,
RefIsOp,
TypeRef,
ExpressionRef,
ExpressionId,
Expand Down Expand Up @@ -3470,13 +3469,13 @@ function builtin_assert(ctx: BuiltinContext): ExpressionRef {
case TypeKind.Externref:
case TypeKind.Anyref:
case TypeKind.Eqref:
case TypeKind.Dataref:
case TypeKind.Structref:
case TypeKind.Arrayref:
case TypeKind.I31ref:
case TypeKind.Stringref:
case TypeKind.StringviewWTF8:
case TypeKind.StringviewWTF16:
case TypeKind.StringviewIter: return module.if(module.ref_is(RefIsOp.Null, arg0), abort);
case TypeKind.StringviewIter: return module.if(module.ref_is_null(arg0), abort);
}
} else {
compiler.currentType = type.nonNullableType;
Expand Down Expand Up @@ -3551,7 +3550,7 @@ function builtin_assert(ctx: BuiltinContext): ExpressionRef {
case TypeKind.Externref:
case TypeKind.Anyref:
case TypeKind.Eqref:
case TypeKind.Dataref:
case TypeKind.Structref:
case TypeKind.Arrayref:
case TypeKind.I31ref:
case TypeKind.Stringref:
Expand All @@ -3560,7 +3559,7 @@ function builtin_assert(ctx: BuiltinContext): ExpressionRef {
case TypeKind.StringviewIter: {
let temp = flow.getTempLocal(type);
let ret = module.if(
module.ref_is(RefIsOp.Null,
module.ref_is_null(
module.local_tee(temp.index, arg0, false) // ref
),
abort,
Expand Down
8 changes: 4 additions & 4 deletions src/common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -130,9 +130,9 @@ export namespace CommonNames {
export const externref = "externref";
export const anyref = "anyref";
export const eqref = "eqref";
export const i31ref = "i31ref";
export const dataref = "dataref";
export const structref = "structref";
export const arrayref = "arrayref";
export const i31ref = "i31ref";
export const stringref = "stringref";
export const stringview_wtf8 = "stringview_wtf8";
export const stringview_wtf16 = "stringview_wtf16";
Expand Down Expand Up @@ -211,9 +211,9 @@ export namespace CommonNames {
export const Externref = "Externref";
export const Anyref = "Anyref";
export const Eqref = "Eqref";
export const I31ref = "I31ref";
export const Dataref = "Dataref";
export const Structref = "Structref";
export const Arrayref = "Arrayref";
export const I31ref = "I31ref";
export const String = "String";
export const RegExp = "RegExp";
export const Object = "Object";
Expand Down
17 changes: 9 additions & 8 deletions src/compiler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4838,9 +4838,9 @@ export class Compiler extends DiagnosticEmitter {
);
}
case TypeKind.Eqref:
case TypeKind.I31ref:
case TypeKind.Dataref:
case TypeKind.Arrayref: return module.ref_eq(leftExpr, rightExpr);
case TypeKind.Structref:
case TypeKind.Arrayref:
case TypeKind.I31ref: return module.ref_eq(leftExpr, rightExpr);
case TypeKind.Stringref: return module.string_eq(leftExpr, rightExpr);
case TypeKind.StringviewWTF8:
case TypeKind.StringviewWTF16:
Expand Down Expand Up @@ -4888,9 +4888,9 @@ export class Compiler extends DiagnosticEmitter {
);
}
case TypeKind.Eqref:
case TypeKind.I31ref:
case TypeKind.Dataref:
case TypeKind.Arrayref: {
case TypeKind.Structref:
case TypeKind.Arrayref:
case TypeKind.I31ref: {
return module.unary(UnaryOp.EqzI32,
module.ref_eq(leftExpr, rightExpr)
);
Expand Down Expand Up @@ -9861,7 +9861,7 @@ export class Compiler extends DiagnosticEmitter {
case TypeKind.Externref:
case TypeKind.Anyref:
case TypeKind.Eqref:
case TypeKind.Dataref:
case TypeKind.Structref:
case TypeKind.Arrayref:
case TypeKind.Stringref:
case TypeKind.StringviewWTF8:
Expand Down Expand Up @@ -10020,8 +10020,9 @@ export class Compiler extends DiagnosticEmitter {
case TypeKind.Externref:
case TypeKind.Anyref:
case TypeKind.Eqref:
case TypeKind.Structref:
case TypeKind.Arrayref:
case TypeKind.I31ref:
case TypeKind.Dataref:
case TypeKind.Stringref:
case TypeKind.StringviewWTF8:
case TypeKind.StringviewWTF16:
Expand Down
30 changes: 14 additions & 16 deletions src/glue/binaryen.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,9 @@ export declare function _BinaryenTypeFuncref(): TypeRef;
export declare function _BinaryenTypeExternref(): TypeRef;
export declare function _BinaryenTypeAnyref(): TypeRef;
export declare function _BinaryenTypeEqref(): TypeRef;
export declare function _BinaryenTypeI31ref(): TypeRef;
export declare function _BinaryenTypeDataref(): TypeRef;
export declare function _BinaryenTypeStructref(): TypeRef;
export declare function _BinaryenTypeArrayref(): TypeRef;
export declare function _BinaryenTypeI31ref(): TypeRef;
export declare function _BinaryenTypeStringref(): TypeRef;
export declare function _BinaryenTypeStringviewWTF8(): TypeRef;
export declare function _BinaryenTypeStringviewWTF16(): TypeRef;
Expand All @@ -70,7 +70,7 @@ export declare function _BinaryenHeapTypeExt(): HeapTypeRef;
export declare function _BinaryenHeapTypeAny(): HeapTypeRef;
export declare function _BinaryenHeapTypeEq(): HeapTypeRef;
export declare function _BinaryenHeapTypeI31(): HeapTypeRef;
export declare function _BinaryenHeapTypeData(): HeapTypeRef;
export declare function _BinaryenHeapTypeStruct(): HeapTypeRef;
export declare function _BinaryenHeapTypeArray(): HeapTypeRef;
export declare function _BinaryenHeapTypeString(): HeapTypeRef;
export declare function _BinaryenHeapTypeStringviewWTF8(): HeapTypeRef;
Expand Down Expand Up @@ -448,11 +448,9 @@ export declare function _BinaryenMemoryFillSetSize(expr: ExpressionRef, sizeExpr

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

export declare function _BinaryenRefIs(module: ModuleRef, op: Op, valueExpr: ExpressionRef): ExpressionRef;
export declare function _BinaryenRefIsGetOp(expr: ExpressionRef): Op;
export declare function _BinaryenRefIsSetOp(expr: ExpressionRef, op: Op): void;
export declare function _BinaryenRefIsGetValue(expr: ExpressionRef): ExpressionRef;
export declare function _BinaryenRefIsSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void;
export declare function _BinaryenRefIsNull(module: ModuleRef, valueExpr: ExpressionRef): ExpressionRef;
export declare function _BinaryenRefIsNullGetValue(expr: ExpressionRef): ExpressionRef;
export declare function _BinaryenRefIsNullSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void;

export declare function _BinaryenRefAs(module: ModuleRef, op: Op, valueExpr: ExpressionRef): ExpressionRef;
export declare function _BinaryenRefAsGetOp(expr: ExpressionRef): Op;
Expand Down Expand Up @@ -570,27 +568,25 @@ export declare function _BinaryenCallRefSetTarget(expr: ExpressionRef, targetExp
export declare function _BinaryenCallRefIsReturn(expr: ExpressionRef): bool;
export declare function _BinaryenCallRefSetReturn(expr: ExpressionRef, isReturn: bool): void;

export declare function _BinaryenRefTest(module: ModuleRef, refExpr: ExpressionRef, intendedType: HeapTypeRef): ExpressionRef;
export declare function _BinaryenRefTest(module: ModuleRef, refExpr: ExpressionRef, castType: HeapTypeRef): ExpressionRef;
export declare function _BinaryenRefTestGetRef(expr: ExpressionRef): ExpressionRef;
export declare function _BinaryenRefTestSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void;
export declare function _BinaryenRefTestGetIntendedType(expr: ExpressionRef): HeapTypeRef;
export declare function _BinaryenRefTestSetIntendedType(expr: ExpressionRef, intendedType: HeapTypeRef): void;
export declare function _BinaryenRefTestGetCastType(expr: ExpressionRef): HeapTypeRef;
export declare function _BinaryenRefTestSetCastType(expr: ExpressionRef, castType: HeapTypeRef): void;

export declare function _BinaryenRefCast(module: ModuleRef, refExpr: ExpressionRef, intendedType: HeapTypeRef): ExpressionRef;
export declare function _BinaryenRefCastGetRef(expr: ExpressionRef): ExpressionRef;
export declare function _BinaryenRefCastSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void;
export declare function _BinaryenRefCastGetIntendedType(expr: ExpressionRef): HeapTypeRef;
export declare function _BinaryenRefCastSetIntendedType(expr: ExpressionRef, intendedType: HeapTypeRef): void;

export declare function _BinaryenBrOn(module: ModuleRef, op: Op, name: StringRef, ref: ExpressionRef, intendedType: HeapTypeRef): ExpressionRef;
export declare function _BinaryenBrOn(module: ModuleRef, op: Op, name: StringRef, ref: ExpressionRef, castType: HeapTypeRef): ExpressionRef;
export declare function _BinaryenBrOnGetOp(expr: ExpressionRef): Op;
export declare function _BinaryenBrOnSetOp(expr: ExpressionRef, op: Op): void;
export declare function _BinaryenBrOnGetName(expr: ExpressionRef): StringRef;
export declare function _BinaryenBrOnSetName(expr: ExpressionRef, nameStr: StringRef): void;
export declare function _BinaryenBrOnGetRef(expr: ExpressionRef): ExpressionRef;
export declare function _BinaryenBrOnSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void;
export declare function _BinaryenBrOnGetIntendedType(expr: ExpressionRef): HeapTypeRef;
export declare function _BinaryenBrOnSetIntendedType(expr: ExpressionRef, intendedType: HeapTypeRef): void;
export declare function _BinaryenBrOnGetCastType(expr: ExpressionRef): HeapTypeRef;
export declare function _BinaryenBrOnSetCastType(expr: ExpressionRef, castType: HeapTypeRef): void;

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

// TODO: BinaryenArrayNewSeg

export declare function _BinaryenArrayInit(module: ModuleRef, type: HeapTypeRef, values: ArrayRef<ExpressionRef>, numValues: Index): ExpressionRef;
export declare function _BinaryenArrayInitGetNumValues(expr: ExpressionRef): Index;
export declare function _BinaryenArrayInitGetValueAt(expr: ExpressionRef, index: Index): ExpressionRef;
Expand Down
22 changes: 9 additions & 13 deletions src/glue/binaryen.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ export const {
_BinaryenTypeAnyref,
_BinaryenTypeEqref,
_BinaryenTypeI31ref,
_BinaryenTypeDataref,
_BinaryenTypeStructref,
_BinaryenTypeArrayref,
_BinaryenTypeStringref,
_BinaryenTypeStringviewWTF8,
Expand All @@ -33,7 +33,7 @@ export const {
_BinaryenHeapTypeAny,
_BinaryenHeapTypeEq,
_BinaryenHeapTypeI31,
_BinaryenHeapTypeData,
_BinaryenHeapTypeStruct,
_BinaryenHeapTypeArray,
_BinaryenHeapTypeString,
_BinaryenHeapTypeStringviewWTF8,
Expand Down Expand Up @@ -406,11 +406,9 @@ export const {

_BinaryenRefNull,

_BinaryenRefIs,
_BinaryenRefIsGetOp,
_BinaryenRefIsSetOp,
_BinaryenRefIsGetValue,
_BinaryenRefIsSetValue,
_BinaryenRefIsNull,
_BinaryenRefIsNullGetValue,
_BinaryenRefIsNullSetValue,

_BinaryenRefAs,
_BinaryenRefAsGetOp,
Expand Down Expand Up @@ -531,14 +529,12 @@ export const {
_BinaryenRefTest,
_BinaryenRefTestGetRef,
_BinaryenRefTestSetRef,
_BinaryenRefTestGetIntendedType,
_BinaryenRefTestSetIntendedType,
_BinaryenRefTestGetCastType,
_BinaryenRefTestSetCastType,

_BinaryenRefCast,
_BinaryenRefCastGetRef,
_BinaryenRefCastSetRef,
_BinaryenRefCastGetIntendedType,
_BinaryenRefCastSetIntendedType,

_BinaryenBrOn,
_BinaryenBrOnGetOp,
Expand All @@ -547,8 +543,8 @@ export const {
_BinaryenBrOnSetName,
_BinaryenBrOnGetRef,
_BinaryenBrOnSetRef,
_BinaryenBrOnGetIntendedType,
_BinaryenBrOnSetIntendedType,
_BinaryenBrOnGetCastType,
_BinaryenBrOnSetCastType,

_BinaryenStructNew,
_BinaryenStructNewGetNumOperands,
Expand Down
Loading