Currently, on the OpenJDK JVM (used by Java, Kotlin, Scala, and others) multiplying two 64-bit numbers to get a 128-bit result uses 2 x86 instructions. Actually, this can be done with only 1 instruction. So I'm modifying a part of code called the …
Currently, on the OpenJDK JVM (used by Java, Kotlin, Scala, and others) multiplying two 64-bit numbers to get a 128-bit result uses 2 x86 instructions. Actually, this can be done with only 1 instruction. So I’m modifying a part of code called the HotSpot Compiler (written in C++), so that it can do this with 1 instruction instead of 2, increasing performance when this operation is done in any JVM language (common in crypto/hashing). This work is tracked in the jdk-8379327-128bit-mul branch of my fork, and has been submitted upstream, and I am iterating currently as requested by Oracle reviewers.
I used GitHub Copilot Chat to help me navigate around the repo / find where some things were located, as OpenJDK is MASSIVE! :)