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@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