-
Bug
-
Resolution: Fixed
-
P3
-
11, 12
-
b07
-
generic
-
generic
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8226507 | 11.0.5-oracle | Vladimir Kozlov | P3 | Resolved | Fixed | b02 |
JDK-8230171 | 11.0.5 | Vladimir Kozlov | P3 | Resolved | Fixed | b05 |
Reported by Xin Liu (xxinliu@amazon.com).
The C++ compiler complains attempting to compile aotCodeHeap.cpp with this configuration:
bash ./configure --with-jvm-features=-compiler1 --enable-option-checking=fatal --with-debug-level=fastdebug
results in
/Users/xxinliu/Devel/openjdk/jdk/src/hotspot/share/aot/aotCodeHeap.cpp:711:59: error: no member named 'aot_code' in 'Method'
vmassert(aot->method()->code() != aot && aot->method()->aot_code() == NULL, "method still active");
~~~~~~~~~~~~~ ^
/Users/xxinliu/Devel/openjdk/jdk/src/hotspot/share/utilities/debug.hpp:55:9: note: expanded from macro 'vmassert'
if (!(p)) { \
^
1 error generated.
A possible patch is:
diff -r 35e64b62b284 src/hotspot/share/aot/aotCodeHeap.cpp
--- a/src/hotspot/share/aot/aotCodeHeap.cpp Tue Jul 17 17:14:03 2018 -0400
+++ b/src/hotspot/share/aot/aotCodeHeap.cpp Tue Jul 17 15:51:11 2018 -0700
@@ -708,7 +708,9 @@
void AOTCodeHeap::sweep_method(AOTCompiledMethod *aot) {
int indexes[] = {aot->method_index()};
sweep_dependent_methods(indexes, 1);
+#ifdef TIERED
vmassert(aot->method()->code() != aot && aot->method()->aot_code() == NULL, "method still active");
+#endif
}
diff -r 35e64b62b284 src/hotspot/share/aot/aotCompiledMethod.cpp
--- a/src/hotspot/share/aot/aotCompiledMethod.cpp Tue Jul 17 17:14:03 2018 -0400
+++ b/src/hotspot/share/aot/aotCompiledMethod.cpp Tue Jul 17 15:51:11 2018 -0700
@@ -208,8 +208,9 @@
bool AOTCompiledMethod::make_entrant() {
assert(!method()->is_old(), "reviving evolved method!");
+#ifdef TIERED
assert(*_state_adr != not_entrant, "%s", method()->has_aot_code() ? "has_aot_code() not cleared" : "caller didn't check has_aot_code()");
-
+#endif
// Make sure the method is not flushed in case of a safepoint in code below.
methodHandle the_method(method());
NoSafepointVerifier nsv;
The C++ compiler complains attempting to compile aotCodeHeap.cpp with this configuration:
bash ./configure --with-jvm-features=-compiler1 --enable-option-checking=fatal --with-debug-level=fastdebug
results in
/Users/xxinliu/Devel/openjdk/jdk/src/hotspot/share/aot/aotCodeHeap.cpp:711:59: error: no member named 'aot_code' in 'Method'
vmassert(aot->method()->code() != aot && aot->method()->aot_code() == NULL, "method still active");
~~~~~~~~~~~~~ ^
/Users/xxinliu/Devel/openjdk/jdk/src/hotspot/share/utilities/debug.hpp:55:9: note: expanded from macro 'vmassert'
if (!(p)) { \
^
1 error generated.
A possible patch is:
diff -r 35e64b62b284 src/hotspot/share/aot/aotCodeHeap.cpp
--- a/src/hotspot/share/aot/aotCodeHeap.cpp Tue Jul 17 17:14:03 2018 -0400
+++ b/src/hotspot/share/aot/aotCodeHeap.cpp Tue Jul 17 15:51:11 2018 -0700
@@ -708,7 +708,9 @@
void AOTCodeHeap::sweep_method(AOTCompiledMethod *aot) {
int indexes[] = {aot->method_index()};
sweep_dependent_methods(indexes, 1);
+#ifdef TIERED
vmassert(aot->method()->code() != aot && aot->method()->aot_code() == NULL, "method still active");
+#endif
}
diff -r 35e64b62b284 src/hotspot/share/aot/aotCompiledMethod.cpp
--- a/src/hotspot/share/aot/aotCompiledMethod.cpp Tue Jul 17 17:14:03 2018 -0400
+++ b/src/hotspot/share/aot/aotCompiledMethod.cpp Tue Jul 17 15:51:11 2018 -0700
@@ -208,8 +208,9 @@
bool AOTCompiledMethod::make_entrant() {
assert(!method()->is_old(), "reviving evolved method!");
+#ifdef TIERED
assert(*_state_adr != not_entrant, "%s", method()->has_aot_code() ? "has_aot_code() not cleared" : "caller didn't check has_aot_code()");
-
+#endif
// Make sure the method is not flushed in case of a safepoint in code below.
methodHandle the_method(method());
NoSafepointVerifier nsv;
- backported by
-
JDK-8226507 C2-only debug build fails
- Resolved
-
JDK-8230171 C2-only debug build fails
- Resolved
- relates to
-
JDK-8243617 compiler/onSpinWait/TestOnSpinWaitC1.java test uses wrong class
- Resolved