Add an automatically generated meta-tracing JIT compiler to an existing C-based language interpreter

Use the mainstream C interpreter as the language's source of truth, then instrument its execution and generate machine code for frequently executed guest-language loops. This improves performance without replacing the interpreter or requiring a separately implemented language runtime.

From InfoQ4x Faster Interpreters? The Meta-Tracing Secret EXPOSED at 00:35

Problem: Traditional alternative JIT virtual machines are difficult and expensive to build, can be incompatible with the language and its ecosystem, and tend to fall behind as the language evolves. Rewriting software in another language or maintaining a separate implementation creates additional cost and compatibility risk.

For: Teams maintaining slow scripting-language implementations, legacy interpreters, CPU simulators, and developers whose existing software has become too slow to operate acceptably.

Products from this video

Clang Lua MicroPython yk ykllvm YK Lua YK MicroPython

Examples

🔒 Full analysis locked

Unlock more videos and the full analysis

A credit unlocks one video's full analysis for good — the build steps, the tools and how each was used, the methods behind every use case. Pro opens the whole library instead, and raises how many videos you can analyse a day.

Unlock full analysis — free

Related ideas