A copy of this work was available on the public web and has been preserved in the Wayback Machine. The capture dates from 2012; you can also visit the original URL.
The file type is application/pdf
.
Filters
Adaptive inlining and on-stack replacement in the CACAO virtual machine
2007
Proceedings of the 5th international symposium on Principles and practice of programming in Java - PPPJ '07
This work presents an implementation of method inlining in the CACAO virtual machine. ...
On-stack replacement is used for installing optimized code and for deoptimizing code when optimistic assumptions of the optimizer are broken by dynamic class loading. ...
A framework for adaptive optimization has been implemented in the CACAO virtual machine using sophisticated on-stack replacement of active methods. ...
doi:10.1145/1294325.1294356
dblp:conf/pppj/SteinerKT07
fatcat:coknlsoganhsxmqxk4f2pd24jq
Stack allocation of objects in the CACAO virtual machine
2009
Proceedings of the 7th International Conference on Principles and Practice of Programming in Java - PPPJ '09
We have implemented a lightweight and fast escape analysis within the CACAO Java Virtual Machine to enable stack allocation. ...
Stack allocation of objects reduces the cost of object allocation and garbage collection and can thus lead to large reductions in runtime. ...
The algorithm presented in this work is based on an algorithm by Kotzmann [9, 10, 11] . CACAO [12] is an open source Java virtual machine. ...
doi:10.1145/1596655.1596680
dblp:conf/pppj/MolnarKB09
fatcat:gxnypimkpvg47mdbsr6zuursli
Efficient Register Mapping and Allocation in LaTTe, an Open-Source Java Just-in-Time Compiler
2007
IEEE Transactions on Parallel and Distributed Systems
Java just-in-time (JIT) compilers improve the performance of a Java virtual machine (JVM) by translating Java bytecode into native machine code on demand. ...
One important problem in Java JIT compilation is how to map stack entries and local variables to registers efficiently and quickly, since register-based computations are much faster than memory-based ones ...
A summary follows in Section 8.
JAVA VIRTUAL MACHINE AND SPARC The Java VM is a typed stack machine [3] . ...
doi:10.1109/tpds.2007.253281
fatcat:pborflg7czbvph7lm2ndrphjki
Techniques for obtaining high performance in Java programs
2000
ACM Computing Surveys
A Java interpreter dynamically executes Java bytecodes, which comprise the instruction set of the Java Virtual Machine (JVM). ...
In this survey, we discuss the basic features, and the advantages and disadvantages, of the various Java execution techniques. ...
ACKNOWLEDGMENTS We thank Amit Verma and Shakti Davis for their help in gathering some of the information used in this paper. ...
doi:10.1145/367701.367714
fatcat:76fvbgkvnffodgpip2lhajvz4m
A study of exception handling and its dynamic optimization in Java
2001
Proceedings of the 16th ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications - OOPSLA '01
Exception path inlining compiles the catching method in a hot exception path, inlining the rest of methods in the path. ...
Throw elimination replaces a throw with the explicit control flow to the corresponding catch. ...
In devirtualization with tests [11, 31, 6] , the compiler generates the code that guards the inlined code and then inlines each virtual method. ...
doi:10.1145/504282.504289
dblp:conf/oopsla/OgasawaraKN01
fatcat:tst7xpiwxzckxlhyke62y5lmom
A study of exception handling and its dynamic optimization in Java
2001
SIGPLAN notices
Exception path inlining compiles the catching method in a hot exception path, inlining the rest of methods in the path. ...
Throw elimination replaces a throw with the explicit control flow to the corresponding catch. ...
In devirtualization with tests [11, 31, 6] , the compiler generates the code that guards the inlined code and then inlines each virtual method. ...
doi:10.1145/504311.504289
fatcat:7po2x65jhjbolerweylhd4olc4
Designing highly flexible virtual machines: the JnJVM experience
2008
Software, Practice & Experience
The core of our system is the Micro Virtual Machine (MVM † ) associated with a just in time compiler (JIT). The MVM is extended on the fly by adding new code or replacing its code dynamically. ...
Machine (JVM) which extends the Micro Virtual Machine. ...
We wish also to thank the anonymous reviewers of SPE for all their comments and suggestions to improve the quality of the paper. ...
doi:10.1002/spe.887
fatcat:uykjtjfjrnfetb3pdfcs4cppli
Workload characterization of JVM languages
2015
Software, Practice & Experience
Being developed with a single language in mind, namely Java, the Java Virtual Machine (JVM) nowadays is targeted by numerous programming languages. ...
We present the decision tree of the HotSpot JVM's JIT compiler and analyze how well the JVM performs in inlining the workloads written in different JVM languages. ...
In Proceedings
of the 7th Workshop on Virtual Machines and Intermediate Languages (VMIL), pp.
11-20. Indianapolis, Indiana, 2013. ...
doi:10.1002/spe.2337
fatcat:rbkxuaizvrfwpjwxz4og3gqmly
An annotation-aware Java virtual machine implementation
2000
Concurrency Practice and Experience
The stack model, with no operand registers and limiting access to the top of the stack, prevents the reuse of values and bytecode reordering. ...
During the translation process, an annotation-aware Java Virtual Machine (JVM) system then uses this information to produce high performance native code without performing much of the necessary analyses ...
The athrow bytecode is annotated with a virtual register representing the reference to the object being thrown. We m a p t h e throw keyword into a Java IR method call. ...
doi:10.1002/1096-9128(200005)12:6<423::aid-cpe483>3.0.co;2-l
fatcat:no6g5qhryrgczgoqlxxqur2nfa
Trace Register Allocation Policies
2017
Proceedings of the 14th International Conference on Managed Languages and Runtimes - ManLang 2017
To demonstrate the exibility of the framework, we select 8 allocation policies and show their impact on compile time and peak performance. ...
This provides us with ne-grained control over the trade-o between compile time and peak performance in a just-in-time compiler. ...
ACKNOWLEDGMENTS We thank the Graal community, the Virtual Machine Research Group at Oracle Labs and the Institute for System Software at the Johannes Kepler University Linz for their support and feedback ...
doi:10.1145/3132190.3132209
dblp:conf/pppj/EislMWM17
fatcat:qmqleneeljedxfsz72auwhjoi4
Swift
2012
Proceedings of the 8th ACM SIGPLAN/SIGOPS conference on Virtual Execution Environments - VEE '12
However, the overhead of compiling stack-based Java bytecode to heterogeneous registerbased machine code is significant in embedded devices. ...
This paper presents a fast and effective JIT technique for mobile devices, building on a register-based Java bytecode format which is more similar to the underlying machine architecture. ...
Acknowledgments We would like to thank the anonymous reviewers for their helpful comments and feedback. ...
doi:10.1145/2151024.2151035
dblp:conf/vee/ZhangYZYZZ12
fatcat:x6mggmfs35fc5a7rdyvbkwdx3q
Swift
2012
SIGPLAN notices
However, the overhead of compiling stack-based Java bytecode to heterogeneous registerbased machine code is significant in embedded devices. ...
This paper presents a fast and effective JIT technique for mobile devices, building on a register-based Java bytecode format which is more similar to the underlying machine architecture. ...
Acknowledgments We would like to thank the anonymous reviewers for their helpful comments and feedback. ...
doi:10.1145/2365864.2151035
fatcat:apn2rmytzngklj4uaf3ppsomca
Trace register allocation
2015
Companion Proceedings of the 2015 ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity - SPLASH Companion 2015
We implemented our approach in GraalVM, a production-quality Java Virtual Machine developed by Oracle. ...
Although we might never agree on the usage of the terms variable, value and temporary, I learned a lot, especially about the importance of presenting complex topics in a simple and approachable way. ...
Register Allocation in Virtual Machines Many of the register allocation approaches we already described, were developed for-or evaluated on-virtual machines. ...
doi:10.1145/2814189.2814199
dblp:conf/oopsla/Eisl15
fatcat:nmkxq2jezfbfbpkz2kknx7rzl4
Lock reservation
2002
SIGPLAN notices
Although the overhead has been significantly reduced in the recent virtual machines, one or more atomic operations are required for acquiring and releasing an object's lock even in the fastest cases. ...
Otherwise, it cancels the reservation and falls back to a conventional locking algorithm. We have evaluated an implementation of lock reservation in IBM's production virtual machine and compiler. ...
We have evaluated an implementation of lock reservation in IBM's production virtual machine and compiler. ...
doi:10.1145/583854.582433
fatcat:m332qdwfhjhxhdjlzlyslomjye
Lock reservation
2002
Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications - OOPSLA '02
Although the overhead has been significantly reduced in the recent virtual machines, one or more atomic operations are required for acquiring and releasing an object's lock even in the fastest cases. ...
Otherwise, it cancels the reservation and falls back to a conventional locking algorithm. We have evaluated an implementation of lock reservation in IBM's production virtual machine and compiler. ...
We have evaluated an implementation of lock reservation in IBM's production virtual machine and compiler. ...
doi:10.1145/582419.582433
dblp:conf/oopsla/KawachiyaKO02
fatcat:fza5f6hkrvbapguuufjlfeejaa
« Previous
Showing results 1 — 15 out of 24 results