RFR: 8286117: Remove unnecessary indirection and unused code in UL [v2]
Johan Sjölén
duke at openjdk.java.net
Tue May 10 11:16:00 UTC 2022
On Tue, 10 May 2022 02:30:12 GMT, David Holmes <dholmes at openjdk.org> wrote:
>> This is the dependency-structure of UL before this PR (this PR moves the arrows into `LogImpl` directly into `LogTagSet`). `LogTagSet` knows what it logs to, because it has access to the `LogOutputList`, nothing else has such info (which is why every arrow goes into LogTagSet). This is why `LogMessage` doesn't know what it will flush to, `LogTagSet` redirects to the correct outputs.
>>
>> 
>>
>> Circles = external API, rectangle = internal to UL.
>
> Thanks for that picture! I think my main problem is that `LogTagSet` is actually a much more fundamental abstraction than I was thinking it was from the name. It really embodies a complete entity of logging that I can't readily describe without using words (target, configuration) already used for something else in UL. In that sense `LogImpl` actually did add a level of abstraction that made things a little clearer (and I think `LogImpl` is perhaps what they chose to describe that because they couldn't just use `Log`).
> Okay things are a bit clearer now. Thanks.
You're welcome! This confusion is exactly why I'm trying to clean things up (I drew the picture for me originally :-)).
Thank you for the review.
-------------
PR: https://git.openjdk.java.net/jdk/pull/8541
More information about the hotspot-runtime-dev
mailing list