Skip to content

0.1.0

Compare
Choose a tag to compare
@kateinoigakukun kateinoigakukun released this 08 Oct 14:05
· 72 commits to main since this release

Significant performance improvement

We have re-designed the VM architecture and it resulted in significant performance improvement. See the design note for more details

CoreMark score (higher is better)

Engine API (a.k.a multi Store support)

In this release, we deprecate Runtime-based APIs and introduced Engine API. The new API matches Wasm C API terminology, and allows per-instantiation imports configuration.

let engine = Engine()
let store = Store(engine: engine)

let instance = try module.instantiate(
    store: store,
    imports: [
        "printer": [
            "print_i32": Function(store: store, parameters: [.i32]) { _, args in
                print(args[0])
                return []
            }
        ]
    ]
)
let printAdd = instance.exports[function: "print_add"]!
try printAdd([.i32(42), .i32(3)])

Fuzz-tested code base

We setup fuzz testing infrastructure by LLVM libFuzzer and differential testing technique, and revealed several mis-compilation issues.

New Contributors

Full Changelog: 0.0.8...0.1.0