Cibyl - an Environment for Language Diversity on Mobile Devices

Document type: Conference Papers
Peer reviewed: Yes
Author(s): Simon Kågström, Håkan Grahn, Lars Lundberg
Title: Cibyl - an Environment for Language Diversity on Mobile Devices
Conference name: 3rd International Conference on Virtual Execution Environments
Year: 2007
Pagination: 75-82
ISBN: 978-1-59593-630-1
City: San Diego, U.S.A
ISI number: 000266598200008
Organization: Blekinge Institute of Technology
Department: School of Engineering - Dept. of Systems and Software Engineering (Sektionen för teknik – avd. för programvarusystem)
School of Engineering S- 372 25 Ronneby
+46 455 38 50 00
Language: English
Abstract: With an estimated installation base of around 1 billion units, the Java J2ME platform is one of the largest development targets available. For mobile devices, J2ME is often the only available environment. For the very large body of software written in C other languages, this means difficult and costly porting to another language to support J2ME devices.

This paper presents the Cibyl programming environment which allows existing code written in C and other languages supported by GCC to be recompiled into Java bytecode and run with close to native Java performance on J2ME devices. Cibyl translates compiled MIPS binaries into Java bytecode. In contrast to other approaches, Cibyl supports the full C language, is based on unmodified standard tools, and does not rely on source code conversion. To achieve good performance, Cibyl employs extensions to the MIPS architecture to support low-overhead calls to native Java functionality and use knowledge of the MIPS ABI to avoid computing unused values and transfer unnecessary registers. An evaluation on multiple virtual machines shows that Cibyl achieves performance similar to native Java, with results ranging from a slowdown of around to a speedup of over 9 depending on the JVM and the benchmark.
Subject: Computer Science\Computersystems