RFR: JDK-8301493: Replace NULL with nullptr in cpu/aarch64 [v3]

David Holmes dholmes at openjdk.org
Wed May 3 22:12:28 UTC 2023


On Tue, 11 Apr 2023 13:22:40 GMT, Johan Sjölen <jsjolen at openjdk.org> wrote:

>> Hi, this PR changes all occurrences of NULL to nullptr for the subdirectory cpu/aarch64. Unfortunately the script that does the change isn't perfect, and so we
>> need to comb through these manually to make sure nothing has gone wrong. I also review these changes but things slip past my eyes sometimes.
>> 
>> Here are some typical things to look out for:
>> 
>> 1. No changes but copyright header changed (probably because I reverted some changes but forgot the copyright).
>> 2. Macros having their NULL changed to nullptr, these are added to the script when I find them. They should be NULL.
>> 3. nullptr in comments and logs. We try to use lower case "null" in these cases as it reads better. An exception is made when code expressions are in a comment.
>> 
>> An example of this:
>> 
>> ```c++
>> // This function returns null
>> void* ret_null();
>> // This function returns true if *x == nullptr
>> bool is_nullptr(void** x);
>> 
>> 
>> Note how `nullptr` participates in a code expression here, we really are talking about the specific value `nullptr`.
>> 
>> Thanks!
>
> Johan Sjölen has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits:
> 
>  - Fix style
>  - Merge remote-tracking branch 'origin/master' into JDK-8301493
>  - Explicitly cast
>  - Fixes
>  -  Replace NULL with nullptr in cpu/aarch64

Looks good - thanks!

Three minor suggested changes and three opportunities to remove casts (that I spotted).

src/hotspot/cpu/aarch64/icache_aarch64.cpp line 32:

> 30:                 ICache::flush_icache_stub_t* flush_icache_stub) {
> 31:   // Give anyone who calls this a surprise
> 32:   *flush_icache_stub = (ICache::flush_icache_stub_t)nullptr;

Hopefully don't need the cast any more.

src/hotspot/cpu/aarch64/interpreterRT_aarch64.cpp line 270:

> 268:   virtual void pass_object() {
> 269:     intptr_t* addr = single_slot_addr();
> 270:     intptr_t value = *addr == 0 ? (intptr_t)nullptr : (intptr_t)addr;

This looks like it should be using 0 (zero) not NULL/nullptr?

src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp line 971:

> 969: 
> 970:   isb();
> 971:   mov_metadata(rmethod, (Metadata*)nullptr);

Shouldn't need cast any more.

src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp line 1642:

> 1640: void MacroAssembler::null_check(Register reg, int offset) {
> 1641:   if (needs_explicit_null_check(offset)) {
> 1642:     // provoke OS null exception if reg = null by

Suggest `reg is null`

src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp line 1648:

> 1646:   } else {
> 1647:     // nothing to do, (later) access of M[reg + offset]
> 1648:     // will provoke OS null exception if reg = null

Suggest `reg is null`

src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp line 1424:

> 1422:                                        in_ByteSize(-1),
> 1423:                                        in_ByteSize(-1),
> 1424:                                        (OopMapSet*)nullptr);

Shouldn't need cast any more

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

Marked as reviewed by dholmes (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/12321#pullrequestreview-1411961600
PR Review Comment: https://git.openjdk.org/jdk/pull/12321#discussion_r1184332635
PR Review Comment: https://git.openjdk.org/jdk/pull/12321#discussion_r1184334682
PR Review Comment: https://git.openjdk.org/jdk/pull/12321#discussion_r1184335467
PR Review Comment: https://git.openjdk.org/jdk/pull/12321#discussion_r1184336073
PR Review Comment: https://git.openjdk.org/jdk/pull/12321#discussion_r1184336226
PR Review Comment: https://git.openjdk.org/jdk/pull/12321#discussion_r1184338414


More information about the hotspot-dev mailing list