skip to main content
10.1145/1254810.1254821acmconferencesArticle/Chapter ViewAbstractPublication PagesveeConference Proceedingsconference-collections
Article

Cibyl: an environment for language diversity on mobile devices

Published: 13 June 2007 Publication History

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 2 to a speedup of over 9 depending on the JVM and the benchmark.

References

[1]
ALLIET, B., AND MEGACZ, A. Complete translation of unsafe native code to safe bytecode. In Proceedings of the 2004 Workshop on Interpreters, Virtual Machines and Emulators (Washington DC, USA, 2004), pp. 32--41.
[2]
ALTMAN, E., KAELI, D., AND SHEFFER, Y. Welcome to the opportunities of binary translation. Computer (March 2000).
[3]
AXIOMATIC SOLUTIONS. Axiomatic multi-platform C (AMPC). http://www.axiomsol.com/, Accessed 8/9-2006.
[4]
BALA, V., DUESTERWALD, E., AND BANERJIA, S. Dynamo: a transparent dynamic optimization system. ACM SIGPLAN Notices 35, 5 (2000), 1--12.
[5]
BUDDRUS, F., AND SCHÖDEL, J. Cappuccino - a C++ to java translator. In SAC '98: Proceedings of the 1998 ACM symposium on Applied Computing (New York, NY, USA, 1998), ACM Press, pp. 660--665.
[6]
BUDIMLIC, Z., AND KENNEDY, K. Optimizing Java: theory and practice. Concurrency: Practice and Experience 9, 6 (1997), 445--463.
[7]
CIFUENTES, C., AND EMMERIK, M. V. UQBT: Adaptable binary translation at low cost. IEEE Computer 33, 3 (Mar. 2000), 60--66.
[8]
GAGNON, E. A portable research framework for the execution of java bytecode. PhD thesis, McGill University, Montreal, December 2003.
[9]
HOOKWAY, R. J., AND HERDEG, M. A. Digital FX!32: combining emulation and binary translation. Digital Technology Journal 9, 1 (1997), 3--12.
[10]
JAZILLIAN, INC. legacy to "natural" java translator. see http://www.jazillian.com/index.html, Accessed 8/9-2006.
[11]
KANE, G. MIPS RISC architecture. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1988.
[12]
LEE, C., POTKONJAK, M., AND MANGIONE-SMITH, W. H. Mediabench: A tool for evaluating and synthesizing multimedia and communicatons systems. In International Symposium on Microarchitecture (1997), pp. 330--335.
[13]
MALABARBA, S., DEVANBU, P., AND STEARNS, A. MoHCA-Java: a tool for C++ to java conversion support. In ICSE '99: Proceedings of the 21st international conference on Software engineering (Los Alamitos, CA, USA, 1999), IEEE Computer Society Press, pp. 650--653.
[14]
MARTIN, J. Ephedra - A C to Java Migration Environment. PhD thesis, University of Victoria, 2002.
[15]
MEYER, J., AND DOWNING, T. The jasmin assembler. See http://jasmin.sourceforge.net/, Accessed 8/9-2006.
[16]
NETHERCOTE, N., AND SEWARD, J. Valgrind: A program supervision framework. Electronic Notes in Theoretical Computer Science 89, 2 (2003).
[17]
SANTA CRUZ OPERATION. SYSTEM V APPLICATION BINARY INTERFACE - MIPS RISC Processor Supplement, 3rd ed. Santa Cruz Operation, Santa Cruz, USA, february 1996.
[18]
SCHWARTZ, J. Welcome letter, 2006 JavaOne conference. http://java.sun.com/javaone/sf/Jonathans welcome.jsp, Accessed 8/9-2006.
[19]
SHABTAI, E. RoadMap for J2ME phones. http://www.freemap.co.il/-roadmap/, accessed 2007-03-27.
[20]
STALLMAN, R. M. Using GCC: The GNU Compiler Collection Reference Manual. Free Software Foundation, Boston, October 2003.
[21]
SUN MICROSYSTEMS. J2ME. http://java.sun.com/javame/index.jsp, Accessed 8/9-2006.
[22]
SUN MICROSYSTEMS. J2se 5.0. http://java.sun.com/j2se/1.5.0/, Acessed 8/9-2006.
[23]
SUN MICROSYSTEMS. J2ME Building Blocks for Mobile Devices - Whitepaper on KVM and the Connected, Limited Device Configuration CLDC. Sun Microsystems, May 2000. http://java.sun.com/products/cldc/wp/KVMwp.pdf, Accessed 8/9-2006.
[24]
SUN MICROSYSTEMS. The CLDC HotSpot Implementation Virtual Machine. Sun Microsystems, February 2005. http://java.sun.com/-j2me/docs/pdf/CLDC-HI whitepaper-February 2005.pdf, Accessed 8/9-2006.
[25]
THE GNU PROJECT. The GNU compiler for the java programming language. http://gcc.gnu.org/java/, Accessed 8/9-2006.
[26]
WILKINSON, T., EDOUARD G. PARMELAN, JIM PICK, AND ET AL. The kaffe jvm. http://www.kaffe.org/, Accessed 8/9-2006.

Cited By

View all
  • (2014)TruffleCProceedings of the 2014 International Conference on Principles and Practices of Programming on the Java platform: Virtual machines, Languages, and Tools10.1145/2647508.2647528(17-26)Online publication date: 23-Sep-2014
  • (2012)A broadband embedded computing system for MapReduce utilizing HadoopProceedings of the 2012 IEEE 4th International Conference on Cloud Computing Technology and Science (CloudCom)10.1109/CloudCom.2012.6427483(1-9)Online publication date: 3-Dec-2012
  • (2008)Mie theory 1908, on the mobile phone 2008Journal of Quantitative Spectroscopy and Radiative Transfer10.1016/j.jqsrt.2008.01.009109:8(1543-1548)Online publication date: May-2008

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
VEE '07: Proceedings of the 3rd international conference on Virtual execution environments
June 2007
210 pages
ISBN:9781595936301
DOI:10.1145/1254810
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 June 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. J2ME
  2. binary translation
  3. portability
  4. programming environment

Qualifiers

  • Article

Conference

VEE07
VEE07: International Conference on Virtual Execution Environments
June 13 - 15, 2007
California, San Diego, USA

Acceptance Rates

Overall Acceptance Rate 80 of 235 submissions, 34%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2014)TruffleCProceedings of the 2014 International Conference on Principles and Practices of Programming on the Java platform: Virtual machines, Languages, and Tools10.1145/2647508.2647528(17-26)Online publication date: 23-Sep-2014
  • (2012)A broadband embedded computing system for MapReduce utilizing HadoopProceedings of the 2012 IEEE 4th International Conference on Cloud Computing Technology and Science (CloudCom)10.1109/CloudCom.2012.6427483(1-9)Online publication date: 3-Dec-2012
  • (2008)Mie theory 1908, on the mobile phone 2008Journal of Quantitative Spectroscopy and Radiative Transfer10.1016/j.jqsrt.2008.01.009109:8(1543-1548)Online publication date: May-2008

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media