> In PointerFinder.java we have some code to determine if a pointer is in a 
> TLAB, but it only executes for the SerialGC. It should work for all GCs, so I 
> moved the code out of the SerialGC block.
> 
> I also cleaned up the printing in PointerLocation. java a bit so when not 
> using verbose mode not as much info about the tlab address is printed. This 
> is consistent with other addresses, such as java stack addresses, which is 
> what I modeled this change on.
> 
> It's hard to test this change since it is hard to consistently get an address 
> to be in the tlab. I wrote a little test program that just sits in a loop 
> doing allocations. I attached to it with clhsdb and ran the threadcontext 
> command, which does a fincpc on each register. About half the time the main 
> thread was suspended in a frame where some registers where pointing into the 
> tlab, and I confirmed this was the case for both SerialGC and G1. Here's an 
> example of one register with verbose off and verbose on:
> 
> rsi: 0x000000008a5d4448: In TLAB for thread "main" 
> sun.jvm.hotspot.runtime.JavaThread@0x00007ffa24029000
> 
> rsi: 0x000000008a5d4448: In TLAB for thread ("main" #1 prio=5 
> tid=0x00007ffa24029000 nid=25392 runnable [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
>    JavaThread state: _thread_in_java
> )  
> [0x000000008a5d4448,0x000000008ab724b8,0x000000008b0c0250,{0x000000008b0c0490})
> 
> For testing I ran all tier1, tier2, and tier5 svc tests (still in progress)

Chris Plummer has updated the pull request incrementally with one additional 
commit since the last revision:

  Get rid of inTLAB field. Not needed

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/17494/files
  - new: https://git.openjdk.org/jdk/pull/17494/files/ed620194..df3a1cf2

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=17494&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=17494&range=00-01

  Stats: 3 lines in 2 files changed: 0 ins; 2 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/17494.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/17494/head:pull/17494

PR: https://git.openjdk.org/jdk/pull/17494

Reply via email to