Java bytecode to native code translation: the caffeine prototype and preliminary results
Cheng-Hsueh A. Hsieh,John C. Gyllenhaal,Wen-mei W. Hwu +2 more
- 02 Dec 1996
- pp 90-99
TL;DR: This paper presents the initial prototyping experience with Caffeine, an optimizing translator from Java bytecode to native machine code, and discusses the major technical issues involved in stack to register mapping, run-time memory structure mapping and exception handlers.
read more
Abstract: The Java bytecode language is emerging as a software distribution standard. With major vendors committed to porting the Java run-time environment to their platforms, programs in Java bytecode are expected to run without modification on multiple platforms. These first generation run-time environments rely on an interpreter to bridge the gap between the bytecode instructions and the native hardware. This interpreter approach is sufficient for specialized applications such as Internet browsers where application performance is often limited by network delays rather than processor speed. It is, however, not sufficient for executing general applications distributed in Java bytecode. This paper presents our initial prototyping experience with Caffeine, an optimizing translator from Java bytecode to native machine code. We discuss the major technical issues involved in stack to register mapping, run-time memory structure mapping, and exception handlers. Encouraging initial results based on our X86 port are presented.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Patent
Software self-defense systems and methods
James J. Horning,W. Olin Sibert,Robert E. Tarjan,Umesh Maheshwari,William G. Horne,Andrew K. Wright,Lesley R. Matheson,Susan S. Owicki +7 more
- 07 Apr 2005
TL;DR: In this paper, the authors describe obfuscation, tamper-resistance, and watermarking techniques for protecting a computer program from unauthorized analysis and modification. But they do not discuss how to detect tampering.
617
Patent
Obfuscation techniques for enhancing software security
Christian Collberg,Clark Thomborson,Douglas Low +2 more
- 09 Jun 1998
TL;DR: In this paper, a method for obfuscation techniques for enhancing software security includes selecting a subset of code (e.g., compiled source code of an application) to obfuscate, and obfuscating the selected subset of the code.
478
Efficient JavaVM just-in-time compilation
Andreas Krall
- 12 Oct 1998
TL;DR: A very fast algorithm for translating JavaVM byte code to high quality machine code for RISC processors, which replaces an older one in the CACAO JavaVM implementation reducing the compile time by a factor of seven and producing slightly faster machine code.
Patent
Java Virtual Machine hardware for RISC and CISC processors
Mukesh K. Patel,Jay Kamdar,Veeraganti R. Ranganath +2 more
- 14 Feb 2006
TL;DR: In this paper, a hardware Java accelerator is provided to implement portions of the Java virtual machine in hardware in order to accelerate the operation of the system on Java bytecodes, and the Java hardware accelerator preferably includes Java bytecode translation into native CPU instructions.
124
Techniques for obtaining high performance in Java programs
TL;DR: This survey describes research directions in techniques to improve the performance of programs written in the Java programming language and discusses the basis features, and the advantages and disadvantages, of the various Java execution techniques.
119
References
•Book
Compilers: Principles, Techniques, and Tools
Alfred V. Aho,Ravi Sethi,Jeffrey D. Ullman +2 more
- 01 Jan 1986
TL;DR: This book discusses the design of a Code Generator, the role of the Lexical Analyzer, and other topics related to code generation and optimization.
9.7K
Sun Microsystems Inc.
TL;DR: Sun acknowledges the pioneering efforts of Xerox in researching and developing the concept of visual or graphical user interfaces for the computer industry and holds a non-exclusive license from Xerox to the Xerox Graphical User Interface.
1.7K
IMPACT: an architectural framework for multiple-instruction-issue processors
Pohua P. Chang,Scott Mahlke,William Y. Chen,Nancy J. Warter,Wen-mei W. Hwu +4 more
- 01 Apr 1991
TL;DR: The optimization capabilities of the IMPACT-I C compiler are summarized in this paper and experiments to analyze the performance of multiple-instruction-issue processors executing some important non-numerical programs are ran.
310
Java Intermediate Bytecode.
James Gosling
- 01 Jan 1995
TL;DR: This paper focuses on the development of systems that are safer, less fragile, more portable, and yet show little performance penalty while still being simple in Java.
141
Java intermediate bytecodes: ACM SIGPLAN workshop on intermediate representations (IR'95)
TL;DR: Java as mentioned in this paper is a programming language loosely related to C++ that allows to manipulate programs in ways usually associated with higher level, more abstract intermediate representations, which allows to build systems that are safer, less fragile, more portable, and yet show little performance penalty while still being simple.
131
Related Papers (5)
Tim Lindholm,Frank Yellin +1 more
- 19 Sep 1996
James Gosling
- 01 Jan 1995
J.M. O'Connor,Marc Tremblay +1 more
M. Anton Ertl
- 01 Jun 1995