• Home
  • Search
  • Partial method compilation using dynamic profile information
  • Open Access IconOpen Access
  • Cite Icon10
  • https://doi.org/10.1145/504311.504295Copy DOI Icon

Partial method compilation using dynamic profile information

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

The traditional tradeoff when performing dynamic compilation is that of fast compilation time versus fast code performance. Most dynamic compilation systems for Java perform selective compilation and/or optimization at a method granularity. This is the not the optimal granularity level. However, compiling at a sub-method granularity is thought to be too complicated to be practical. This paper describes a straightforward technique for performing compilation and optimizations at a finer, sub-method granularity. We utilize dynamic profile data to determine intra-method code regions that are rarely or never executed, and compile and optimize the code without those regions. If a branch that was predicted to be rare is actually taken at run time, we fall back to the interpreter or dynamically compile another version of the code. By avoiding compiling and optimizing code that is rarely executed, we are able to decrease compile time significantly, with little to no degradation in performance. Futhermore, ignoring rarely-executed code can open up more optimization opportunities on the common paths. We present two optimizations---partial dead code elimination and rare-path-sensitive pointer and escape analysis---that take advantage of rare path information. Using these optimizations, our technique is able to improve performance beyond the compile time improvements

Similar Papers
  • Conference Article
  • Citations18

Resource-sensitive profile-directed data flow analysis for code optimization

  • Nov 22, 2002
  • Rajiv Gupta +2
  • Research Article
  • Citations6

When and what to compile/optimize in a virtual machine?

  • Mar 01, 2004
  • ACM SIGPLAN Notices
  • K V Seshu Kumar
  • Conference Article
  • Citations12

Precise simulation of interrupts using a rollback mechanism

  • Apr 23, 2009
  • Florian Brandner
  • PDF
  • Research Article
  • Citations1

Integration of aspect-oriented approach means in object-oriented programming language

  • Apr 22, 2016
  • Eastern-European Journal of Enterprise Technologies
  • Valentina Medvedeva +1
  • Research Article
  • Citations35

Stride prefetching by dynamically inspecting objects

  • May 09, 2003
  • ACM SIGPLAN Notices
  • Tatsushi Inagaki +3
  • PDF
  • Research Article
  • Citations2

Агрессивная инлайн-подстановка функций для VLIW-архитектур

  • Jan 01, 2015
  • Proceedings of the Institute for System Programming of the RAS
  • A Ermolitckii +4
  • Research Article
  • Citations1

Run‐time issues in program partitioning on distributed memory systems

  • Aug 01, 1995
  • Concurrency: Practice and Experience
  • Santosh Pande +1
  • Conference Article
  • Citations8

A class of multiprocessor architectures for real-time DSP

  • May 01, 1990
  • J.C Bier +1
  • Research Article
  • Citations12

On the need for fewer restrictions in changing compile-time environments

  • May 01, 1975
  • ACM SIGPLAN Notices
  • David L Parnas +2
  • Research Article
  • Citations123

Studying energy trade offs in offloading computation/compilation in Java-enabled mobile devices

  • Sep 01, 2004
  • IEEE Transactions on Parallel and Distributed Systems
  • G Chen +5
  • Conference Article
  • Citations7

CompGen: generation of fast JIT compilers in a multi-language VM

  • Oct 19, 2021
  • Florian Latifi +3
  • Research Article
  • Citations15

Effective synchronization removal for Java

  • May 01, 2000
  • ACM SIGPLAN Notices
  • Erik Ruf
  • Book Chapter
  • Citations20

Static Deadlock Analysis for CSP-Type Communications

  • Jan 01, 1995
  • Peter B Ladkin +1
  • Research Article

A surprisingly simple Lua compiler—Extended version

  • Oct 01, 2022
  • Journal of Computer Languages
  • Hugo Musso Gualandi +1
  • Conference Article

Dynamic Memory Manager: A memory usage Statistical Tool

  • Jun 24, 2022
  • Avita Katal +3
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.