[9] RFR (S): 8060147: SIGSEGV in Metadata::mark_on_stack() while marking metadata in ciEnv
Vladimir Ivanov
vladimir.x.ivanov at oracle.com
Wed Nov 5 17:02:12 UTC 2014
On 11/5/14, 9:33 PM, Coleen Phillimore wrote:
>
> On 10/30/14, 4:32 PM, Vladimir Ivanov wrote:
>> Coleen,
>>
>> I implemented 2 approaches of the fix.
>>
>> The fix with a special case for VM anon classes is:
>> http://cr.openjdk.java.net/~vlivanov/8060147/webrev.anon.00/
>>
>> Both fix the bug, but have different properties.
>>
>> (1) Special case for VM anon class is very focused on the actual
>> cause, but more fragile - all the logic which keeps metadata from
>> being deallocated is non-trivial and scattered around the whole
>> ciMetadata hierarchy.
>>
>> (2) On the other hand, initial version, which forcibly creates
>> klass_holder ciObject for each ciMetadata, is much cleaner and
>> localized, but does unnecessary work.
>>
>> Am I right that you prefer (1) as a fix?
>
> Yes, I think this version does less unnecessary work and creates less
> ciObjects. And the comment is useful for finding how we keep
> ciMetadata alive for anonymous classes. You still have a UseNewCode in
> the webrev thought that you want to take out.
Thanks, Coleen.
VladimirK, Roland, what do you think about (1)?
Best regards,
Vladimir Ivanov
More information about the hotspot-runtime-dev
mailing list