@@ -2178,7 +2178,7 @@ C2V_VMENTRY_NULL(jobjectArray, getDeclaredConstructors, (JNIEnv* env, jobject, A
21782178 GrowableArray<Method*> constructors_array;
21792179 for (int i = 0 ; i < iklass->methods ()->length(); i++) {
21802180 Method* m = iklass->methods ()->at (i);
2181- if (m->is_initializer () && !m-> is_static ()) {
2181+ if (m->is_object_initializer ()) {
21822182 constructors_array.append (m);
21832183 }
21842184 }
@@ -2205,7 +2205,7 @@ C2V_VMENTRY_NULL(jobjectArray, getDeclaredMethods, (JNIEnv* env, jobject, ARGUME
22052205 GrowableArray<Method*> methods_array;
22062206 for (int i = 0 ; i < iklass->methods ()->length(); i++) {
22072207 Method* m = iklass->methods ()->at (i);
2208- if (!m->is_initializer () && !m->is_overpass ()) {
2208+ if (!m->is_object_initializer () && !m-> is_static_initializer () && !m->is_overpass ()) {
22092209 methods_array.append (m);
22102210 }
22112211 }
@@ -2921,12 +2921,11 @@ C2V_VMENTRY_NULL(jobject, asReflectionExecutable, (JNIEnv* env, jobject, ARGUMEN
29212921 requireInHotSpot(" asReflectionExecutable" , JVMCI_CHECK_NULL);
29222922 methodHandle m (THREAD, UNPACK_PAIR(Method, method));
29232923 oop executable;
2924- if (m->is_initializer ()) {
2925- if (m->is_static_initializer ()) {
2926- JVMCI_THROW_MSG_NULL (IllegalArgumentException,
2927- " Cannot create java.lang.reflect.Method for class initializer" );
2928- }
2924+ if (m->is_object_initializer ()) {
29292925 executable = Reflection::new_constructor (m, CHECK_NULL);
2926+ } else if (m->is_static_initializer ()) {
2927+ JVMCI_THROW_MSG_NULL (IllegalArgumentException,
2928+ " Cannot create java.lang.reflect.Method for class initializer" );
29302929 } else {
29312930 executable = Reflection::new_method (m, false , CHECK_NULL);
29322931 }
0 commit comments