RFR: 8298241: Replace C-style casts with JavaThread::cast

Stefan Karlsson stefank at openjdk.org
Thu Dec 15 07:11:06 UTC 2022


On Wed, 14 Dec 2022 22:22:48 GMT, David Holmes <dholmes at openjdk.org> wrote:

> This is a simple cleanup RFE to get rid of old-style C casts in relation to JavaThread.
> 
> In many cases involving NULL/nullptr the cast could just be dropped. Sometimes a static cast is needed to disambiguate overloads.
> 
> A couple of reinterpret_cast are needed when doing int/ptr conversion.
> 
> static_cast is used for void* conversion.
> 
> The other changes should be self explanatory.
> 
> The changes in
> 
> src/hotspot/os_cpu/bsd_aarch64/javaThread_bsd_aarch64.cpp
> src/hotspot/os_cpu/windows_aarch64/javaThread_windows_aarch64.cpp
> 
> are a bit more extensive. That code was using an alias for `this` which is completely unnecessary (and the alias creation was using the cast). This could be factored out if thought necessary.
> 
> I grep'd as best I could for the old C-style casts but can't be certain I got them all.
> 
> Testing: 
>  - all builds in our tiers1-5
>  - local linux x64 product, slowdebug and fastdebug
>  - GHA
>  - Sanity testing tiers 1-3
> Thanks.

Marked as reviewed by stefank (Reviewer).

src/hotspot/share/runtime/frame.cpp line 1568:

> 1566:     }
> 1567:   }
> 1568:   // if (error) { tty->cr(); print_on(nullptr, tty); }

This probably need the same cast as in print_frame_layout, to disambiguate the call.

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

PR: https://git.openjdk.org/jdk/pull/11682


More information about the hotspot-dev mailing list