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