1151
1152 LogConfiguration::finalize();
1153 }
1154
1155
1156 jboolean Threads::is_supported_jni_version_including_1_1(jint version) {
1157 if (version == JNI_VERSION_1_1) return JNI_TRUE;
1158 return is_supported_jni_version(version);
1159 }
1160
1161
1162 jboolean Threads::is_supported_jni_version(jint version) {
1163 if (version == JNI_VERSION_1_2) return JNI_TRUE;
1164 if (version == JNI_VERSION_1_4) return JNI_TRUE;
1165 if (version == JNI_VERSION_1_6) return JNI_TRUE;
1166 if (version == JNI_VERSION_1_8) return JNI_TRUE;
1167 if (version == JNI_VERSION_9) return JNI_TRUE;
1168 if (version == JNI_VERSION_10) return JNI_TRUE;
1169 if (version == JNI_VERSION_19) return JNI_TRUE;
1170 if (version == JNI_VERSION_20) return JNI_TRUE;
1171 return JNI_FALSE;
1172 }
1173
1174 void Threads::add(JavaThread* p, bool force_daemon) {
1175 // The threads lock must be owned at this point
1176 assert(Threads_lock->owned_by_self(), "must have threads lock");
1177
1178 BarrierSet::barrier_set()->on_thread_attach(p);
1179
1180 // Once a JavaThread is added to the Threads list, smr_delete() has
1181 // to be used to delete it. Otherwise we can just delete it directly.
1182 p->set_on_thread_list();
1183
1184 _number_of_threads++;
1185 oop threadObj = p->threadObj();
1186 bool daemon = true;
1187 // Bootstrapping problem: threadObj can be null for initial
1188 // JavaThread (or for threads attached via JNI)
1189 if (!force_daemon &&
1190 (threadObj == nullptr || !java_lang_Thread::is_daemon(threadObj))) {
|
1151
1152 LogConfiguration::finalize();
1153 }
1154
1155
1156 jboolean Threads::is_supported_jni_version_including_1_1(jint version) {
1157 if (version == JNI_VERSION_1_1) return JNI_TRUE;
1158 return is_supported_jni_version(version);
1159 }
1160
1161
1162 jboolean Threads::is_supported_jni_version(jint version) {
1163 if (version == JNI_VERSION_1_2) return JNI_TRUE;
1164 if (version == JNI_VERSION_1_4) return JNI_TRUE;
1165 if (version == JNI_VERSION_1_6) return JNI_TRUE;
1166 if (version == JNI_VERSION_1_8) return JNI_TRUE;
1167 if (version == JNI_VERSION_9) return JNI_TRUE;
1168 if (version == JNI_VERSION_10) return JNI_TRUE;
1169 if (version == JNI_VERSION_19) return JNI_TRUE;
1170 if (version == JNI_VERSION_20) return JNI_TRUE;
1171 if (version == JNI_VERSION_21) return JNI_TRUE;
1172 return JNI_FALSE;
1173 }
1174
1175 void Threads::add(JavaThread* p, bool force_daemon) {
1176 // The threads lock must be owned at this point
1177 assert(Threads_lock->owned_by_self(), "must have threads lock");
1178
1179 BarrierSet::barrier_set()->on_thread_attach(p);
1180
1181 // Once a JavaThread is added to the Threads list, smr_delete() has
1182 // to be used to delete it. Otherwise we can just delete it directly.
1183 p->set_on_thread_list();
1184
1185 _number_of_threads++;
1186 oop threadObj = p->threadObj();
1187 bool daemon = true;
1188 // Bootstrapping problem: threadObj can be null for initial
1189 // JavaThread (or for threads attached via JNI)
1190 if (!force_daemon &&
1191 (threadObj == nullptr || !java_lang_Thread::is_daemon(threadObj))) {
|