8159888: [JVMCI] the client VM build is broken when INCLUDE_JVMCI is defined

Fix Client VM build

Reviewed-by: twisti, kvn
This commit is contained in:
Doug Simon 2016-07-05 17:57:20 -07:00
parent b64a4110b3
commit 3e441ea1a2
5 changed files with 22 additions and 16 deletions

View File

@ -64,7 +64,7 @@ _jvmciModes = {
_jdkDebugLevels = ['release', 'fastdebug', 'slowdebug'] _jdkDebugLevels = ['release', 'fastdebug', 'slowdebug']
# TODO: add client once/if it can be built on 64-bit platforms # TODO: add client once/if it can be built on 64-bit platforms
_jdkJvmVariants = ['server'] _jdkJvmVariants = ['server', 'client']
""" """
Translation table from mx_jvmci:8 --vmbuild values to mx_jvmci:9 --jdk-debug-level values. Translation table from mx_jvmci:8 --vmbuild values to mx_jvmci:9 --jdk-debug-level values.

View File

@ -273,14 +273,9 @@ class DoNothingClosure: public OopClosure {
static DoNothingClosure do_nothing; static DoNothingClosure do_nothing;
static void add_derived_oop(oop* base, oop* derived) { static void add_derived_oop(oop* base, oop* derived) {
#ifndef TIERED #if !defined(TIERED) && !defined(INCLUDE_JVMCI)
COMPILER1_PRESENT(ShouldNotReachHere();) COMPILER1_PRESENT(ShouldNotReachHere();)
#if INCLUDE_JVMCI #endif // !defined(TIERED) && !defined(INCLUDE_JVMCI)
if (UseJVMCICompiler) {
ShouldNotReachHere();
}
#endif
#endif // TIERED
#if defined(COMPILER2) || INCLUDE_JVMCI #if defined(COMPILER2) || INCLUDE_JVMCI
DerivedPointerTable::add(derived, base); DerivedPointerTable::add(derived, base);
#endif // COMPILER2 || INCLUDE_JVMCI #endif // COMPILER2 || INCLUDE_JVMCI
@ -473,13 +468,8 @@ void OopMapSet::update_register_map(const frame *fr, RegisterMap *reg_map) {
#ifndef PRODUCT #ifndef PRODUCT
bool ImmutableOopMap::has_derived_pointer() const { bool ImmutableOopMap::has_derived_pointer() const {
#ifndef TIERED #if !defined(TIERED) && !defined(INCLUDE_JVMCI)
COMPILER1_PRESENT(return false); COMPILER1_PRESENT(return false);
#if INCLUDE_JVMCI
if (UseJVMCICompiler) {
return false;
}
#endif
#endif // !TIERED #endif // !TIERED
#if defined(COMPILER2) || INCLUDE_JVMCI #if defined(COMPILER2) || INCLUDE_JVMCI
OopMapStream oms(this,OopMapValue::derived_oop_value); OopMapStream oms(this,OopMapValue::derived_oop_value);

View File

@ -148,6 +148,22 @@ bool JVMCIGlobals::check_jvmci_flags_are_consistent() {
#undef JVMCI_PRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE #undef JVMCI_PRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE
#undef JVMCI_EXPERIMENTAL_FLAG_VALUE_CHANGED_CHECK_CODE #undef JVMCI_EXPERIMENTAL_FLAG_VALUE_CHANGED_CHECK_CODE
#ifndef TIERED
// JVMCI is only usable as a jit compiler if the VM supports tiered compilation.
#define JVMCI_CHECK_TIERED_ONLY_FLAG(FLAG) \
if (!FLAG_IS_DEFAULT(FLAG)) { \
jio_fprintf(defaultStream::error_stream(), "VM option '%s' cannot be set in non-tiered VM\n", #FLAG); \
return false; \
}
JVMCI_CHECK_TIERED_ONLY_FLAG(UseJVMCICompiler)
JVMCI_CHECK_TIERED_ONLY_FLAG(BootstrapJVMCI)
JVMCI_CHECK_TIERED_ONLY_FLAG(PrintBootstrap)
JVMCI_CHECK_TIERED_ONLY_FLAG(JVMCIThreads)
JVMCI_CHECK_TIERED_ONLY_FLAG(JVMCIHostThreads)
JVMCI_CHECK_TIERED_ONLY_FLAG(JVMCICountersExcludeCompiler)
#undef JVMCI_CHECK_TIERED_ONLY_FLAG
#endif
return true; return true;
} }

View File

@ -550,7 +550,7 @@
declare_function(os::javaTimeNanos) \ declare_function(os::javaTimeNanos) \
\ \
declare_function(Deoptimization::fetch_unroll_info) \ 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(Deoptimization::unpack_frames) \
\ \
declare_function(JVMCIRuntime::new_instance) \ declare_function(JVMCIRuntime::new_instance) \

View File

@ -951,7 +951,7 @@ enum CompLevel {
CompLevel_full_profile = 3, // C1, invocation & backedge counters + mdo CompLevel_full_profile = 3, // C1, invocation & backedge counters + mdo
CompLevel_full_optimization = 4, // C2, Shark or JVMCI 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 CompLevel_highest_tier = CompLevel_full_optimization, // pure C2 and tiered or JVMCI and tiered
#elif defined(COMPILER1) #elif defined(COMPILER1)
CompLevel_highest_tier = CompLevel_simple, // pure C1 or JVMCI CompLevel_highest_tier = CompLevel_simple, // pure C1 or JVMCI