143 |
143 |
144 static void initialize_well_known_classes(TRAPS); |
144 static void initialize_well_known_classes(TRAPS); |
145 |
145 |
146 static void metadata_do(void f(Metadata*)); |
146 static void metadata_do(void f(Metadata*)); |
147 |
147 |
148 static void shutdown(); |
148 static void shutdown(TRAPS); |
149 |
149 |
150 static bool shutdown_called() { |
150 static bool shutdown_called() { |
151 return _shutdown_called; |
151 return _shutdown_called; |
152 } |
152 } |
153 |
153 |
154 static bool treat_as_trivial(Method* method); |
154 static bool treat_as_trivial(Method* method); |
155 static void parse_lines(char* path, ParseClosure* closure, bool warnStatFailure); |
155 static void parse_lines(char* path, ParseClosure* closure, bool warnStatFailure); |
156 |
|
157 /** |
|
158 * Aborts the VM due to an unexpected exception. |
|
159 */ |
|
160 static void abort_on_pending_exception(Handle exception, const char* message, bool dump_core = false); |
|
161 |
|
162 /** |
|
163 * Calls Throwable.printStackTrace() on a given exception. |
|
164 */ |
|
165 static void call_printStackTrace(Handle exception, Thread* thread); |
|
166 |
|
167 #define CHECK_ABORT THREAD); \ |
|
168 if (HAS_PENDING_EXCEPTION) { \ |
|
169 char buf[256]; \ |
|
170 jio_snprintf(buf, 256, "Uncaught exception at %s:%d", __FILE__, __LINE__); \ |
|
171 JVMCIRuntime::abort_on_pending_exception(PENDING_EXCEPTION, buf); \ |
|
172 return; \ |
|
173 } \ |
|
174 (void)(0 |
|
175 |
|
176 #define CHECK_ABORT_(result) THREAD); \ |
|
177 if (HAS_PENDING_EXCEPTION) { \ |
|
178 char buf[256]; \ |
|
179 jio_snprintf(buf, 256, "Uncaught exception at %s:%d", __FILE__, __LINE__); \ |
|
180 JVMCIRuntime::abort_on_pending_exception(PENDING_EXCEPTION, buf); \ |
|
181 return result; \ |
|
182 } \ |
|
183 (void)(0 |
|
184 |
156 |
185 static BasicType kindToBasicType(Handle kind, TRAPS); |
157 static BasicType kindToBasicType(Handle kind, TRAPS); |
186 |
158 |
187 // The following routines are all called from compiled JVMCI code |
159 // The following routines are all called from compiled JVMCI code |
188 |
160 |