RFR (S) 8235765: Use of the long type should be avoided in shared code
Lois Foltan
lois.foltan at oracle.com
Wed Aug 12 16:19:31 UTC 2020
On 8/12/2020 11:21 AM, Coleen Phillimore wrote:
> Summary: Changed some long declarations to uint64_t/int64_t or
> unsigned int, depending on context.
>
> There are still 'long' declarations left in the code, but they should
> be changed by developers when working in that code and not as a
> blanket change. I didn't change a couple of longs in
> jfr/leakprofiler, for example. These are the ones I changed though
> with some explanation of why:
>
> src/hotspot/share/memory/filemap.hpp
>
> This can be negative so changed to int64_t.
>
> src/hotspot/share/runtime/mutex.cpp
>
> The PlatformMutex code takes jlong, which is signed, so that's why I
> changed these to int64_t.
>
> runtime/interfaceSupport.inline.hpp
>
> These counters are actually intervals so I changed them to unsigned int.
>
> src/hotspot/share/compiler/compileBroker.hpp
>
> _peak_compilation_time is signed because it is compared with jlong
> which is signed.
> Same with total_compilation_time - elapsedTimer.milliseconds() returns
> jlong.
>
> Tested with tier1-3. Tier1 on linux-x64-debug, windows-x64-debug,
> macosx-x64-debug, linux-aarch64-debug. Also built on:
> linux-arm32,linux-ppc64le-debug,linux-s390x-debug,linux-x64-zero.
>
> open webrev at http://cr.openjdk.java.net/~coleenp/2020/8235765.01/webrev
> bug link https://bugs.openjdk.java.net/browse/JDK-8235765
>
> Thanks,
> Coleen
Hi Coleen,
Looks good.
- runtime/sweeper.hpp
This is the only file that I wondered why you changed long to int64_t
for _total_nof_methods_reclaimed and _total_nof_c2_methods_reclaimed.
Note that the method NMethodSweeper::total_nof_methods_reclaimed returns
an int. Could both of these fields be changed to int instead?
Thanks,
Lois
More information about the hotspot-dev
mailing list