RFR: JDK-8301496: Replace NULL with nullptr in cpu/riscv

Fei Yang fyang at openjdk.org
Thu Mar 30 04:12:39 UTC 2023


On Tue, 31 Jan 2023 11:39:59 GMT, Johan Sjölen <jsjolen at openjdk.org> wrote:

> Hi, this PR changes all occurrences of NULL to nullptr for the subdirectory cpu/riscv. 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!

Changes requested by fyang (Reviewer).

src/hotspot/cpu/riscv/interpreterRT_riscv.cpp line 230:

> 228:   virtual void pass_object() {
> 229:     intptr_t* addr = single_slot_addr();
> 230:     intptr_t value = *addr == 0 ? nullptr : (intptr_t)addr;

PS: I got compile errors when doing a native build with GCC-11.3.0:

474 /home/fyang/openjdk-jdk/src/hotspot/cpu/riscv/interpreterRT_riscv.cpp: In member function 'virtual void SlowSignatureHandler::pass_object()':
475 /home/fyang/openjdk-jdk/src/hotspot/cpu/riscv/interpreterRT_riscv.cpp:230:33: error: operands to '?:' have different types 'std::nullptr_t' and 'intptr_t' {aka 'long int'}
476   230 |     intptr_t value = *addr == 0 ? nullptr : (intptr_t)addr;
477       |                      ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~


I think we should change the "nullptr" here into "(intptr_t)nullptr".

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

PR Review: https://git.openjdk.org/jdk/pull/12324#pullrequestreview-1364292576
PR Review Comment: https://git.openjdk.org/jdk/pull/12324#discussion_r1152708517


More information about the shenandoah-dev mailing list