RFR(S) 8176887: SIGSEGV in AOTCodeHeap::next when using specific configuration
Vladimir Kozlov
vladimir.kozlov at oracle.com
Fri Apr 7 20:29:24 UTC 2017
This could be good fix for JDK 9.
Are you sure that functions called for Metadata scan will not barf on
MethodCounters?
You need also ask Runtime group to look on this change.
When fixing 8173794 I missed this case (MethodCounters*). We should not
put them into metaspace_got array since GC don't need to process them.
And they increase metaspace_got array significantly.
For 10 we should fix JAPTC code - metaspace_got array should contain
only Klass* pointers. May be to add a separate array since
extLinkageGOTContainer may not right for MethodCounters*.
Thanks,
Vladimir
On 4/7/17 11:55 AM, Igor Veresov wrote:
> The problem here is that AOTCodeHeap::got_metadata_do() iterates over the _metaspace_got array assuming that the array contains Metadata*, indeed the array is declared as such. However it also happens to contain MethodCounters*, and MethodCounters is not Metadata, but MetaspaceObj. The simplest and minimal risk solution is to make MethodCounters a subclass of Metadata (we’d like to have this fix in jdk9).
>
>
> Webrev: http://cr.openjdk.java.net/~iveresov/8176887/webrev.00/
> JBS: https://bugs.openjdk.java.net/browse/JDK-8176887
>
> Thanks!
> igor
>
More information about the hotspot-compiler-dev
mailing list