RFR: JDK-8301076: Replace NULL with nullptr in share/prims/
Johan Sjölen
jsjolen at openjdk.org
Thu Jan 26 16:31:23 UTC 2023
On Wed, 25 Jan 2023 11:47:05 GMT, Johan Sjölen <jsjolen at openjdk.org> wrote:
> Hi, this PR changes all occurrences of NULL to nullptr for the subdirectory share/prims/. 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!
Passes tier1.
src/hotspot/share/prims/jni.cpp line 2234:
> 2232: if (s_value != nullptr) {
> 2233: size_t length = java_lang_String::utf8_length(java_string, s_value);
> 2234: /* JNI Specification states return nullptr on OOM */
null
src/hotspot/share/prims/jni.cpp line 2420:
> 2418: *isCopy = JNI_FALSE; \
> 2419: } \
> 2420: /* Empty array: legal but useless, can't return nullptr. \
null
src/hotspot/share/prims/jni.cpp line 2425:
> 2423: result = (ElementType*)get_bad_address(); \
> 2424: } else { \
> 2425: /* JNI Specification states return nullptr on OOM */ \
null
src/hotspot/share/prims/jni.cpp line 2839:
> 2837: int s_len = java_lang_String::length(s, s_value);
> 2838: ret = NEW_C_HEAP_ARRAY_RETURN_NULL(jchar, s_len + 1, mtInternal); // add one for zero termination
> 2839: /* JNI Specification states return nullptr on OOM */
null
src/hotspot/share/prims/jniCheck.cpp line 95:
> 93: result_type JNICALL header { \
> 94: Thread* cur = Thread::current_or_null(); \
> 95: if (cur == nullptr || !cur->is_Java_thread()) { \
align
src/hotspot/share/prims/jniCheck.cpp line 935:
> 933: va_list args; \
> 934: IN_VM( \
> 935: jniCheck::validate_call(thr, nullptr, methodID, obj); \
align
src/hotspot/share/prims/jniCheck.cpp line 953:
> 951: functionEnter(thr); \
> 952: IN_VM(\
> 953: jniCheck::validate_call(thr, nullptr, methodID, obj); \
align
src/hotspot/share/prims/jniCheck.cpp line 969:
> 967: functionEnter(thr); \
> 968: IN_VM( \
> 969: jniCheck::validate_call(thr, nullptr, methodID, obj); \
align
-------------
PR: https://git.openjdk.org/jdk/pull/12188
More information about the serviceability-dev
mailing list