1308 if (compile_state != NULL && compile_state->jvmti_state_changed()) { |
1308 if (compile_state != NULL && compile_state->jvmti_state_changed()) { |
1309 *failure_detail = (char*) "Jvmti state change during compilation invalidated dependencies"; |
1309 *failure_detail = (char*) "Jvmti state change during compilation invalidated dependencies"; |
1310 return JVMCI::dependencies_failed; |
1310 return JVMCI::dependencies_failed; |
1311 } |
1311 } |
1312 |
1312 |
1313 // Dependencies must be checked when the system dictionary changes |
|
1314 // or if we don't know whether it has changed (i.e., compile_state == NULL). |
|
1315 CompileTask* task = compile_state == NULL ? NULL : compile_state->task(); |
1313 CompileTask* task = compile_state == NULL ? NULL : compile_state->task(); |
1316 Dependencies::DepType result = dependencies->validate_dependencies(task, failure_detail); |
1314 Dependencies::DepType result = dependencies->validate_dependencies(task, failure_detail); |
1317 if (result == Dependencies::end_marker) { |
1315 if (result == Dependencies::end_marker) { |
1318 return JVMCI::ok; |
1316 return JVMCI::ok; |
1319 } |
1317 } |
1320 |
1318 |
1321 if (!Dependencies::is_klass_type(result) || compile_state == NULL) { |
1319 return JVMCI::dependencies_failed; |
1322 return JVMCI::dependencies_failed; |
|
1323 } |
|
1324 // The dependencies were invalid at the time of installation |
|
1325 // without any intervening modification of the system |
|
1326 // dictionary. That means they were invalidly constructed. |
|
1327 return JVMCI::dependencies_invalid; |
|
1328 } |
1320 } |
1329 |
1321 |
1330 // Reports a pending exception and exits the VM. |
1322 // Reports a pending exception and exits the VM. |
1331 static void fatal_exception_in_compile(JVMCIEnv* JVMCIENV, JavaThread* thread, const char* msg) { |
1323 static void fatal_exception_in_compile(JVMCIEnv* JVMCIENV, JavaThread* thread, const char* msg) { |
1332 // Only report a fatal JVMCI compilation exception once |
1324 // Only report a fatal JVMCI compilation exception once |