Skip to content

October 14, 2020

Compare
Choose a tag to compare
@phoddie phoddie released this 14 Oct 22:34
· 5038 commits to public since this release

This release is primarily an update to the XS JavaScript engine.

  • New optimization added to XS Linker to improve performance of property look-up for objects preloaded in flash/ROM. The performance gain is up to 18%, depending on a variety of factors. The optimization is based on graph coloring. See the ROM Colors document for details.
  • New XS byte code for for strings larger than 64 KB (found during work with @Agoric)
  • XS fix for "Object rest incorrectly accepts complex assignment targets" #155 (reported by @bakkot)
  • XS fix for "Eval preventing const declaration in the caller scope" #64 (reported by @tevador)
  • XS fix for "Object rest incorrectly accepts complex assignment targets" #155 (reported by @bakkot)
  • XS fix for "XS allows trailing comma in Expressions" #315 (reported by @jugglinmike)
  • XS fix for "async function: silent swallowing of the 'override mistake'" #322 (reported by @michaelfig) and "XS does not apply runtime strict mode restrictions to async functions" #334 (reported by @jugglinmike). These two reports are both symptoms of the same bug: an async function body ran in sloppy mode! Great find.

Note: The changes to the XS JavaScript engine are not backwards compatible with precompiled byte code. After updating, be sure to clear the contents of $MODDABLE/build/bin and $MODDABLE/build/tmp, and then rebuild tools. See Moddable SDK - Keeping Up To Date for details.

Note:: The xst binaries used by jsvu have been updated to this release of XS (10.4.0).

Other changes:

  • Project manifests for mods may now specify the rotation and pixel format, just like manifests for hosts
  • Correct time passed to Piu touch events (introduced in recent scheduling changes to Piu)