mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
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:
parent
c216fe0f55
commit
2db58ca8c3
2 changed files with 4 additions and 0 deletions
|
@ -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();
|
||||||
|
|
|
@ -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.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue