RFR: 8324129: C2: Remove some ttyLocker usages in preparation for JDK-8306767
David Holmes
dholmes at openjdk.org
Fri Jan 19 04:28:31 UTC 2024
On Fri, 19 Jan 2024 04:24:56 GMT, David Holmes <dholmes at openjdk.org> wrote:
>> I'm removing some instances of `ttyLocker`. Instead of locking, I first put all the output on a `stringStream`, and then print this stream all at once, which is atomic.
>>
>> Removing the `ttyLocker` is nice, because it means we have less interference with other locking mechanisms, such as the `extra_data_lock` cases I have to introduce with [JDK-8306767](https://bugs.openjdk.org/browse/JDK-8306767).
>>
>> @coleenp wished that I do this separately, so I filed this RFE here.
>
> src/hotspot/share/interpreter/bytecodeTracer.cpp line 195:
>
>> 193: s.set_interval(from, to);
>> 194:
>> 195: ttyLocker ttyl; // keep the following output coherent
>
> The previous method using ttyLocker states:
>
> // The ttyLocker also prevents races between two threads
> // trying to use the single instance of BytecodePrinter.
>
> Is that also a concern in this method?
FTR the code should not be assuming that `st` is `tty`!
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/17486#discussion_r1458330318
More information about the hotspot-dev
mailing list