Skip to content

inNative Runtime v0.1.8

Choose a tag to compare

@ErikMcClure ErikMcClure released this 08 Jul 07:28
· 66 commits to master since this release

This is a major feature release of inNative for Windows and Linux, focused on implementing recent feature proposals merged into the current WebAssembly spec, and introducing an optional JIT compiler to assist with rapid iteration without requiring a separate WebAssembly runtime.

  • Add #35 Threads support according to the current proposal
  • Add #53 JIT support in addition to AoT compilation.
  • Add #54 Bulk Memory operations according to the current proposal
  • Add #39 Multi-value support, which was recently standardized.
  • Add #9 non-trapping conversion instructions, which were recently standardized.
  • Add #10 sign-extension operators, which were recently standardized.
  • Fix __chkstk implementation on windows
  • Remove homogeneous functions and replace them with generic accessors that all use void(char* params, char* returns) which can be used for evaluating parameters and results at runtime.
  • Introduced a flag that will eventually be required when __cdecl function wrapping is re-introduced, necessary to deal with multiple returns.
  • Introduced JIT-specific versions of GetFunction/GetTable/GetGlobal/etc.
  • Fixed an ABI issue on 32-bit windows.
  • Added preliminary Nix support to simplify Linux compilation

This release features contributions from @Connicpu

Windows

Windows includes an installer for the SDK and runtime package that installs and registers the runtime to run WebAssembly files. However, even if you download the portable zip file version, you can always install it using ./innative-cmd.exe -i.

Windows SDK

Windows Runtime

Linux

Linux does not currently have a .dpk installer, so only portable versions are offered. Linux also only offers 64-bit compiled versions, for the moment. However, you can still install it using sudo ./innative-cmd -i. There is also a flatpak package available.

Linux SDK

Linux Runtime