next up previous
Next: Multi-threading Up: New Directions Previous: New Directions

New Virtual Machine Design

 The success of the byte code compiler described above suggests a reorganization of the basic system design. Currently the system is based on an interpreted framework with a byte code interpreter as an add-on. This will be changed to a design in which the virtual machine is at the core. Figure 4 gives a schematic representation of the design.
  
Figure 4: Outline of new virtual machine design.
\begin{figure}
 \begin{center}
 \leavevmode
 
\includegraphics [width=2.5in]{vm.eps}
 \end{center}\end{figure}

In contrast to the current interpreter design, the virtual machine will be isolated from language-specific details as much as possible. This will make it easier to provide alternate syntaxes, such as an S-like syntax or a graphical syntax, for the system.

The virtual machine will be designed as a conceptual interpreter for simple intermediate language that is at a slightly higher level than the current byte code language. The intermediate language will retain some additional structural information that will facilitate translation to several different execution targets. Possible targets will include a byte code language similar to the current one that is interpreted by an interpreter written in C, a direct translation into C, and the Java virtual machine. If the machine is designed properly it will be possible to mix code written with different syntactic front ends and compiled to different targets in one application.


next up previous
Next: Multi-threading Up: New Directions Previous: New Directions
Luke Tierney
5/27/1998