equal
deleted
inserted
replaced
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); |