On Thu, 1 Feb 2024 00:17:57 GMT, Chris Plummer <cjplum...@openjdk.org> wrote:
>> Alex Menkov has updated the pull request incrementally with one additional >> commit since the last revision: >> >> feedback > > test/hotspot/jtreg/serviceability/jvmti/FollowReferences/FieldIndices/libFieldIndicesTest.cpp > line 93: > >> 91: >> 92: /* >> 93: Per jvmtiHeapReferenceInfoField spec: > > I think you should also include mention that this is for > JVMTI_HEAP_REFERENCE_STATIC_FIELD. > > Indentation should be fixed to match our C++ comment style, and the "bullets" > from the spec should be included to make it clearer that these are two lists > of steps. Fixed. > test/hotspot/jtreg/serviceability/jvmti/FollowReferences/FieldIndices/libFieldIndicesTest.cpp > line 108: > >> 106: where n is the count of the fields in all the superinterfaces of I. >> 107: >> 108: 'Klass' struct contains all required data to calculate field indeces. > > "indices" Fixed. > test/hotspot/jtreg/serviceability/jvmti/FollowReferences/FieldIndices/libFieldIndicesTest.cpp > line 153: > >> 151: >> 152: /* >> 153: For each test object 'Object' struct is created and pointer to it set >> as a tag for jobject. > > Suggestion: > > For each test object, the 'Object' struct is created and a pointer to it is > set as the jobject's tag. Fixed. Updated comment for 'Klass' class the same way > test/hotspot/jtreg/serviceability/jvmti/FollowReferences/FieldIndices/libFieldIndicesTest.cpp > line 225: > >> 223: >> 224: // Explores all interfaces implemented by 'klass' sorting out duplicates >> 225: // and store them in the 'arr' starting from 'index'. > > Suggestion: > > // Explores all interfaces implemented by 'klass', sorts out duplicates, > // and stores the interfaces in the 'arr' starting from 'index'. Fixed. > test/hotspot/jtreg/serviceability/jvmti/FollowReferences/FieldIndices/libFieldIndicesTest.cpp > line 254: > >> 252: >> 253: // And explore its superinterfaces. >> 254: count += fill_interfaces(arr, index + count, env, >> interfaces[i]); > > I assume here we are always dealing with test classes that are known not to > be deeply nested. Yes, we explore only test classes/interfaces > test/hotspot/jtreg/serviceability/jvmti/FollowReferences/FieldIndices/libFieldIndicesTest.cpp > line 348: > >> 346: >> 347: jclass obj_klass = env->GetObjectClass(obj); >> 348: > > Unnecessary newline. removed. > test/hotspot/jtreg/serviceability/jvmti/FollowReferences/FieldIndices/libFieldIndicesTest.cpp > line 350: > >> 348: >> 349: Klass* klass = Klass::explore(env, obj_klass); >> 350: > > Unnecessary newline. removed > test/hotspot/jtreg/serviceability/jvmti/FollowReferences/FieldIndices/libFieldIndicesTest.cpp > line 492: > >> 490: Java_FieldIndicesTest_prepare(JNIEnv *env, jclass cls, jobject testObj) >> { >> 491: Object::explore(env, testObj); >> 492: fflush(0); > > stdout? fflush(0) flashes all opened streams (including stout and stderr). It's to handle the case when some shared test routines log to stderr. But flash() expects `FILE *`, so I updated all calls to use `nullptr` ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/17580#discussion_r1473693579 PR Review Comment: https://git.openjdk.org/jdk/pull/17580#discussion_r1473695968 PR Review Comment: https://git.openjdk.org/jdk/pull/17580#discussion_r1473696254 PR Review Comment: https://git.openjdk.org/jdk/pull/17580#discussion_r1473696356 PR Review Comment: https://git.openjdk.org/jdk/pull/17580#discussion_r1473698778 PR Review Comment: https://git.openjdk.org/jdk/pull/17580#discussion_r1473701344 PR Review Comment: https://git.openjdk.org/jdk/pull/17580#discussion_r1473701389 PR Review Comment: https://git.openjdk.org/jdk/pull/17580#discussion_r1473701268