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 shenandoah-dev
mailing list