changeset 23705:1051fbaca88b

the client VM build is broken when INCLUDE_JVMCI is defined (JDK-8159888)
author Doug Simon <doug.simon@oracle.com>
date Tue, 21 Jun 2016 17:16:26 +0200
parents 8a7b88cb7f22
children 8b40dfc73eea
files src/share/vm/compiler/oopMap.cpp src/share/vm/jvmci/jvmci_globals.hpp src/share/vm/jvmci/vmStructs_jvmci.hpp src/share/vm/runtime/arguments.cpp src/share/vm/utilities/globalDefinitions.hpp
diffstat 5 files changed, 22 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/compiler/oopMap.cpp	Tue Jun 21 15:41:01 2016 +0200
+++ b/src/share/vm/compiler/oopMap.cpp	Tue Jun 21 17:16:26 2016 +0200
@@ -318,9 +318,9 @@
 static DoNothingClosure do_nothing;
 
 static void add_derived_oop(oop* base, oop* derived) {
-#ifndef TIERED
+#if !defined(TIERED) && !defined(INCLUDE_JVMCI)
   COMPILER1_PRESENT(ShouldNotReachHere();)
-#endif // TIERED
+#endif // !defined(TIERED) && !defined(INCLUDE_JVMCI)
 #if defined(COMPILER2) || INCLUDE_JVMCI
   DerivedPointerTable::add(derived, base);
 #endif // COMPILER2 || JVMCI
@@ -508,7 +508,7 @@
 #ifndef PRODUCT
 
 bool OopMap::has_derived_pointer() const {
-#ifndef TIERED
+#if !defined(TIERED) && !defined(INCLUDE_JVMCI)
   COMPILER1_PRESENT(return false);
 #endif // !TIERED
 #if defined(COMPILER2) || INCLUDE_JVMCI
--- a/src/share/vm/jvmci/jvmci_globals.hpp	Tue Jun 21 15:41:01 2016 +0200
+++ b/src/share/vm/jvmci/jvmci_globals.hpp	Tue Jun 21 17:16:26 2016 +0200
@@ -67,8 +67,8 @@
   product(intx, JVMCIHostThreads, 1,                                        \
           "Force number of compiler threads for JVMCI host compiler")       \
                                                                             \
-  JVMCI_ONLY(product(bool, CodeInstallSafepointChecks, true,                \
-          "Perform explicit safepoint checks while installing code"))       \
+  product(bool, CodeInstallSafepointChecks, true,                           \
+          "Perform explicit safepoint checks while installing code")        \
                                                                             \
   NOT_COMPILER2(product_pd(intx, MaxVectorSize,                             \
           "Max vector size in bytes, "                                      \
--- a/src/share/vm/jvmci/vmStructs_jvmci.hpp	Tue Jun 21 15:41:01 2016 +0200
+++ b/src/share/vm/jvmci/vmStructs_jvmci.hpp	Tue Jun 21 17:16:26 2016 +0200
@@ -159,7 +159,7 @@
   declare_function(os::javaTimeNanos)                                     \
                                                                           \
   declare_function(Deoptimization::fetch_unroll_info)                     \
-  COMPILER2_PRESENT(declare_function(Deoptimization::uncommon_trap))      \
+  declare_function(Deoptimization::uncommon_trap)                         \
   declare_function(Deoptimization::unpack_frames)                         \
                                                                           \
   declare_function(JVMCIRuntime::new_instance) \
--- a/src/share/vm/runtime/arguments.cpp	Tue Jun 21 15:41:01 2016 +0200
+++ b/src/share/vm/runtime/arguments.cpp	Tue Jun 21 17:16:26 2016 +0200
@@ -2450,6 +2450,21 @@
 #undef JVMCI_CHECK4
 #undef JVMCI_CHECK_FLAG
   } else {
+#ifndef TIERED
+    // JVMCI is only usable as a jit compiler if the VM supports tiered compilation.
+#define JVMCI_CHECK_FLAG(FLAG)                         \
+    if (!FLAG_IS_DEFAULT(FLAG)) {                                   \
+      jio_fprintf(defaultStream::error_stream(), "VM option '%s' cannot be set in non-tiered VM\n", #FLAG); \
+      status = false; \
+    }
+    JVMCI_CHECK_FLAG(UseJVMCICompiler)
+    JVMCI_CHECK_FLAG(BootstrapJVMCI)
+    JVMCI_CHECK_FLAG(PrintBootstrap)
+    JVMCI_CHECK_FLAG(JVMCIThreads)
+    JVMCI_CHECK_FLAG(JVMCIHostThreads)
+    JVMCI_CHECK_FLAG(JVMCICountersExcludeCompiler)
+#undef JVMCI_CHECK_FLAG
+#endif
     if (BootstrapJVMCI && !UseJVMCICompiler) {
       warning("BootstrapJVMCI has no effect if UseJVMCICompiler is disabled");
     }
--- a/src/share/vm/utilities/globalDefinitions.hpp	Tue Jun 21 15:41:01 2016 +0200
+++ b/src/share/vm/utilities/globalDefinitions.hpp	Tue Jun 21 17:16:26 2016 +0200
@@ -897,7 +897,7 @@
   CompLevel_full_profile      = 3,         // C1, invocation & backedge counters + mdo
   CompLevel_full_optimization = 4,         // C2, Shark or JVMCI
 
-#if defined(COMPILER2) || defined(SHARK) || INCLUDE_JVMCI
+#if defined(COMPILER2) || defined(SHARK)
   CompLevel_highest_tier      = CompLevel_full_optimization,  // pure C2 and tiered or JVMCI and tiered
 #elif defined(COMPILER1)
   CompLevel_highest_tier      = CompLevel_simple,             // pure C1 or JVMCI