Skip to content

Commit 5e61ec3

Browse files
authored
Slice v0.9.3 (AssemblyScript#1153)
1 parent ca6e319 commit 5e61ec3

File tree

13 files changed

+64
-38
lines changed

13 files changed

+64
-38
lines changed

cli/asc.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,8 @@
167167
"TODO_doesNothingYet": [
168168
" nontrapping-f2i Non-trapping float to integer ops.",
169169
" exception-handling Exception handling.",
170-
" tail-calls Tail call operations."
170+
" tail-calls Tail call operations.",
171+
" multi-value Multi value types."
171172
],
172173
"type": "S"
173174
},

package-lock.json

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

package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"assemblyscript",
99
"wasm"
1010
],
11-
"version": "0.9.2",
11+
"version": "0.9.3",
1212
"author": "Daniel Wirtz <dcode+assemblyscript@dcode.io>",
1313
"contributors": [],
1414
"license": "Apache-2.0",
@@ -21,13 +21,13 @@
2121
"url": "https://github.com/AssemblyScript/assemblyscript/issues"
2222
},
2323
"dependencies": {
24-
"binaryen": "90.0.0-nightly.20200214",
24+
"binaryen": "91.0.0-nightly.20200310",
2525
"long": "^4.0.0",
2626
"source-map-support": "^0.5.16",
2727
"ts-node": "^6.2.0"
2828
},
2929
"devDependencies": {
30-
"@types/node": "^13.7.1",
30+
"@types/node": "^13.9.0",
3131
"browser-process-hrtime": "^1.0.0",
3232
"diff": "^4.0.2",
3333
"glob": "^7.1.6",
@@ -36,8 +36,8 @@
3636
"ts-loader": "^6.2.1",
3737
"ts-node": "^6.2.0",
3838
"tslint": "^5.20.1",
39-
"typescript": "^3.7.5",
40-
"webpack": "^4.41.6",
39+
"typescript": "^3.8.3",
40+
"webpack": "^4.42.0",
4141
"webpack-cli": "^3.3.11"
4242
},
4343
"main": "index.js",

src/common.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@ export namespace CommonNames {
163163
export const ASC_FEATURE_EXCEPTION_HANDLING = "ASC_FEATURE_EXCEPTION_HANDLING";
164164
export const ASC_FEATURE_TAIL_CALLS = "ASC_FEATURE_TAIL_CALLS";
165165
export const ASC_FEATURE_REFERENCE_TYPES = "ASC_FEATURE_REFERENCE_TYPES";
166+
export const ASC_FEATURE_MULTI_VALUE = "ASC_FEATURE_MULTI_VALUE";
166167
// classes
167168
export const I8 = "I8";
168169
export const I16 = "I16";

src/compiler.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -373,6 +373,7 @@ export class Compiler extends DiagnosticEmitter {
373373
if (options.hasFeature(Feature.EXCEPTION_HANDLING)) featureFlags |= FeatureFlags.ExceptionHandling;
374374
if (options.hasFeature(Feature.TAIL_CALLS)) featureFlags |= FeatureFlags.TailCall;
375375
if (options.hasFeature(Feature.REFERENCE_TYPES)) featureFlags |= FeatureFlags.ReferenceTypes;
376+
if (options.hasFeature(Feature.MULTI_VALUE)) featureFlags |= FeatureFlags.MultiValue;
376377
module.setFeatures(featureFlags);
377378
}
378379

src/glue/binaryen.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ export declare function _BinaryenFeatureSignExt(): BinaryenFeatureFlags;
5656
export declare function _BinaryenFeatureExceptionHandling(): BinaryenFeatureFlags;
5757
export declare function _BinaryenFeatureTailCall(): BinaryenFeatureFlags;
5858
export declare function _BinaryenFeatureReferenceTypes(): BinaryenFeatureFlags;
59+
export declare function _BinaryenFeatureMultivalue(): BinaryenFeatureFlags;
5960
export declare function _BinaryenFeatureAll(): BinaryenFeatureFlags;
6061

6162
type BinaryenExpressionId = i32;

src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,8 @@ export const FEATURE_EXCEPTION_HANDLING = Feature.EXCEPTION_HANDLING;
127127
export const FEATURE_TAIL_CALLS = Feature.TAIL_CALLS;
128128
/** Reference types. */
129129
export const FEATURE_REFERENCE_TYPES = Feature.REFERENCE_TYPES;
130+
/** Multi value types. */
131+
export const FEATURE_MULTI_VALUE = Feature.MULTI_VALUE;
130132

131133
/** Enables a specific feature. */
132134
export function enableFeature(options: Options, feature: Feature): void {

src/module.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ export enum FeatureFlags {
5454
ExceptionHandling = 64 /* _BinaryenFeatureExceptionHandling */,
5555
TailCall = 128 /* _BinaryenFeatureTailCall */,
5656
ReferenceTypes = 256 /* _BinaryenFeatureReferenceTypes */,
57-
All = 511 /* _BinaryenFeatureAll */
57+
MultiValue = 512 /* _BinaryenFeatureMultivalue */,
58+
All = 1023 /* _BinaryenFeatureAll */
5859
}
5960

6061
export enum ExpressionId {

src/program.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -731,6 +731,8 @@ export class Program extends DiagnosticEmitter {
731731
i64_new(options.hasFeature(Feature.TAIL_CALLS) ? 1 : 0, 0));
732732
this.registerConstantInteger(CommonNames.ASC_FEATURE_REFERENCE_TYPES, Type.bool,
733733
i64_new(options.hasFeature(Feature.REFERENCE_TYPES) ? 1 : 0, 0));
734+
this.registerConstantInteger(CommonNames.ASC_FEATURE_MULTI_VALUE, Type.bool,
735+
i64_new(options.hasFeature(Feature.MULTI_VALUE) ? 1 : 0, 0));
734736

735737
// remember deferred elements
736738
var queuedImports = new Array<QueuedImport>();

std/assembly/index.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ declare const ASC_FEATURE_EXCEPTION_HANDLING: bool;
7070
declare const ASC_FEATURE_TAIL_CALLS: bool;
7171
/** Whether the reference types feature is enabled. */
7272
declare const ASC_FEATURE_REFERENCE_TYPES: bool;
73+
/** Whether the multi value types feature is enabled. */
74+
declare const ASC_FEATURE_MULTI_VALUE: bool;
7375

7476
// Builtins
7577

std/assembly/shared/feature.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ export const enum Feature {
2121
/** Tail call operations. */
2222
TAIL_CALLS = 1 << 7, // see: https://github.com/WebAssembly/tail-call
2323
/** Reference types. */
24-
REFERENCE_TYPES = 1 << 8 // see: https://github.com/WebAssembly/reference-types
24+
REFERENCE_TYPES = 1 << 8, // see: https://github.com/WebAssembly/reference-types
25+
/** Multi value types. */
26+
MULTI_VALUE = 1 << 9 // see: https://github.com/WebAssembly/multi-value
2527
}
2628

2729
/** Gets the name of the specified feature one would specify on the command line. */
@@ -36,6 +38,7 @@ export function featureToString(feature: Feature): string {
3638
case Feature.EXCEPTION_HANDLING: return "exception-handling";
3739
case Feature.TAIL_CALLS: return "tail-calls";
3840
case Feature.REFERENCE_TYPES: return "reference-types";
41+
case Feature.MULTI_VALUE: return "multi-value";
3942
}
4043
assert(false);
4144
return "";

tests/compiler/asc-constants.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ ASC_FEATURE_THREADS;
1313
ASC_FEATURE_EXCEPTION_HANDLING;
1414
ASC_FEATURE_TAIL_CALLS;
1515
ASC_FEATURE_REFERENCE_TYPES;
16+
ASC_FEATURE_MULTI_VALUE;

tests/compiler/asc-constants.untouched.wat

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
(global $~lib/ASC_FEATURE_EXCEPTION_HANDLING i32 (i32.const 0))
1717
(global $~lib/ASC_FEATURE_TAIL_CALLS i32 (i32.const 0))
1818
(global $~lib/ASC_FEATURE_REFERENCE_TYPES i32 (i32.const 0))
19+
(global $~lib/ASC_FEATURE_MULTI_VALUE i32 (i32.const 0))
1920
(export "memory" (memory $0))
2021
(start $~start)
2122
(func $start:asc-constants (; 0 ;)
@@ -47,6 +48,8 @@
4748
drop
4849
i32.const 0
4950
drop
51+
i32.const 0
52+
drop
5053
)
5154
(func $~start (; 1 ;)
5255
call $start:asc-constants

0 commit comments

Comments
 (0)