wasm-jit - WebAssembly JIT

  •        5

Each reduction and GVN relation have their own tests. Platform tests live in test/. General tests in test/*-test.js.This software is licensed under the MIT License.

https://github.com/indutny/wasm-jit#readme

Dependencies:

bindings : ^1.2.1
bn.js : ^3.2.0
debug : ^2.2.0
dominance-frontier : ^2.0.0
gvn : ^1.0.0
jit.js : ^1.16.0
json-pipeline-reducer : ^1.4.0
json-pipeline-scheduler : ^2.0.0
linearscan : ^5.1.0
mmap.js : ^1.0.1
nan : ^2.1.0
ssa.js : ^2.0.0
wasm-ast : ^3.0.1
wasm-cfg : ^3.0.0

Tags
Implementation
License
Platform

   




Related Projects

.NETAsm, a JIT Native Code Injection Library

  •    

NetAsm provides a hook to the .NET JIT compiler and enables to inject your own native code in replacement of the default CLR JIT compilation. With this library, it is possible, at runtime, to inject x86 assembler code in CLR methods with the speed of a pure CLR method call and...

cranelift - Cranelift code generator (formerly, Cretonne)

  •    Rust

Cranelift is a low-level retargetable code generator. It translates a target-independent intermediate representation into executable machine code. For more information, see the documentation.

asm-dom - A minimal WebAssembly virtual DOM to build C++ SPA (Single page applications)

  •    C++

asm-dom is a minimal WebAssembly virtual DOM to build C++ SPA (Single page applications). You can write an entire SPA in C++ and compile it to WebAssembly (or asmjs as fallback) using Emscripten, asm-dom will call DOM APIs for you. This will produce an app that aims to execute at native speed by taking advantage of common hardware capabilities, also, you can use your C/C++ code without any change, you haven't to create a binding layer to use it (as we have to do if we want to use a C++ lib from JS). Basically we are creating an app in C++ that call javascript if needed instead of the opposite. You can write only once in C++ and share as much code as possible with desktop/mobile apps and web site. If you want to learn more about performance, please see this. asm-dom is a low-level virtual DOM library. It is unopinionated with regards to how you should structure your application.

llrb - LLVM-based JIT Compiler for Ruby

  •    C

LLRB is a LLVM-based JIT compiler for Ruby. I'm currently working on another JIT approach: YARV-MJIT.

wasm-pack - πŸ“¦βœ¨ your favorite rust -> wasm workflow tool!

  •    Rust

This tool seeks to be a one-stop shop for building and working with rust- generated WebAssembly that you would like to interop with JavaScript, in the browser or with Node.js. wasm-pack helps you build and publish rust-generated WebAssembly to the npm registry to be used alongside any other javascript package in workflows that you already use, such as webpack or greenkeeper. We generate a wasm-pack.log file if wasm-pack errors on you, and you can customize the log verbosity using the verbosity flag.


wasm-and-rust - WebAssembly and Rust: A Web Love Story

  •    

You can check out about:config (Firefox) or chrome://flags/ (Chrome) and make sure wasm related things are enabled. WebAssembly or WASM is a low-level bytecode format for in-browser client-side scripting, evolved from JavaScript. Its initial aim is to support compilation from C and C++, though other source languages such as Rust are also supported.

llvmlite - A lightweight LLVM python binding for writing JIT compilers

  •    Python

The old llvmpy binding exposes a lot of LLVM APIs but the mapping of C++-style memory management to Python is error prone. Numba and many JIT compilers do not need a full LLVM API. Only the IR builder, optimizer, and JIT compiler APIs are necessary. The llvmlite.llvmpy namespace provides a minimal llvmpy compatibility layer.

wasm-bindgen - Facilitating high-level interactions between wasm modules and JavaScript

  •    Rust

Facilitating high-level interactions between wasm modules and JavaScript. Import JavaScript things into Rust and export Rust things to JavaScript.

awesome-wasm - 😎 Curated list of awesome things regarding WebAssembly (wasm) ecosystem.

  •    

Collection of awesome things regarding WebAssembly (wasm) ecosystem. Please read the contribution guidelines if you want to contribute.

JIT Jabber ICQ Transport

  •    C

JIT is ICQ transport for Jabber instant-messagning systems. JIT works in threaded environment and can work on multi-processor platforms. JIT uses libicq2000 and supports users search, sms messages, vcards, web presence ...

binaryen - Compiler infrastructure and toolchain library for WebAssembly, in C++

  •    WebAssembly

Consult the contributing instructions if you're interested in participating. As a result, you might notice that round-trip conversions (wasm => Binaryen IR => wasm) change code a little in some corner cases.

Cacaovm - Just-In-Time (JIT) Compiler

  •    Java

cacaovm is a Java Virtual Machine (JVM) which uses Just-In-Time (JIT) compilation to execute Java methods natively. cacaovm uses GNU Classpath or OpenJDK or phoneME as Java runtime library. The cacaovm project started as a research JVM to explore new implementation techniques. The first version for the Alpha was released in February 1997 as a binary.

jit-grunt - JIT(Just In Time) plugin loader for Grunt.

  •    Javascript

A JIT(Just In Time) plugin loader for Grunt. Load time of Grunt does not slow down even if there are many plugins. umm...

wasm-loader - :sparkles: WASM webpack loader

  •    Javascript

This is an experimental feature and thus not activated by default. Everything else in the add.wasm binary will be removed.

mono-wasm

  •    Javascript

This project is a proof-of-concept aiming at building C# applications into WebAssembly, by using Mono and compiling/linking everything statically into one .wasm file that can be easily delivered to browsers. The process does not use Emscripten (or Binaryen) but instead uses the experimental WebAssembly backend of LLVM with clang and lld to generate the final .wasm code. The goal is to use as few dependencies as possible. At the moment the only dependencies are LLVM, clang and lld trunk.

SurePlayer

  •    

SurePlayer is an all-Java open-source streaming MPEG-1 video player. It makes video clips available to web viewers without them needing any preinstalled viewer software (besides a web browser with JIT compiler). It is licensed under the GPL.

schism - A self-hosting Scheme to WebAssembly compiler

  •    Scheme

Schism is an experimental self-hosting compiler from a subset of R6RS Scheme to WebAssembly. This is not an officially supported Google product.

ravi - Ravi Programming Language is a derivative of Lua 5

  •    Assembly

Ravi is a derivative/dialect of Lua 5.3 with limited optional static typing and features LLVM and Eclipse OMR powered JIT compilers. The name Ravi comes from the Sanskrit word for the Sun. Interestingly a precursor to Lua was Sol which had support for static types; Sol means the Sun in Portugese. Lua is perfect as a small embeddable dynamic language so why a derivative? Ravi extends Lua with static typing for greater performance under JIT compilation. However, the static typing is optional and therefore Lua programs are also valid Ravi programs.