[9] RFR(S): 8040085: dtrace/jsdt tests crash on solaris. found an unadvertised bad scavengable oop in the code cache

Albert albert.noll at oracle.com
Mon Apr 28 05:37:43 UTC 2014


Hi,

could I get a second review (if one is needed)?

Many thanks,
Albert

On 04/25/2014 10:44 AM, Albert wrote:
> Thank you, Roland.
>
> Best,
> Albert
> On 04/25/2014 10:41 AM, Roland Westrelin wrote:
>>> http://cr.openjdk.java.net/~anoll/8040085/webrev.02/
>> That looks good to me.
>>
>> Roland.
>>
>>> Best,
>>> Albert
>>>
>>> On 04/25/2014 10:27 AM, Roland Westrelin wrote:
>>>>> Here is a new webrev, which includes the clean-up.
>>>>> http://cr.openjdk.java.net/~anoll/8040085/webrev.01/
>>>> I think we still want the:
>>>>
>>>> tty->print("---   n  “);
>>>>
>>>> part to match the PrintCompilation output for other methods (it 
>>>> doesn’t really match anymore, actually).
>>>>
>>>> Roland.
>>>>
>>>>> Best,
>>>>> Albert
>>>>>
>>>>> On 04/25/2014 09:59 AM, Roland Westrelin wrote:
>>>>>>> 7017732 was pushed 3 years ago. What does this show up now? 
>>>>>>> Also, CodeCache::add_scavenge_root_nmethod() is required if the 
>>>>>>> nmethod embeds oops but I don’t see where in 
>>>>>>> SharedRuntime::generate_dtrace_nmethod() we have constant oops.
>>>>>> I took a look and found that the oop comes from:
>>>>>>
>>>>>> // Add the class loader of Method* for the nmethod itself
>>>>>> append_oop_references(&oops, mh->method_holder());
>>>>>>
>>>>>> in finalize_oop_references() that is called from 
>>>>>> nmethod::new_dtrace_nmethod()
>>>>>>
>>>>>> So Albert’s fix look good to me.
>>>>>>
>>>>>> I also noticed this in 
>>>>>> AdapterHandlerLibrary::create_dtrace_nmethod():
>>>>>>    if (PrintCompilation) {
>>>>>>      ttyLocker ttyl;
>>>>>>      tty->print("---   n%s  ");
>>>>>>
>>>>>> %s but no argument passed. Can you clean that up as well, Albert?
>>>>>>
>>>>>> Roland.
>



More information about the hotspot-compiler-dev mailing list