hotspot/src/share/vm/utilities/exceptions.cpp
changeset 4571 80b553bddc26
parent 4014 b59b8c387950
child 5403 6b0dd9c75dde
equal deleted inserted replaced
4569:f372ea9e5ed4 4571:80b553bddc26
   120   NOT_PRODUCT(Exceptions::debug_check_abort(h_exception));
   120   NOT_PRODUCT(Exceptions::debug_check_abort(h_exception));
   121 
   121 
   122   // Check for special boot-strapping/vm-thread handling
   122   // Check for special boot-strapping/vm-thread handling
   123   if (special_exception(thread, file, line, h_exception)) return;
   123   if (special_exception(thread, file, line, h_exception)) return;
   124 
   124 
   125   assert(h_exception->is_a(SystemDictionary::throwable_klass()), "exception is not a subclass of java/lang/Throwable");
   125   assert(h_exception->is_a(SystemDictionary::Throwable_klass()), "exception is not a subclass of java/lang/Throwable");
   126 
   126 
   127   // set the pending exception
   127   // set the pending exception
   128   thread->set_pending_exception(h_exception(), file, line);
   128   thread->set_pending_exception(h_exception(), file, line);
   129 
   129 
   130   // vm log
   130   // vm log
   253       }
   253       }
   254     }
   254     }
   255 
   255 
   256     // Future: object initializer should take a cause argument
   256     // Future: object initializer should take a cause argument
   257     if (h_cause() != NULL) {
   257     if (h_cause() != NULL) {
   258       assert(h_cause->is_a(SystemDictionary::throwable_klass()),
   258       assert(h_cause->is_a(SystemDictionary::Throwable_klass()),
   259           "exception cause is not a subclass of java/lang/Throwable");
   259           "exception cause is not a subclass of java/lang/Throwable");
   260       JavaValue result1(T_OBJECT);
   260       JavaValue result1(T_OBJECT);
   261       JavaCallArguments args1;
   261       JavaCallArguments args1;
   262       args1.set_receiver(h_exception);
   262       args1.set_receiver(h_exception);
   263       args1.push_oop(h_cause);
   263       args1.push_oop(h_cause);