Skip to content

This is an implementation of the toy Virtual Machine saw during the "Virtualization Techniques" course at TUM (WS 22/23).

Notifications You must be signed in to change notification settings

gabryon99/vt-vm-dynamic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dynamic Binary Translator

This is an implementation of the toy virtual machine saw during the "Virtualization Techniques" course at TUM (WS 22/23).

The implementation uses LLVM as native code compiler, thanks to its ORC API (Just-in-time compilation). A dynamic basic block is compiled into native code when that block is executed only once. When the compilation is done, the compiled code will be cached for later uses.

If there exists a compiled dynamic basic block (also called translation block), then the native code will be invoked.

Personal Notes

It is really hard to find resources in how to implement a dynamic binary translator online. Therefore, I attach some useful resources:

About

This is an implementation of the toy Virtual Machine saw during the "Virtualization Techniques" course at TUM (WS 22/23).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published