[master] RFR: Preserve Klass* in leak profiler [v3]

Markus Grönlund mgronlun at openjdk.java.net
Mon Oct 18 14:16:11 UTC 2021


On Mon, 18 Oct 2021 13:54:30 GMT, Roman Kennke <rkennke at openjdk.org> wrote:

>> The JFR leak profiler uses the mark word for marking objects during traversal, and for storing pointers to Edges. We need to preserve the compressed Klass* in the upper part of the mark-word during the traversal.
>> 
>> The change is based on: openjdk/jdk/pull/5918
>> 
>> Testing:
>>  - [x] jdk/jfr (x86_64)
>>  - [x] jdk/jfr (x86_32)
>>  - [x] tier1
>>  - [x] tier2
>
> Roman Kennke has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 12 additional commits since the last revision:
> 
>  - Merge branch 'master' into fix-jfr-2
>  - Cherry-pick  8275277: assert(dest_attr.is_in_cset() == (obj->forwardee() == obj)) failed
>  - Merge branch 'master' into fix-jfr-2
>  - Merge branch 'pull/5918' into fix-jfr-2
>  - remove -1
>  - constants
>  - Fix 32bit build
>  - Merge branch 'master' into fix-jfr-2
>  - In leakprofiler, don't override Klass when marking objects
>  - Merge branch 'pull/5918' into fix-jfr-2
>  - ... and 2 more: https://git.openjdk.java.net/lilliput/compare/c61d7c66...029c37a1

JFR changes looks good. The only thing I am unsure of is the #ifdef _LP64 "has_displaced_mark_helper()", but I assume this is needed for Lilliput.

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

PR: https://git.openjdk.java.net/lilliput/pull/21


More information about the lilliput-dev mailing list