On Mon, 19 Aug 2024 23:08:35 GMT, David Holmes <dhol...@openjdk.org> wrote:
>> src/hotspot/share/classfile/javaClasses.cpp line 639: >> >>> 637: if (length == 0) { >>> 638: return 0; >>> 639: } >> >> Maybe assert length > 0 here? > > Why "> 0" ? Because length is an in which could be negative but you're passing it to size_t. -Wsign-conversion might complain because you're changing signs. I guess you know from context that it's a positive number, so ok. >> src/hotspot/share/prims/jni.cpp line 2226: >> >>> 2224: HOTSPOT_JNI_GETSTRINGUTFLENGTH_ENTRY(env, string); >>> 2225: oop java_string = JNIHandles::resolve_non_null(string); >>> 2226: jsize ret = java_lang_String::utf8_length_as_int(java_string); >> >> So the spec says that this should be jsize (signed int), which is why this >> is, right? > > Yes. Hence the other change to add a new JNI API. Ok. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/20560#discussion_r1731939815 PR Review Comment: https://git.openjdk.org/jdk/pull/20560#discussion_r1731940575