--- a/hotspot/src/share/vm/runtime/thread.cpp Wed Jul 05 17:05:07 2017 +0200
+++ b/hotspot/src/share/vm/runtime/thread.cpp Wed Jan 06 22:21:39 2010 -0800
@@ -973,7 +973,7 @@
return;
}
- KlassHandle group(this, SystemDictionary::threadGroup_klass());
+ KlassHandle group(this, SystemDictionary::ThreadGroup_klass());
Handle threadObj(this, this->threadObj());
JavaCalls::call_special(&result,
@@ -1468,7 +1468,7 @@
// so call ThreadGroup.uncaughtException()
KlassHandle recvrKlass(THREAD, threadObj->klass());
CallInfo callinfo;
- KlassHandle thread_klass(THREAD, SystemDictionary::thread_klass());
+ KlassHandle thread_klass(THREAD, SystemDictionary::Thread_klass());
LinkResolver::resolve_virtual_call(callinfo, threadObj, recvrKlass, thread_klass,
vmSymbolHandles::dispatchUncaughtException_name(),
vmSymbolHandles::throwable_void_signature(),
@@ -1484,7 +1484,7 @@
uncaught_exception,
THREAD);
} else {
- KlassHandle thread_group(THREAD, SystemDictionary::threadGroup_klass());
+ KlassHandle thread_group(THREAD, SystemDictionary::ThreadGroup_klass());
JavaValue result(T_VOID);
JavaCalls::call_virtual(&result,
group, thread_group,
@@ -1505,7 +1505,7 @@
while (java_lang_Thread::threadGroup(threadObj()) != NULL && (count-- > 0)) {
EXCEPTION_MARK;
JavaValue result(T_VOID);
- KlassHandle thread_klass(THREAD, SystemDictionary::thread_klass());
+ KlassHandle thread_klass(THREAD, SystemDictionary::Thread_klass());
JavaCalls::call_virtual(&result,
threadObj, thread_klass,
vmSymbolHandles::exit_method_name(),
@@ -1743,7 +1743,7 @@
// Check for pending async. exception
if (_pending_async_exception != NULL) {
// Only overwrite an already pending exception, if it is not a threadDeath.
- if (!has_pending_exception() || !pending_exception()->is_a(SystemDictionary::threaddeath_klass())) {
+ if (!has_pending_exception() || !pending_exception()->is_a(SystemDictionary::ThreadDeath_klass())) {
// We cannot call Exceptions::_throw(...) here because we cannot block
set_pending_exception(_pending_async_exception, __FILE__, __LINE__);
@@ -1852,14 +1852,14 @@
if (is_Compiler_thread()) return;
// This is a change from JDK 1.1, but JDK 1.2 will also do it:
- if (java_throwable->is_a(SystemDictionary::threaddeath_klass())) {
+ if (java_throwable->is_a(SystemDictionary::ThreadDeath_klass())) {
java_lang_Thread::set_stillborn(threadObj());
}
{
// Actually throw the Throwable against the target Thread - however
// only if there is no thread death exception installed already.
- if (_pending_async_exception == NULL || !_pending_async_exception->is_a(SystemDictionary::threaddeath_klass())) {
+ if (_pending_async_exception == NULL || !_pending_async_exception->is_a(SystemDictionary::ThreadDeath_klass())) {
// If the topmost frame is a runtime stub, then we are calling into
// OptoRuntime from compiled code. Some runtime stubs (new, monitor_exit..)
// must deoptimize the caller before continuing, as the compiled exception handler table
@@ -3095,6 +3095,12 @@
warning("java.lang.ArithmeticException has not been initialized");
warning("java.lang.StackOverflowError has not been initialized");
}
+
+ if (EnableInvokeDynamic) {
+ // JSR 292: An intialized java.dyn.InvokeDynamic is required in
+ // the compiler.
+ initialize_class(vmSymbolHandles::java_dyn_InvokeDynamic(), CHECK_0);
+ }
}
// See : bugid 4211085.