Skip to content

Commit 0234c8b

Browse files
authored
chore: Rename anyref to externref to match proposal change (#1319)
BREAKING CHANGE: The `anyref` type has been renamed to `externref` and support for externref `null` values has been temporarily disabled.
1 parent 5207bcb commit 0234c8b

20 files changed

+168
-256
lines changed

.github/workflows/test.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,7 @@ jobs:
115115
- uses: dcodeIO/setup-node-nvm@master
116116
with:
117117
node-mirror: https://nodejs.org/download/v8-canary/
118-
# FIXME: newer node-v8 builds are currently broken
119-
node-version: "14.0.0-v8-canary201911242015a12d82"
118+
node-version: "15.0.0-v8-canary202007077c53168ead"
120119
- name: Install dependencies
121120
run: npm ci --no-audit
122121
- name: Clean distribution files

package-lock.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
"url": "https://github.com/AssemblyScript/assemblyscript/issues"
2222
},
2323
"dependencies": {
24-
"binaryen": "93.0.0-nightly.20200609",
24+
"binaryen": "93.0.0-nightly.20200611",
2525
"long": "^4.0.0",
2626
"source-map-support": "^0.5.19",
2727
"ts-node": "^6.2.0"

src/builtins.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -971,7 +971,7 @@ function builtin_nameof(ctx: BuiltinContext): ExpressionRef {
971971
if (signatureReference) {
972972
value = "Function";
973973
} else {
974-
value = "Anyref";
974+
value = "Externref";
975975
}
976976
}
977977
} else {
@@ -990,7 +990,7 @@ function builtin_nameof(ctx: BuiltinContext): ExpressionRef {
990990
case TypeKind.ISIZE: { value = "isize"; break; }
991991
case TypeKind.USIZE: { value = "usize"; break; }
992992
case TypeKind.V128: { value = "v128"; break; }
993-
case TypeKind.ANYREF: { value = "anyref"; break; }
993+
case TypeKind.EXTERNREF: { value = "externref"; break; }
994994
default: assert(false);
995995
case TypeKind.VOID: { value = "void"; break; }
996996
}
@@ -2440,7 +2440,8 @@ function builtin_select(ctx: BuiltinContext): ExpressionRef {
24402440
var arg1 = compiler.compileExpression(operands[1], type, Constraints.CONV_IMPLICIT);
24412441
var arg2 = compiler.makeIsTrueish(
24422442
compiler.compileExpression(operands[2], Type.bool),
2443-
compiler.currentType // ^
2443+
compiler.currentType, // ^
2444+
operands[2]
24442445
);
24452446
compiler.currentType = type;
24462447
return module.select(arg0, arg1, arg2);
@@ -2577,9 +2578,9 @@ function builtin_memory_data(ctx: BuiltinContext): ExpressionRef {
25772578
let exprs = new Array<ExpressionRef>(numElements);
25782579
let isStatic = true;
25792580
for (let i = 0; i < numElements; ++i) {
2580-
let expression = expressions[i];
2581-
if (expression) {
2582-
let expr = compiler.compileExpression(expression, elementType,
2581+
let elementExpression = expressions[i];
2582+
if (elementExpression) {
2583+
let expr = compiler.compileExpression(elementExpression, elementType,
25832584
Constraints.CONV_IMPLICIT | Constraints.WILL_RETAIN
25842585
);
25852586
let precomp = module.runExpression(expr, ExpressionRunnerFlags.PreserveSideeffects);
@@ -2590,7 +2591,7 @@ function builtin_memory_data(ctx: BuiltinContext): ExpressionRef {
25902591
}
25912592
exprs[i] = expr;
25922593
} else {
2593-
exprs[i] = compiler.makeZero(elementType);
2594+
exprs[i] = compiler.makeZero(elementType, valuesOperand);
25942595
}
25952596
}
25962597
if (!isStatic) {

src/common.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ export namespace CommonNames {
123123
export const f32 = "f32";
124124
export const f64 = "f64";
125125
export const v128 = "v128";
126-
export const anyref = "anyref";
126+
export const externref = "externref";
127127
export const i8x16 = "i8x16";
128128
export const u8x16 = "u8x16";
129129
export const i16x8 = "i16x8";
@@ -185,7 +185,7 @@ export namespace CommonNames {
185185
export const F32 = "F32";
186186
export const F64 = "F64";
187187
export const V128 = "V128";
188-
export const Anyref = "Anyref";
188+
export const Externref = "Externref";
189189
export const String = "String";
190190
export const Array = "Array";
191191
export const StaticArray = "StaticArray";

0 commit comments

Comments
 (0)