Virtual Machine Research

Building specialized code engines

PacificV Code Engine

PacificV is building a super virtual machine for running code in a code engine that meets the demands of tommorrows software applications.

The new code engine will have features for media and DSP related applications to generate the fastest code possible, as well as features for superior memory management in applications that cannot afford to much garbage collection.

 
 

Compilers

Building software

PacificV Compilers

To take advantage of the new code engines and virtual machines, new compilers must be constructed. New compilers must have new features but also be able to improve existing applications.

 
 

DSP Research

JIT And GC for DSP

PacificV Music Research

Software that works with media can benefit from running in a virtual machine or code engine. But the code engine needs to be highly specialized to provide maximum benefits.

 
 
 
 

Runtime Object Devirtualization

A JIT optimization concept

PacificV Code Engine

If you have programmed with Objects and virtual functions, you will know that they work well and are easier to program than lower level C type progams. But often, the object tree and virtual functions remains constant in memory for many seconds or sometimes minutes or much longer. Because of this fixed lifespan of a virtual object tree and chains of virtual function calls, much of the code can be inlined by clever JIT compilers, and the hint to the JIT requires the use of only one keyword in the source programming language.

By implementing ROD in a JIT compiler, and by applying the appropriate keywords in the source programming language, some virtual object trees and chains of virtual functions can be sped up by as much as twice the speed!