University of Sussex

File(s) not publicly available

Proxy compilation of dynamically loaded Java classes with MoJo

posted on 2023-06-08, 08:30 authored by Matt Newsome, Des Watson
Interest in Java implementations for resource-constrained environments such as embedded systems has been tempered by concerns regarding its efficiency. Current native compilers for Java offer dramatic increases in efficiency, but have poor support for dynamically-loaded classes, which are typically served by slow interpreters or JIT compilers, the code-size of this latter utterly mismatching the resource constraints of the system.After a brief survey of Ahead-of-Time compilers for Java, we present MoJo --- a new native compiler and the testbed for our proxy compilation scheme, which allows embedded clients to connect to servers and delegate compilation of Java class packages to native code libraries.We also present initial results from experimental testing using MoJo in a resource-constrained, mobile computing environment. We show that MoJo is faster than all surveyed Java implementations for the test platform executing our initial test application. Our proxy compilation scheme results in a 94% speed increase over the fastest tested interpreter system and a 20% speed increase over the fastest tested JIT system.The MoJo-generated binaries for the application are also shown to be 45 times smaller than those required by its nearest iPAQ JRE competitor and 275 times smaller than the Sun JRE v1.3.1 for iPAQ as a direct result of our incremental, on-demand transfer of API classes to the client.


Publication status

  • Published



Presentation Type

  • paper

Event name

ACM SIGPLAN 2002 Joint Conference on Languages, Compilers and Tools for Embedded Systems (SCOPES 02)

Event location

New York

Event type




Department affiliated with

  • Informatics Publications


Reprinted in SIGPLAN Notices, Vol 37(7), July 2002, ACM Press, ISSN 0362-1340 Originality: First (?) practical implementation of an efficient proxy compilation system for Java appropriate for heterogeneous networks of embedded systems. Rigour: Practical implementation described, observed results analysed, results show a considerable improvement in performance over more conventional compilation systems. Significance: Of commercial significance in that there's much interest in Java implementations for heterogeneous networks. Other related systems have now been developed, in some cases, based on this work. Impact: The work was commercially funded (via support for one of the authors) and the compilation scheme developed in the research was fed back to the sponsors. Aspects of this approach have now been included in some of their products.

Full text available

  • No

Peer reviewed?

  • Yes

Legacy Posted Date


Usage metrics

    University of Sussex (Publications)


    No categories selected


    Ref. manager