AsmJit is a complete JIT and remote assembler for C++ language. It can generate native code for x86 and x64 architectures having support for a full instruction set, from legacy MMX to the newest AVX2. It has a type-safe API that allows C++ compiler to do a semantic checks at compile-time even before the assembled code is used or run.
AsmJit is not a virtual machine. It doesn't have functionality often required and implemented by virtual machines; however, it is designed to be extensible by third-parties and mostly used as a JIT backend. The usage of AsmJit is not limited, it's suitable for multimedia, virtual machines or remote code generation.
These details are provided for information only. No information here is legal advice and should not be used as such.