Inlining java native calls at runtime

12 years 1 months ago
Inlining java native calls at runtime
We introduce a strategy for inlining native functions into JavaTM 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. Categories and Subject Descriptors D.3.4 [Programming Languages]: Processors—compilers, optimization, run-time environments General Terms Languages, Performance, Design, Experimentation Keywords Java, JNI, inlining, JIT compilation, native code
Levon Stepanian, Angela Demke Brown, Allan Kielstr
Added 26 Jun 2010
Updated 26 Jun 2010
Type Conference
Year 2005
Where VEE
Authors Levon Stepanian, Angela Demke Brown, Allan Kielstra, Gita Koblents, Kevin Stoodley
Comments (0)