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

Stefan Karlsson stefan.karlsson at oracle.com
Fri Oct 10 13:05:09 UTC 2014


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.

StefanK
>
> Thanks,
> Erik




More information about the hotspot-gc-dev mailing list