Skip to content

Commit 3e1b1bf

Browse files
bobpengxieTobiHartmann
authored andcommitted
8314688: VM build without C1 fails after JDK-8313372
Reviewed-by: yzheng, dnsimon, haosun
1 parent 02ef859 commit 3e1b1bf

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@
2222
*/
2323

2424
// no precompiled headers
25+
#ifdef COMPILER1
2526
#include "c1/c1_Compiler.hpp"
27+
#endif
2628
#include "ci/ciUtilities.hpp"
2729
#include "compiler/compiler_globals.hpp"
2830
#include "compiler/oopMap.hpp"
@@ -43,7 +45,9 @@
4345
#include "memory/universe.hpp"
4446
#include "oops/compressedOops.hpp"
4547
#include "oops/klass.inline.hpp"
48+
#ifdef COMPILER2
4649
#include "opto/c2compiler.hpp"
50+
#endif
4751
#include "runtime/flags/jvmFlag.hpp"
4852
#include "runtime/sharedRuntime.hpp"
4953
#include "runtime/stubRoutines.hpp"
@@ -225,6 +229,22 @@ void CompilerToVM::Data::initialize(JVMCI_TRAPS) {
225229
#undef SET_TRIGFUNC
226230
}
227231

232+
static jboolean is_c1_supported(vmIntrinsics::ID id){
233+
jboolean supported = false;
234+
#ifdef COMPILER1
235+
supported = (jboolean) Compiler::is_intrinsic_supported(id);
236+
#endif
237+
return supported;
238+
}
239+
240+
static jboolean is_c2_supported(vmIntrinsics::ID id){
241+
jboolean supported = false;
242+
#ifdef COMPILER2
243+
supported = (jboolean) C2Compiler::is_intrinsic_supported(id);
244+
#endif
245+
return supported;
246+
}
247+
228248
JVMCIObjectArray CompilerToVM::initialize_intrinsics(JVMCI_TRAPS) {
229249
int len = vmIntrinsics::number_of_intrinsics() - 1; // Exclude vmIntrinsics::_none, which is 0
230250
JVMCIObjectArray vmIntrinsics = JVMCIENV->new_VMIntrinsicMethod_array(len, JVMCI_CHECK_NULL);
@@ -243,8 +263,8 @@ JVMCIObjectArray CompilerToVM::initialize_intrinsics(JVMCI_TRAPS) {
243263
JVMCIObject sig_str = VM_SYMBOL_TO_STRING(sig); \
244264
JVMCIObject vmIntrinsicMethod = JVMCIENV->new_VMIntrinsicMethod(kls_str, name_str, sig_str, (jint) vmIntrinsics::id, \
245265
(jboolean) vmIntrinsics::is_intrinsic_available(vmIntrinsics::id), \
246-
(jboolean) Compiler::is_intrinsic_supported(vmIntrinsics::id), \
247-
(jboolean) C2Compiler::is_intrinsic_supported(vmIntrinsics::id), JVMCI_CHECK_NULL); \
266+
is_c1_supported(vmIntrinsics::id), \
267+
is_c2_supported(vmIntrinsics::id), JVMCI_CHECK_NULL); \
248268
JVMCIENV->put_object_at(vmIntrinsics, index++, vmIntrinsicMethod); \
249269
}
250270

0 commit comments

Comments
 (0)