RFR(XXS) 8187629: NMT: Memory miscounting in compiler (C2)

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue Sep 19 16:14:40 UTC 2017


Compilers also use a lot thread local ResourceArea - 
Thread::current()->resource_area() and NEW_RESOURCE_ARRAY() macro.
But thread local area is defined as mtThread:

http://hg.openjdk.java.net/jdk10/hs/hotspot/file/5ab7a67bc155/src/share/vm/runtime/thread.cpp#l218

Vladimir

On 9/18/17 12:17 PM, Zhengyu Gu wrote:
> Compiler (C2) uses ResourceArea instead of Arena in some circumstances, 
> so it can take advantage of ResourceMark. However, ResourceArea is 
> tagged as mtThread, that results those memory is miscounted by NMT
> 
> Bug: https://bugs.openjdk.java.net/browse/JDK-8187629
> Webrev: http://cr.openjdk.java.net/~zgu/8187629/webrev.00/
> 
> 
> Test:
> 
>    hotspot_tier1 (fastdebug and release) on Linux x64
> 
> 
> Thanks,
> 
> -Zhengyu


More information about the hotspot-dev mailing list