Talk Proposal: A walkthrough guide to implementing a compiler intrinsic

Andrew Dinn adinn at redhat.com
Wed Dec 12 17:56:20 CET 2018


Title: A walkthrough guide to implementing a compiler intrinsic

Preferred time: 25 minutes

Abstract:

One of the ways Java achieves high performance is to provide a route for
accelerated, hand-crafted compilation of certain critical methods via
the JIT. This optimization path is available both for native methods
implemented as callouts to C code and for methods that are defined in
Java. In both cases the method needs to be flagged as a HotspotIntrinsic
and provided with a JITted code implementation. The intrinsic
implementation defines the hand-crafted definition of as a high-level
intermediate representation (IR) graph for the C2 JIT. This means it can
be inlined into the IR graph for caller methods, providing even greater
opportunities for optimization.

This talk will demonstrate how to implement an intrinsic by walking
through a specific real-life example that is currently under review as a
JEP candidate. It will start by motivating the need for the intrinsic
and defining the candidate as a Java method which relies on an
underlying native implementation. It will then show how the candidate
can be replaced with an intrinsic implementation, working through the
changes required in the VM, the JIT compiler front and back end and,
ultimately, the assemblers for x86 and AArch64.

Recording me on audio and/or video is acceptable under a CC-BY-2.0
license (DEFAULT)

Brief Bio:
Andrew Dinn is a member of Red Hat's OpenJDK team and also leads JBoss
project Byteman. He has been writing software professionally for three
and a half decades and has no intention of stopping anytime soon.
_______________________________________________
java-devroom mailing list
java-devroom at lists.fosdem.org
https://lists.fosdem.org/listinfo/java-devroom

regards,


Andrew Dinn
-----------
Senior Principal Software Engineer
Red Hat UK Ltd
Registered in England and Wales under Company Registration No. 03798903
Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander


More information about the java-devroom mailing list