WebAssembly is a binary format compilation target for the Web currently targeted by languages such as C/C++, Rust and Go. The compiled module imports can be organised to interoperate with JavaScript, have a standardised system API or be standalone with arbitrary external dependencies. Such interoperability dependencies influence the overall WebAssembly module performance and on which runtime it can be executed.
We describe our implementation of a WebAssembly runtime that provides a single environment for execution of both, i) standalone modules, and ii), polyglot applications coded using multiple GraalVM hosted languages such as JavaScript (GraalJS) and Python (GraalPython). Graal speculatively and aggressively applies profiling driven optimisations to perform Just-in-Time (JIT) code generation.