Filters








655 Hits in 4.1 sec

Partial Escape Analysis and Scalar Replacement for Java

Lukas Stadler, Thomas Würthinger, Hanspeter Mössenböck
2014 Proceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization - CGO '14  
It allows Escape Analysis, Scalar Replacement and Lock Elision to be performed on individual branches.  ...  This paper presents a new, practical algorithm that performs control flow sensitive Partial Escape Analysis in a dynamic Java compiler.  ...  Acknowledgments We thank all members of the Virtual Machine Research Group at Oracle Labs and the Institute for System Software at the Johannes Kepler University Linz for their support and contributions  ... 
doi:10.1145/2581122.2544157 fatcat:cu52bg3xb5a3bo6wxld3c3d37a

Effectiveness of cross-platform optimizations for a java just-in-time compiler

Kazuaki Ishizaki, Toshiaki Yasue, Takeshi Ogasawara, Tamiya Onodera, Hideaki Komatsu, Toshio Nakatani, Mikio Takeuchi, Kiyokuni Kawachiya, Toshio Suganuma, Osamu Gohda, Tatsushi Inagaki, Akira Koseki (+2 others)
2003 Proceedings of the 18th ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications - OOPSLA '03  
for a Java Just-In-Time Compiler | PPL20043 | Effectiveness of Cross-Platform Optimizations for a Java Just-In-Time Compiler | PPL20043 |  ...  Effectiveness of Cross-Platform Optimizations for a Java Just-In-Time Compiler | PPL20043 | © 2004 IBM Corporation 7 Effectiveness of Cross-Platform Optimizations for a Java Just-In-Time Compiler | PPL20043  ...  Data and exception dependences are represented Directed acyclic graph (DAG) Dataflow optimizations, including escape analysis and partial redundancy eliminations.  ... 
doi:10.1145/949305.949322 dblp:conf/oopsla/IshizakiTKSGIKOKYOOKN03 fatcat:pfxah5hrgfbbblpfevwevp6zjy

Escape analysis in the context of dynamic compilation and deoptimization

Thomas Kotzmann, Hanspeter Mössenböck
2005 Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments - VEE '05  
The analysis is used for scalar replacement of fields and synchronization removal, as well as for stack allocation of objects and fixedsized arrays.  ...  This paper presents a new intraprocedural and interprocedural algorithm for escape analysis in the context of dynamic compilation where the compiler has to cope with dynamic class loading and deoptimization  ...  ACKNOWLEDGMENTS We want to thank Kenneth Russell, Thomas Rodriguez and David Cox from the Java HotSpot TM compiler group at Sun Microsystems for the close collaboration and the continuous support of our  ... 
doi:10.1145/1064979.1064996 dblp:conf/vee/KotzmannM05 fatcat:7fsv7wvqyvd6lpafks2i7gz6re

Effectiveness of cross-platform optimizations for a java just-in-time compiler

Kazuaki Ishizaki, Toshiaki Yasue, Takeshi Ogasawara, Tamiya Onodera, Hideaki Komatsu, Toshio Nakatani, Mikio Takeuchi, Kiyokuni Kawachiya, Toshio Suganuma, Osamu Gohda, Tatsushi Inagaki, Akira Koseki (+2 others)
2003 SIGPLAN notices  
The identified set includes method inlining only for tiny methods, exception check eliminations using forward dataflow analysis and partial redundancy elimination, scalar replacement for instance and class  ...  fields using dataflow analysis, optimizations for type inclusion checks, and the elimination of merge points in the control flow graphs.  ...  We are also grateful to John Whaley for prototyping escape analysis, Janice Shepherd for experimenting with the enhanced memory system, Arvin Shepherd for implementing a linear scan register allocator,  ... 
doi:10.1145/949343.949322 fatcat:k3ufha22h5glfb2k2ecstxxcmy

Effectiveness of cross-platform optimizations for a java just-in-time compiler

Kazuaki Ishizaki, Toshiaki Yasue, Takeshi Ogasawara, Tamiya Onodera, Hideaki Komatsu, Toshio Nakatani, Mikio Takeuchi, Kiyokuni Kawachiya, Toshio Suganuma, Osamu Gohda, Tatsushi Inagaki, Akira Koseki (+2 others)
2003 Proceedings of the 18th ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications - OOPSLA '03  
The identified set includes method inlining only for tiny methods, exception check eliminations using forward dataflow analysis and partial redundancy elimination, scalar replacement for instance and class  ...  fields using dataflow analysis, optimizations for type inclusion checks, and the elimination of merge points in the control flow graphs.  ...  We are also grateful to John Whaley for prototyping escape analysis, Janice Shepherd for experimenting with the enhanced memory system, Arvin Shepherd for implementing a linear scan register allocator,  ... 
doi:10.1145/949319.949322 fatcat:opdbaze4b5bfxg6ortd6cakzzq

Unified Analysis of Array and Object References in Strongly Typed Languages [chapter]

Stephen Fink, Kathleen Knobe, Vivek Sarkar
2000 Lecture Notes in Computer Science  
In the first part of this paper, we show how SSA-based program analyses developed for scalars and arrays can be extended to operate on object references in a strongly typed language like Java.  ...  Using the results of these algorithms, we can perform scalar replacement transformations to change operations on object fields and array elements into operations on scalar variables.  ...  Acknowledgments We thank David Grove, Michael Hind, Harini Srinivasan, Mark Wegman and Bill Thies for their comments and suggestions.  ... 
doi:10.1007/978-3-540-45099-3_9 fatcat:pegvuszo2zagroz4cvsjrnazvq

Partial method compilation using dynamic profile information

John Whaley
2001 Proceedings of the 16th ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications - OOPSLA '01  
We present two optimizations -partial dead code elimination and rare-path-sensitive pointer and escape analysis -that take advantage of rare path information.  ...  Most dynamic compilation systems for Java perform selective compilation and/or optimization at a method granularity. This is the not the optimal granularity level.  ...  Acknowledgements The idea for ignoring the rare path during escape analysis and then copying the object to the heap if the rare path was taken is originally due to Akira Koseki of IBM Tokyo Research Laboratory  ... 
doi:10.1145/504282.504295 dblp:conf/oopsla/Whaley01 fatcat:ffy24fm5xve7tkdrucy4lfzyqi

Practical partial evaluation for high-performance dynamic language runtimes

Thomas Würthinger, Christian Wimmer, Christian Humer, Andreas Wöß, Lukas Stadler, Chris Seaton, Gilles Duboscq, Doug Simon, Matthias Grimmer
2017 Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation - PLDI 2017  
For our set of benchmarks, our speedup relative to the V8 JavaScript VM is 0.83x, relative to JRuby is 3.8x, and relative to GNU R is 5x.  ...  This makes partial evaluation practical in the context of dynamic languages: It reduces the size of the compiled code while still compiling all parts of an operation that are relevant for a particular  ...  We especially thank Mario Wolczko for feedback on this paper. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.  ... 
doi:10.1145/3062341.3062381 dblp:conf/pldi/WurthingerWHWSS17 fatcat:zp3yn5lk5nhftn4idv75gvk64m

Partial method compilation using dynamic profile information

John Whaley
2001 SIGPLAN notices  
We present two optimizations -partial dead code elimination and rare-path-sensitive pointer and escape analysis -that take advantage of rare path information.  ...  Most dynamic compilation systems for Java perform selective compilation and/or optimization at a method granularity. This is the not the optimal granularity level.  ...  Acknowledgements The idea for ignoring the rare path during escape analysis and then copying the object to the heap if the rare path was taken is originally due to Akira Koseki of IBM Tokyo Research Laboratory  ... 
doi:10.1145/504311.504295 fatcat:dskh5x5igzblzeeaezqdpsl4vu

A region-based compilation technique for a Java just-in-time compiler

Toshio Suganuma, Toshiaki Yasue, Toshio Nakatani
2003 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation - PLDI '03  
Method inlining and data flow analysis are two major optimization components for effective program transformations, however they often suffer from the existence of rarely or never executed code contained  ...  The key part of this technique is the region selection, partial inlining, and region exit handling.  ...  In particular, we thank Motohiro Kawahito for implementing the partial dead code elimination routine.  ... 
doi:10.1145/781131.781166 dblp:conf/pldi/SuganumaYN03 fatcat:ijsbmcftpbe6nlm3hfcvvdbsv4

A region-based compilation technique for a Java just-in-time compiler

Toshio Suganuma, Toshiaki Yasue, Toshio Nakatani
2003 SIGPLAN notices  
Method inlining and data flow analysis are two major optimization components for effective program transformations, however they often suffer from the existence of rarely or never executed code contained  ...  The key part of this technique is the region selection, partial inlining, and region exit handling.  ...  In particular, we thank Motohiro Kawahito for implementing the partial dead code elimination routine.  ... 
doi:10.1145/780822.781166 fatcat:3napqf2jcfeyhfkiokuygcglg4

A region-based compilation technique for a Java just-in-time compiler

Toshio Suganuma, Toshiaki Yasue, Toshio Nakatani
2003 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation - PLDI '03  
Method inlining and data flow analysis are two major optimization components for effective program transformations, however they often suffer from the existence of rarely or never executed code contained  ...  The key part of this technique is the region selection, partial inlining, and region exit handling.  ...  In particular, we thank Motohiro Kawahito for implementing the partial dead code elimination routine.  ... 
doi:10.1145/781163.781166 fatcat:vy6jhuyqcbaynljq3tpictsb3q

Interprocedural Load Elimination for Dynamic Optimization of Parallel Programs

Rajkishore Barik, Vivek Sarkar
2009 2009 18th International Conference on Parallel Architectures and Compilation Techniques  
The main contributions of the paper include: a) an algorithm for load elimination in the presence of three core parallel constructsasync, finish, and isolated, b) efficient side-effect analysis for method  ...  calls, c) extended side-effect analysis for parallel constructs using an Isolation Consistency memory model, and d) performance results to study the impact of load elimination on a set of standard benchmarks  ...  of the semantics of Java final variables and John Mellor-Crummey for memory model discussions.  ... 
doi:10.1109/pact.2009.32 dblp:conf/IEEEpact/BarikS09 fatcat:xix2kb7gbzdcfmvsgofnbswyty

Optimizing Array Accesses in High Productivity Languages [chapter]

Mackale Joyner, Zoran Budimlić, Vivek Sarkar
2007 Lecture Notes in Computer Science  
Our solution to the first challenge is to extend the X10 compiler with automatic inlining and scalar replacement of Point objects.  ...  Our partial solution to the second challenge is to use X10's dependent type system to enable the programmer to annotate array variable declarations with additional information for the rank and region of  ...  We would like to especially acknowledge Vijay Saraswat's work on the design and implementation of dependent types in X10, and Rajkishore Barik's work on optimized code generation for rectangular loops  ... 
doi:10.1007/978-3-540-75444-2_43 fatcat:adhf5gza2bbubin2h6z2odx75u

Reducing runtime complexity of long-running application services via dynamic profiling and dynamic bytecode adaptation for improved quality of service

John Bergin, Liam Murphy
2007 Proceedings of the 2007 workshop on Automating service quality Held at the International Conference on Automated Software Engineering (ASE) - WRASQ '07  
We evaluate and demonstrate how run-time performance for a typical thre-tired enterprise system can be improved for frequently accessed data that remains mostly static.  ...  Run-time performance is improved by automatically identifying and dynamically switching to an optimised but functionally equivalent program flow, for a specific transaction type.  ...  Further optimisations include scalar replacement [7] that can reduce object access delays, under specific circumstances. This optimisation replaces an object's field with a scalar value.  ... 
doi:10.1145/1314483.1314488 fatcat:y4snqmptsrcltbzr6rinfkdmle
« Previous Showing results 1 — 15 out of 655 results