Check out the new USENIX Web site.

Home About USENIX Events Membership Publications Students
JVM '02 Abstract

A Lightweight Java Virtual Machine for a Stack-Based Microprocessor

Mirko Raner, PTSC


The large majority of modern JVM implementations are either pure software VMs on top of standard general purpose microprocessors (e.g., Insignia's Jeode or IBM's Jalape~ no VM) or Java-specic microprocessors with supportive software layers (e.g., Fujitsu's MB86799 or aJile's aJ-100). In this paper a somewhat different approach is pre sented: a lightweight software VM on top of a general purpose stack-based microprocessor. Said microprocessor is not a "hardware JVM", but its architecture is very similar to the JVM. Being truly a general purpose processor, it is not entirely dedicated to execute Java bytecode but can at the same time run C or FORTH applications.

This paper describes the implementation of a lightweight Java Virtual Machine for the Ignite family of stack-based microprocessors. To achieve an optimal Java performance this JVM uses a com bination of standard techniques, such as ahead-of-time (AOT) compilation, class hierarchy analysis (CHA), lazy class loading and binary rewriting, complemented by new optimizations like executable method access structures (XMAS) and lazy argument passing.

The unusual architecture of the target processor also often posed unusual problems that had to be solved.

  • View the full text of this paper in PDF and PostScript. Until August 2003, you will need your USENIX membership identification in order to access the full papers.
    The Proceedings are published as a collective work, © 2002 by the USENIX Association. All Rights Reserved. Rights to individual papers remain with the author or the author's employer. Permission is granted for the noncommercial reproduction of the complete work for educational or research purposes. USENIX acknowledges all trademarks within this paper.

  • If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.

  • To become a USENIX Member, please see our Membership Information.

?Need help? Use our Contacts page.

Last changed: 22 July 2002 ml
Technical Program
JVM '02 Home