[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
Fri Apr 25 08:22:49 UTC 2014


Hi Roland,

thank you very much for looking into this again.

Here is a new webrev, which includes the clean-up.
http://cr.openjdk.java.net/~anoll/8040085/webrev.01/

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