hotspot/src/share/vm/utilities/exceptions.cpp
changeset 46329 53ccc37bda19
parent 46271 979ebd346ecf
child 46701 f559541c0daa
equal deleted inserted replaced
46328:6061df52d610 46329:53ccc37bda19
   263   assert(!thread->has_pending_exception(), "already has exception");
   263   assert(!thread->has_pending_exception(), "already has exception");
   264 
   264 
   265   Handle h_exception;
   265   Handle h_exception;
   266 
   266 
   267   // Resolve exception klass
   267   // Resolve exception klass
   268   Klass* ik = SystemDictionary::resolve_or_fail(name, h_loader, h_protection_domain, true, thread);
   268   InstanceKlass* klass = InstanceKlass::cast(SystemDictionary::resolve_or_fail(name, h_loader, h_protection_domain, true, thread));
   269   instanceKlassHandle klass(thread, ik);
       
   270 
   269 
   271   if (!thread->has_pending_exception()) {
   270   if (!thread->has_pending_exception()) {
   272     assert(klass.not_null(), "klass must exist");
   271     assert(klass != NULL, "klass must exist");
   273     // We are about to create an instance - so make sure that klass is initialized
   272     // We are about to create an instance - so make sure that klass is initialized
   274     klass->initialize(thread);
   273     klass->initialize(thread);
   275     if (!thread->has_pending_exception()) {
   274     if (!thread->has_pending_exception()) {
   276       // Allocate new exception
   275       // Allocate new exception
   277       h_exception = klass->allocate_instance_handle(thread);
   276       h_exception = klass->allocate_instance_handle(thread);