Inlining java native calls at runtime

  • Authors:
  • Levon Stepanian;Angela Demke Brown;Allan Kielstra;Gita Koblents;Kevin Stoodley

  • Affiliations:
  • University of Toronto, Toronto, ON, Canada;University of Toronto, Toronto, ON, Canada;IBM Toronto Software Lab, Toronto, ON, Canada;IBM Toronto Software Lab, Toronto, ON, Canada;IBM Toronto Software Lab, Toronto, ON, Canada

  • Venue:
  • Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

We introduce a strategy for inlining native functions into Java™ applications using a JIT compiler. We perform further optimizations to transform inlined callbacks into semantically equivalent lightweight operations. We show that this strategy can substantially reduce the overhead of performing JNI calls, while preserving the key safety and portability properties of the JNI. Our work leverages the ability to store statically-generated IL alongside native binaries, to facilitate native inlining at Java callsites at JIT compilation time. Preliminary results with our prototype implementation show speedups of up to 93X when inlining and callback transformation are combined.