8206394: missing ResourceMark in AOTCompiledMethod::metadata_do, AOTCompiledMethod::clear_inline_caches , CompiledMethod::clear_ic_stubs , CompiledMethod::cleanup_inline_caches_impl

Reviewed-by: kvn
This commit is contained in:
Matthias Baesken 2018-07-05 09:38:15 +02:00
parent c216fe0f55
commit 2db58ca8c3
2 changed files with 4 additions and 0 deletions

View file

@ -272,6 +272,7 @@ void AOTCompiledMethod::metadata_do(void f(Metadata*)) {
if (md != _method) f(md); if (md != _method) f(md);
} }
} else if (iter.type() == relocInfo::virtual_call_type) { } else if (iter.type() == relocInfo::virtual_call_type) {
ResourceMark rm;
// Check compiledIC holders associated with this nmethod // Check compiledIC holders associated with this nmethod
CompiledIC *ic = CompiledIC_at(&iter); CompiledIC *ic = CompiledIC_at(&iter);
if (ic->is_icholder_call()) { if (ic->is_icholder_call()) {
@ -444,6 +445,7 @@ void AOTCompiledMethod::clear_inline_caches() {
return; return;
} }
ResourceMark rm;
RelocIterator iter(this); RelocIterator iter(this);
while (iter.next()) { while (iter.next()) {
iter.reloc()->clear_inline_cache(); iter.reloc()->clear_inline_cache();

View file

@ -325,6 +325,7 @@ void CompiledMethod::clear_inline_caches() {
// Clear ICStubs of all compiled ICs // Clear ICStubs of all compiled ICs
void CompiledMethod::clear_ic_stubs() { void CompiledMethod::clear_ic_stubs() {
assert_locked_or_safepoint(CompiledIC_lock); assert_locked_or_safepoint(CompiledIC_lock);
ResourceMark rm;
RelocIterator iter(this); RelocIterator iter(this);
while(iter.next()) { while(iter.next()) {
if (iter.type() == relocInfo::virtual_call_type) { if (iter.type() == relocInfo::virtual_call_type) {
@ -547,6 +548,7 @@ bool CompiledMethod::unload_nmethod_caches(bool parallel, bool unloading_occurre
bool CompiledMethod::cleanup_inline_caches_impl(bool parallel, bool unloading_occurred, bool clean_all) { bool CompiledMethod::cleanup_inline_caches_impl(bool parallel, bool unloading_occurred, bool clean_all) {
assert_locked_or_safepoint(CompiledIC_lock); assert_locked_or_safepoint(CompiledIC_lock);
bool postponed = false; bool postponed = false;
ResourceMark rm;
// Find all calls in an nmethod and clear the ones that point to non-entrant, // Find all calls in an nmethod and clear the ones that point to non-entrant,
// zombie and unloaded nmethods. // zombie and unloaded nmethods.