On Tue, 6 Feb 2024 19:24:04 GMT, Chris Plummer <cjplum...@openjdk.org> wrote:

>> This PR adds G1 support to PointerFinder/PointerLocation. Previously we only 
>> had SerialGC support. Previously for G1 addresses SA would only report that 
>> the address is "In unknown section of Java heap" with no other details. Now 
>> it provides details for G1 addresses. Here are some examples for clhsdb 
>> `threadcontext` output. `threadcontext` dumps the contents of the thread's 
>> registers, some of which are often in the java heap. In the output below the 
>> first line is without verbose output and the 2nd is with:
>> 
>> 
>> rbp: 0x00000000a0004080: In G1 heap region
>> rbp: 0x00000000a0004080: In G1 heap Region: 
>> 0x00000000a0000000,0x00000000a0018a30,0x00000000a1000000:Old
>> 
>> 
>> I also added an improvement to how SA deals with addresses in the TLAB. It 
>> used to only report that the address is in a TLAB and provide details about 
>> the TLAB in verbose mode. Now if verbose mode is used, the heap region 
>> information is included after the TLAB information. Here again is an example 
>> without and with verbose output:
>> 
>> 
>> rsi: 0x0000000166000000: In TLAB for thread "main" 
>> sun.jvm.hotspot.runtime.JavaThread@0x00007f11c8029250
>> rsi: 0x0000000166000000: In TLAB for thread ("main" #1 prio=5 
>> tid=0x00007f11c8029250 nid=1503 runnable [0x0000000000000000]
>>    java.lang.Thread.State: RUNNABLE
>>    JavaThread state: _thread_in_java
>> )  
>> [0x0000000166000000,0x00000001662d0c90,0x00000001667ffdc0,{0x0000000166800000})
>> In G1 heap Region: 
>> 0x0000000166000000,0x0000000166800000,0x0000000167000000:Eden
>> 
>> 
>> Note at the end it indicates the address is in the Eden space, which is 
>> probably always the case for G1 TLAB addresses. For SerialGC is shows 
>> something similar.
>> 
>> 
>> rsi: 0x0000000088ff99e0: In TLAB for thread "main" 
>> sun.jvm.hotspot.runtime.JavaThread@0x00007f0544029110
>> rsi: 0x0000000088ff99e0: In TLAB for thread ("main" #1 prio=5 
>> tid=0x00007f0544029110 nid=3098 runnable [0x0000000000000000]
>>    java.lang.Thread.State: RUNNABLE
>>    JavaThread state: _thread_in_java
>> )  
>> [0x0000000088ff99e0,0x000000008978c090,0x0000000089ae54b0,{0x0000000089ae56f0})
>> In heap new generation:  eden 
>> [0x0000000080200000,0x0000000089ae56f0,0x00000000a2420000) space capacity = 
>> 572653568, 27.99656213789626 used
>>   from [0x00000000a6860000,0x00000000a6860030,0x00000000aaca0000) space 
>> capacity = 71565312, 6.707160027472528E-5 used
>>   to   [0x00000000a2420000,0x00000000a2420000,0x00000000a6860000) space 
>> capacity = 71565312, 0.0 used
>> 
>> 
>> Testing all svc test in tier1, tier2, and tier5. Currently i...
>
> Chris Plummer has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Get rid of trailing colon for SerialGC terse output

Thanks for the reviews Thomas and Kevin!

-------------

PR Comment: https://git.openjdk.org/jdk/pull/17691#issuecomment-1933119334

Reply via email to