Virtual Machine Research
Building specialized code engines
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
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
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
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!


