110 } ExceptionMsgToUtf8Mode; |
109 } ExceptionMsgToUtf8Mode; |
111 // Throw exceptions: w/o message, w/ message & with formatted message. |
110 // Throw exceptions: w/o message, w/ message & with formatted message. |
112 static void _throw_oop(Thread* thread, const char* file, int line, oop exception); |
111 static void _throw_oop(Thread* thread, const char* file, int line, oop exception); |
113 static void _throw(Thread* thread, const char* file, int line, Handle exception, const char* msg = NULL); |
112 static void _throw(Thread* thread, const char* file, int line, Handle exception, const char* msg = NULL); |
114 static void _throw_msg(Thread* thread, const char* file, int line, |
113 static void _throw_msg(Thread* thread, const char* file, int line, |
115 symbolHandle name, const char* message, Handle loader, |
114 Symbol* name, const char* message, Handle loader, |
116 Handle protection_domain); |
115 Handle protection_domain); |
117 static void _throw_msg(Thread* thread, const char* file, int line, |
116 static void _throw_msg(Thread* thread, const char* file, int line, |
118 symbolOop name, const char* message); |
117 Symbol* name, const char* message); |
119 static void _throw_msg(Thread* thread, const char* file, int line, |
|
120 symbolHandle name, const char* message); |
|
121 static void _throw_args(Thread* thread, const char* file, int line, |
118 static void _throw_args(Thread* thread, const char* file, int line, |
122 symbolHandle name, symbolHandle signature, |
119 Symbol* name, Symbol* signature, |
123 JavaCallArguments* args); |
120 JavaCallArguments* args); |
124 static void _throw_msg_cause(Thread* thread, const char* file, |
121 static void _throw_msg_cause(Thread* thread, const char* file, |
125 int line, symbolHandle h_name, const char* message, |
122 int line, Symbol* h_name, const char* message, |
126 Handle h_cause, Handle h_loader, Handle h_protection_domain); |
123 Handle h_cause, Handle h_loader, Handle h_protection_domain); |
127 static void _throw_msg_cause(Thread* thread, const char* file, int line, |
124 static void _throw_msg_cause(Thread* thread, const char* file, int line, |
128 symbolHandle name, const char* message, Handle cause); |
125 Symbol* name, const char* message, Handle cause); |
129 |
126 |
130 // There is no THROW... macro for this method. Caller should remember |
127 // There is no THROW... macro for this method. Caller should remember |
131 // to do a return after calling it. |
128 // to do a return after calling it. |
132 static void fthrow(Thread* thread, const char* file, int line, symbolHandle name, |
129 static void fthrow(Thread* thread, const char* file, int line, Symbol* name, |
133 const char* format, ...); |
130 const char* format, ...); |
134 |
131 |
135 // Create and initialize a new exception |
132 // Create and initialize a new exception |
136 static Handle new_exception(Thread* thread, symbolHandle name, |
133 static Handle new_exception(Thread* thread, Symbol* name, |
137 symbolHandle signature, JavaCallArguments* args, |
134 Symbol* signature, JavaCallArguments* args, |
138 Handle cause, Handle loader, |
135 Handle cause, Handle loader, |
139 Handle protection_domain); |
136 Handle protection_domain); |
140 |
137 |
141 static Handle new_exception(Thread* thread, symbolHandle name, |
138 static Handle new_exception(Thread* thread, Symbol* name, |
142 const char* message, Handle cause, Handle loader, |
139 const char* message, Handle cause, Handle loader, |
143 Handle protection_domain, |
140 Handle protection_domain, |
144 ExceptionMsgToUtf8Mode to_utf8_safe = safe_to_utf8); |
141 ExceptionMsgToUtf8Mode to_utf8_safe = safe_to_utf8); |
145 |
142 |
146 static Handle new_exception(Thread* thread, symbolOop name, |
143 static Handle new_exception(Thread* thread, Symbol* name, |
147 const char* message, |
144 const char* message, |
148 ExceptionMsgToUtf8Mode to_utf8_safe = safe_to_utf8); |
145 ExceptionMsgToUtf8Mode to_utf8_safe = safe_to_utf8); |
149 |
146 |
150 static void throw_stack_overflow_exception(Thread* thread, const char* file, int line); |
147 static void throw_stack_overflow_exception(Thread* thread, const char* file, int line); |
151 |
148 |