Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
A third-generation SELF implementation: reconciling responsiveness with performance
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Garbage collection: algorithms for automatic dynamic memory management
Garbage collection: algorithms for automatic dynamic memory management
Java Virtual Machine Specification
Java Virtual Machine Specification
Efficient implementation of the smalltalk-80 system
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Java as a specification language for hardware-software systems
ICCAD '97 Proceedings of the 1997 IEEE/ACM international conference on Computer-aided design
Adaptive parallelism: an early experiment with Java remote method invocation
ACM SIGOPS Operating Systems Review
Transparent communication for distributed objects in Java
JAVA '99 Proceedings of the ACM 1999 conference on Java Grande
Using complete system simulation to characterize SPECjvm98 benchmarks
Proceedings of the 14th international conference on Supercomputing
Allowing for ILP in an embedded Java processor
Proceedings of the 27th annual international symposium on Computer architecture
ICCAD '99 Proceedings of the 1999 IEEE/ACM international conference on Computer-aided design
Dynamo: a transparent dynamic optimization system
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Application isolation in the Java Virtual Machine
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Java Runtime Systems: Characterization and Architectural Implications
IEEE Transactions on Computers
Improving Java performance using hardware translation
ICS '01 Proceedings of the 15th international conference on Supercomputing
Characterizing operating system activity in SPECjvm98 Benchmarks
Workload characterization of emerging computer applications
Influence of Array Allocation Mechanisms on Memory System Energy
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
Jumping to the Meta Level: Behavioral Reflection Can Be Fast and Flexible
Reflection '99 Proceedings of the Second International Conference on Meta-Level Architectures and Reflection
Microarchitectural denial of service: insuring microarchitectural fairness
Proceedings of the 35th annual ACM/IEEE international symposium on Microarchitecture
A brief history of just-in-time
ACM Computing Surveys (CSUR)
Exploiting FPGA concurrency to enhance JVM performance
ACSC '04 Proceedings of the 27th Australasian conference on Computer science - Volume 26
A software/hardware cooperated stack operations folding model for Java processors
Journal of Systems and Software
A dynamic compiler for embedded Java virtual machines
Proceedings of the 3rd international symposium on Principles and practice of programming in Java
An Event-Driven Multithreaded Dynamic Optimization Framework
Proceedings of the 14th International Conference on Parallel Architectures and Compilation Techniques
Tailoring Graph-coloring Register Allocation For Runtime Compilation
Proceedings of the International Symposium on Code Generation and Optimization
A comparison of software and hardware techniques for x86 virtualization
Proceedings of the 12th international conference on Architectural support for programming languages and operating systems
Energy behavior of java applications from the memory perspective
JVM'01 Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium - Volume 1
An integrated ARM and multi-core DSP simulator
CASES '07 Proceedings of the 2007 international conference on Compilers, architecture, and synthesis for embedded systems
A predecoding technique for ILP exploitation in Java processors
Journal of Systems Architecture: the EUROMICRO Journal
Extending an embedded RISC microprocessor for efficient translation based Java execution
Microprocessors & Microsystems
A hardware peripheral for Java bytecodes translation acceleration
Proceedings of the 2010 ACM Symposium on Applied Computing
DisIRer: Converting a retargetable compiler into a multiplatform binary translator
ACM Transactions on Architecture and Code Optimization (TACO)
Transparent runtime parallelization of the R scripting language
Journal of Parallel and Distributed Computing
A provably correct stackless intermediate representation for Java bytecode
APLAS'10 Proceedings of the 8th Asian conference on Programming languages and systems
Dynamo: a transparent dynamic optimization system
ACM SIGPLAN Notices
Capture fields: modularity in a stream-relational event processing langauge
Proceedings of the 5th ACM international conference on Distributed event-based system
Efficient java implementation of elliptic curve cryptography for J2ME-Enabled mobile devices
WISTP'12 Proceedings of the 6th IFIP WG 11.2 international conference on Information Security Theory and Practice: security, privacy and trust in computing systems and ambient intelligent ecosystems
Smaller footprint for java collections
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
Hi-index | 0.00 |
Early implementations of the Java(TM) programming language relied on byte code interpretation, leading to poor performance compared to compiled programs. More recent implementations have used just-in-time (JIT) compilation techniques to address some of these performance challenges. This article describes JIT compilation in general and specifically the techniques used in the Sun Java JIT compilers. We conclude by outlining some future directions for Java implementations.