RFR: 8299125: UnifiedOopRef in JFR leakprofiler should treat thread local oops correctly [v2]

Axel Boldt-Christmas aboldtch at openjdk.org
Mon Jan 9 07:25:07 UTC 2023


On Wed, 4 Jan 2023 13:25:57 GMT, Markus Grönlund <mgronlun at openjdk.org> wrote:

>> @fisk Why are the shifts needed on 64-bits?
>
> Maybe the shift is needed in order to handle unaligned oops, as for code blob oops? The existing root processing logic has up to now skipped code blob oops, mainly because they were hard to encode. The rationale was that they are not roots in and of themselves. Now, we have seen several instances where chains are not found on iterations, so maybe the assumption on skipping code blob oops is wrong. With this encoding scheme in place, it would be possible to pass a closure for processing the code blob oops as well.

Sorry for the tardy response. 

I think I forgot what the code was actually doing at the time of writing my previous answer. We are encoding ` narrowOop*` and `oop*` here not `narrowOop`/`oop`. And `narrowOop*` are 4 byte aligned.

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

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


More information about the hotspot-dev mailing list