RFR: 8182727: [Graal] all compiler/intrinsics/mathexact/sanity/ tests fail

Christian Thalinger cthalinger at twitter.com
Thu Jun 22 20:34:31 UTC 2017

https://bugs.openjdk.java.net/browse/JDK-8182727 <https://bugs.openjdk.java.net/browse/JDK-8182727>

The issue is that these tests are expecting an intrinsic to show up in LogCompilation output. Graal doesn't use LogCompilation.  There are many ways to fix this but the right fix is in WB_IsIntrinsicAvailable:

diff --git a/src/share/vm/prims/whitebox.cpp b/src/share/vm/prims/whitebox.cpp
--- a/src/share/vm/prims/whitebox.cpp
+++ b/src/share/vm/prims/whitebox.cpp
@@ -751,6 +751,11 @@
   if (compLevel < CompLevel_none || compLevel > MIN2((CompLevel) TieredStopAtLevel, CompLevel_highest_tier)) {
     return false; // Intrinsic is not available on a non-existent compilation level.
+  if (UseJVMCICompiler && compLevel == CompLevel_highest_tier) {
+    return false; // Intrinsic does not exist in JVMCI compiler.
+  }
   jmethodID method_id, compilation_context_id;
   method_id = reflected_method_to_jmid(thread, env, method);

Since this method is making its decision solely based on the compilation level this is just doomed to fail.  We need to return false in the case of tier 4 and a JVMCI compiler being used.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20170622/8afe2212/attachment.html>

More information about the hotspot-compiler-dev mailing list