Skip to content

v0.9.0

Compare
Choose a tag to compare
@dcodeIO dcodeIO released this 26 Jan 00:20

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.

And, of course, lots of fixes.