RFR: 8328866: Add raw monitor rank support to the debug agent. [v2]

Chris Plummer cjplummer at openjdk.org
Mon May 6 21:26:53 UTC 2024


On Thu, 2 May 2024 21:00:52 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:

>> src/jdk.jdwp.agent/share/native/libjdwp/util.c line 1204:
>> 
>>> 1202:     // Need to lock during initialization so verifyMonitorRank() can be guaranteed that
>>> 1203:     // if the monitor field is set, then the monitor if fully initialized. More specifically,
>>> 1204:     // that the rank field has been set.
>> 
>> rank for all monitors can be set in `util_initialize()`:
>> 
>> for (i = 0; i < NUM_DEBUG_RAW_MONITORS; i++) {
>>   dbg_monitors[i]->rank = i;
>> }
>
> Ok.

I decided not to make this change. It was a bit disruptive with the need for forward declarations. Plus I wasn't convinced I wouldn't still need the locking since there is also the assignment of the name field (although that is only used if something has gone wrong) and also I was a little worried that tearing could happen on some platforms (a partial ptr value is read in), although not on any platform that we support. I did update the comment to make it less specific about the rank field.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/19044#discussion_r1591571349


More information about the serviceability-dev mailing list