-
Bug
-
Resolution: Fixed
-
P3
-
8, 11
-
b01
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8252475 | 11.0.10-oracle | Aleksey Shipilev | P3 | Resolved | Fixed | b01 |
JDK-8221281 | openjdk8u222 | Aleksey Shipilev | P3 | Resolved | Fixed | b01 |
Reported here:
https://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/2019-March/033111.html
It seems that CompiledIC is a ResourceObj, that is allocated in CompiledIC_at() call, but never reclaimed locally because of the missing ResourceMark. I think there is some upper-level ResourceMark that keeps build from asserting that allocation is done without the ResourceMark, but it probably too far up to be useful for reclaiming this temporary allocation.
This is fixed starting JDK 12 withJDK-8208677:
http://hg.openjdk.java.net/jdk/jdk/rev/aa3bfacc912c#l4.7
...but we need to do the same in 11u and 8u.
aotCompiledMethod.cpp has the ResourceMark in similar place, brought in byJDK-8206394:
http://hg.openjdk.java.net/jdk/jdk/file/aa3bfacc912c/src/hotspot/share/aot/aotCompiledMethod.cpp#l274
https://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/2019-March/033111.html
It seems that CompiledIC is a ResourceObj, that is allocated in CompiledIC_at() call, but never reclaimed locally because of the missing ResourceMark. I think there is some upper-level ResourceMark that keeps build from asserting that allocation is done without the ResourceMark, but it probably too far up to be useful for reclaiming this temporary allocation.
This is fixed starting JDK 12 with
http://hg.openjdk.java.net/jdk/jdk/rev/aa3bfacc912c#l4.7
...but we need to do the same in 11u and 8u.
aotCompiledMethod.cpp has the ResourceMark in similar place, brought in by
http://hg.openjdk.java.net/jdk/jdk/file/aa3bfacc912c/src/hotspot/share/aot/aotCompiledMethod.cpp#l274
- backported by
-
JDK-8221281 Missing ResourceMark in nmethod::metadata_do
- Resolved
-
JDK-8252475 Missing ResourceMark in nmethod::metadata_do
- Resolved
- relates to
-
JDK-8206394 missing ResourceMark in AOTCompiledMethod::metadata_do, AOTCompiledMethod::clear_inline_caches , CompiledMethod::clear_ic_stubs , CompiledMethod::cleanup_inline_caches_impl
- Resolved
-
JDK-8208677 Move inner metaspace cleaning out of class unloading
- Resolved