The open corpus of JMH micros is a maven project here: http://hg.openjdk.java.net/code-tools/jmh-jdk-microbenchmarks
On the MethodHandlesGuardWithTest.testInvoke the performance of Graal is about 30% slower than C2 with default flags, on one test system with 12-b15:
C2:
Benchmark Mode Cnt Score Error Units
MethodHandlesGuardWithTest.testInvoke avgt 10 9.194 ��� 0.095 ns/op
Graal:
MethodHandlesGuardWithTest.testInvoke avgt 10 11.711 ��� 0.200 ns/op
Here C2 uses the _profileBoolean intrinsic, but C2 also has slightly better performance than Graal even when it is disabled with "-XX:+UnlockDiagnosticVMOptions -XX:DisableIntrinsic=_profileBoolean":
MethodHandlesGuardWithTest.testInvoke avgt 15 10.268 ��� 0.035 ns/op
We would like to see if the _profileBoolean intrinsic could be adapted to Graal to improve the performance.