Skip to content

JIT optimization of guest code (aka virtualization-based optimizations) #6

Open
@jessiepathfinder

Description

One of the topics I studied the most is virtualization-based optimizations (the use of optimizing virtual machines). Java has already done this with their Java Virtual Machine, and Google Chrome has already done this with their V8 JavaScript Virtual Machine, so I believe that VirtualBox should do this with their x86-64 virtual machine as well.

DynamoRIO once attempted to make a JIT optimizer for native machine code. It looks like VirtualBox works by rewriting privileged instructions in the guest code into calls to the hypervisor. It also looks like VirtualBox uses basic block transformation techniques that are similar to the ones used by DynamoRIO. We can add a basic block optimizer that performs JIT optimizations to the guest code, such as hot branches inlining and register allocation.

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions