RFR(L): 8198691: CodeHeap State Analytics
Tobias Hartmann
tobias.hartmann at oracle.com
Tue Mar 6 13:32:31 UTC 2018
Hi Lutz,
I found more build/test problems and added a summary comment to the bug. Please let me know if you
need more information.
Best regards,
Tobias
On 06.03.2018 11:31, Tobias Hartmann wrote:
> I've quickly ran this through our testing and there are some build failures:
>
> jib > t:/workspace/open/src/hotspot/share/memory/heap.cpp(1710) : warning C4101: 'frameLine' :
> unreferenced local variable
> jib > t:/workspace/open/src/hotspot/share/memory/heap.cpp(1711) : warning C4101: 'textLine' :
> unreferenced local variable
> jib > t:/workspace/open/src/hotspot/share/memory/heap.cpp(1922) : warning C4101: 'frameLine' :
> unreferenced local variable
> jib > t:/workspace/open/src/hotspot/share/memory/heap.cpp(1923) : warning C4101: 'textLine' :
> unreferenced local variable
> jib > t:/workspace/open/src/hotspot/share/memory/heap.cpp(2094) : warning C4101: 'frameLine' :
> unreferenced local variable
> jib > t:/workspace/open/src/hotspot/share/memory/heap.cpp(2095) : warning C4101: 'textLine' :
> unreferenced local variable
> jib > t:/workspace/open/src/hotspot/share/memory/heap.cpp(2282) : warning C4101: 'frameLine' :
> unreferenced local variable
> jib > t:/workspace/open/src/hotspot/share/memory/heap.cpp(2283) : warning C4101: 'textLine' :
> unreferenced local variable
> jib > t:/workspace/open/src/hotspot/share/memory/heap.cpp(2479) : warning C4101: 'frameLine' :
> unreferenced local variable
> jib > t:/workspace/open/src/hotspot/share/memory/heap.cpp(2480) : warning C4101: 'textLine' :
> unreferenced local variable
> jib > t:/workspace/open/src/hotspot/share/memory/heap.cpp(2699) : warning C4267: '+=' : conversion
> from 'size_t' to 'int', possible loss of data
> jib > t:/workspace/open/src/hotspot/share/memory/heap.cpp(2700) : warning C4267: '+=' : conversion
> from 'size_t' to 'int', possible loss of data
>
> Best regards,
> Tobias
>
> On 06.03.2018 11:25, Tobias Hartmann wrote:
>> Hi Lutz,
>>
>> first of all, this is a very nice enhancement!
>>
>> I haven't looked at the code in detail yet (will wait for the next webrev). Here are some comments:
>> - The documentation is great and should at least go into the release notes (I've added the
>> release-not=yes label). I think we should also add something to the Tools Reference Guide [1] or
>> even the JVM Guide [2].
>> - As Robbin already pointed out, please use unified logging instead of PrintCodeHeapState. I think
>> that would also allow to specify <function> and <granularity> on the command line.
>> - I think it would be nice to print some/all of this new information if the code cache is full at
>> CodeCache::report_codemem_full() if PrintCodeHeapState is enabled. We had several customer reported
>> issues in the past where the compilers were disabled although there still was some free space in the
>> code cache. We were never able to reproduce/analyze but always expected this to be due to high
>> fragmentation.
>> - JFR integration would be nice but that should be done in a separate RFE
>> - It's a style question but I would prefer the pointer asterisk at the type not the argument. For
>> example, "outputStream* out" instead of "outputStream *out"
>> - heap.hpp: please put the commas after the definitions in the enum
>>
>> Thanks,
>> Tobias
>>
>> [1] https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624
>> [2]
>> https://docs.oracle.com/javase/9/vm/java-virtual-machine-technology-overview.htm#JSJVM-GUID-982B244A-9B01-479A-8651-CB6475019281
>>
>>
>> On 01.03.2018 18:17, Schmidt, Lutz wrote:
>>> Dear all,
>>>
>>>
>>>
>>> may I please request reviews for this quite voluminous enhancement:
>>>
>>>
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8198691
>>>
>>> Webrev: http://cr.openjdk.java.net/~lucy/webrevs/8198691.00/index.html
>>>
>>>
>>>
>>> Don’t get afraid! Most of the logic is new and isolated in a big, separate block in heap.cpp. The
>>> changes to other files are not difficult to understand.
>>>
>>>
>>>
>>> If you need information about what this enhancement does and how it can be used, please refer to the
>>> bug description. There I have attached some documentation which will greatly help with understanding
>>> the code.
>>>
>>>
>>>
>>> Thank you!
>>>
>>> Lutz
>>>
>>>
>>>
>>>
>>>
>>>
>>>
More information about the hotspot-compiler-dev
mailing list