Reverted exclusive use of the mutable __argumentsLength global introduced in 0.9.0 due to compatibility concerns with node < 12 and Safari. Exporting a __setArgumentsLength helper function for now. The loader has been updated to recognize both.
New features
Updated Binaryen to latest. Might be relevant for users of transforms, where the exact same version is required.
Command line options have been divided into categories to be easier to grasp, and documentation updated accordingly.
v0.9.0
Breaking changes
The explicit start function generated with --explicitStart has been renamed to _start (was __start) to match WASI.
The __setargc helper to set the number of arguments to a varargs call has been removed and replaced with an exported mutable global __argumentsLength. The loader has been updated accordingly.
For consistency, the loader's __getInt8Array etc. functions now copy, and new __getInt8ArrayView functions with the old behavior have been introduced.
The call_indirect builtin has been removed due to expected problems with closures.
Distribution files are now being built with ES2016 as the target, exposing ES classes instead of ES5 prototypes.
New features
Binaryen has AssemblyScript-specific optimization passes now targeting reference counting.
Optimization pass order is no longer inherited from Binaryen but has been customized to account for AS specifics.
Tables can now be exported using the --exportTable flag.
The implementations of the Math functions exp, exp2, log, log2 and pow have been replaced with faster variants.
New standard library functions: String#toUpperCase, String#toLowerCase, String#localeCompare. TypedArray#set
The stub runtime now exports the __reset helper to clear the heap externally.
Added support for the SIMD avgr_u family of instructions.
Updated the WASI implementation to wasi_snapshot (preview1).
The type of an array literal can now be inferred from its contents.
The compiler can now detect if the entire program is acyclic (no cyclic classes), omitting unnecessary parts of the GC in this case.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Bumps assemblyscript from 0.8.1 to 0.9.1.
Release notes
Sourced from assemblyscript's releases.
Commits
74c755d
Slice version 0.9.1dc85424
Add a fallback for argumentsLength without mutable-globals (#1084)60c0d83
Update Binaryen (#1082)30f9c2a
Extend pedantic diagnostics (#1075)f80c33c
Add a browser SDK example (#1079)ab964b4
Fix compileString options in asc.d.ts (#1077)34c34f3
Split compilation of fields and properties (#1076)1bf4140
Fix field export naming (#1074)d11db68
Optimize UTF8 conversion routines (#1022)08c0111
Slice version 0.9 (#1054)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)