[9] RFR(XS): 8059675: Missing ResourceMark in nmethod::clear_ic_stubs()

Tobias Hartmann tobias.hartmann at oracle.com
Mon Oct 6 06:43:19 UTC 2014


Hi Albert,

I just noticed that there actually is a ResourceMark in 
'CompileBroker::compiler_thread_loop' [1]. The bug only occurs with your 
(not yet integrated) changes for 8046809 [2] because you call the 
sweeper from a non-compiler thread without a ResourceMark there.

I closed the bug as 'not an issue'.

Best,
Tobias

[1] Stack trace:
nmethod::clear_ic_stubs
NMethodSweeper::process_nmethod
NMethodSweeper::sweep_code_cache
NMethodSweeper::possibly_sweep
CompileQueue::get
CompileBroker::compiler_thread_loop

[2] https://bugs.openjdk.java.net/browse/JDK-8046809


On 03.10.2014 16:36, Albert Noll wrote:
> Hi Tobias,
>
> did you check other in nmethod.cpp where we have the following code:
> CompiledIC *ic = CompiledIC_at(&iter);
>
> For example in:
>
> verify_icholder_relocations()
> do_unloading(...)
> do_unloading_parallel(..)
> verify_metadata_loaders(..)
> metadata_do(..)
> verify_interrupt_point(..)
> print_calls(...)
>
> Best,
> Albert
>
>
> On 10/03/2014 04:24 PM, Tobias Hartmann wrote:
>> Hi,
>>
>> please review the following small patch that adds a missing 
>> ResourceMark to nmethod::clear_ic_stubs().
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8059675
>> Webrev: http://cr.openjdk.java.net/~thartmann/8059675/webrev.00/
>>
>> Tested fix with failing test.
>>
>> Thanks,
>> Tobias
>



More information about the hotspot-compiler-dev mailing list