Techniques for implementing virtual machine instructions suitable for
execution in virtual machines are disclosed. The inventive virtual
machine instructions can effectively represent the complete set of
operations performed by the conventional Java Bytecode instruction set.
Moreover, the operations performed by conventional instructions can be
performed by relatively fewer inventive virtual machine instructions.
Thus, a more elegant, yet robust, virtual machine instruction set can be
implemented. This, in turn, allows implementation of relatively simpler
interpreters as well as allowing alternative uses of the limited 256
(2.sup.8) Bytecode representation (e.g., a macro representing a set of
commands). As a result, the performance of virtual machines, especially,
those operating in systems with limited resources, can be improved by
using the inventive virtual machine instructions.