Integrated: Restore event descriptions immortality

Aleksey Shipilev shade at openjdk.org
Thu Apr 13 08:31:06 UTC 2023


On Wed, 12 Apr 2023 10:27:56 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

> Upstream code has event descriptions as immortal strings for a reason: they are passed inside the logging classes, and so the references to them may outlive the scope of the current method. We have seen logs corruption because of that before, e.g. in hs_err-s `Events` section. This PR restores the immortality of event descriptions, producing const strings with macros.
> 
> This also stops emitting "(GLOBAL)" for global collections, which I think is what non-generational Shenandoah mode prints. Please tell me if we still need to print "(GLOBAL)" in generational mode.
> 
> Tangentially, this also improves performance for compilers that choose to initialize the automatic storage for `char msg[1024]`, see https://isocpp.org/files/papers/P2723R0.html.
> 
> Additional testing:
>  - [x] Eyeballing the GC logs

This pull request has now been integrated.

Changeset: 9d877246
Author:    Aleksey Shipilev <shade at openjdk.org>
URL:       https://git.openjdk.org/shenandoah/commit/9d87724697428f4c75cd04a062df35cddf5a56c6
Stats:     61 lines in 5 files changed: 37 ins; 5 del; 19 mod

Restore event descriptions immortality

Reviewed-by: kdnilsen, ysr

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

PR: https://git.openjdk.org/shenandoah/pull/253


More information about the shenandoah-dev mailing list