RFR: 8324129: C2: Remove some ttyLocker usages in preparation for JDK-8306767

Emanuel Peter epeter at openjdk.org
Fri Jan 19 07:51:34 UTC 2024


On Fri, 19 Jan 2024 04:22:23 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/code/nmethod.hpp line 624:
> 
>> 622:   // print output in opt build for disassembler library
>> 623:   void print_relocations()                        PRODUCT_RETURN;
>> 624:   void print_pcs() { print_pcs_on(tty); }
> 
> This is a very common pattern, so I was wondering why you got rid of it?

There is simply no use of `print_pcs` any more, I changed everything to `print_pcs_on`.
So I thought I'd remove it, is that ok?
Plus: `print_pcs` used to be the virtual method, and `print_pcs_on` only a local method, that was called by this override. But now I'd rather use `print_pcs_on` with a parameter outputStream, and so I made that one the virtual method.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/17486#discussion_r1458512810


More information about the hotspot-dev mailing list