[8u40]: RFR (backport): 8049599: MetaspaceGC::_capacity_until_GC can overflow

Erik Helin erik.helin at oracle.com
Fri Oct 10 14:05:20 UTC 2014


On 2014-10-10 15:05, Stefan Karlsson wrote:
>
> On 2014-10-10 12:05, Erik Helin wrote:
>> Hi all,
>>
>> the patch in jdk9/hs-gc/hotspot [0] did not apply cleanly to
>> jdk8u/hs-dev/hotspot, the problem is the following part of the patch
>> to whitebox.cpp (long lines truncated with ...):
>>
>> --- whitebox.cpp
>> +++ whitebox.cpp
>> @@ -986,16 +1013,18 @@ static JNINativeMethod methods[] = {
>>    {CC"isInStringTable",    CC"(Ljava/lang/String;)Z", ...
>>    {CC"fullGC",   CC"()V", (void*)&WB_FullGC },
>>    {CC"youngGC",  CC"()V", (void*)&WB_YoungGC },
>>    {CC"readReservedMemory", CC"()V", (void*)&WB_ReadReservedMemory },
>>    {CC"allocateMetaspace", CC"(Ljava/lang/ClassLoader;J)J", ...
>>    {CC"freeMetaspace", CC"(Ljava/lang/ClassLoader;JJ)V", ...
>> +  {CC"incMetaspaceCapacityUntilGC", CC"(J)J", ...
>> +  {CC"metaspaceCapacityUntilGC", CC"()J", ...
>>    {CC"getCPUFeatures", CC"()Ljava/lang/String;" ...
>>    {CC"getNMethod", CC"(Ljava/lang/reflect/Executable;Z) ...
>>    {CC"getThreadStackSize", CC"()J", (void*)&WB_GetThreadStackSize },
>>    {CC"getThreadRemainingStackSize", CC"()J, ...
>> };
>>
>> The problem is that the last two whitebox functions,
>> "getThreadStackSize" and "getThreadRemainingStackSize" has not been
>> backported to jdk8u, so the patch fails to apply since the context is
>> different.
>>
>> Webrev:
>> - full: http://cr.openjdk.java.net/~ehelin/8049599/webrev.8u40/
>> - diff between the two patches (very minor, just a context change):
>> http://cr.openjdk.java.net/~ehelin/8049599/webrev.8u40/diff.patch
>
> Looks good.

Thanks!
Erik

> StefanK
>>
>> Thanks,
>> Erik
>



More information about the hotspot-gc-dev mailing list