306 // stack that has installed its own exception handlers |
306 // stack that has installed its own exception handlers |
307 os::os_exception_wrapper(call_helper, result, method, args, THREAD); |
307 os::os_exception_wrapper(call_helper, result, method, args, THREAD); |
308 } |
308 } |
309 |
309 |
310 void JavaCalls::call_helper(JavaValue* result, const methodHandle& method, JavaCallArguments* args, TRAPS) { |
310 void JavaCalls::call_helper(JavaValue* result, const methodHandle& method, JavaCallArguments* args, TRAPS) { |
311 // During dumping, Java execution environment is not fully initialized. Also, Java execution |
|
312 // may cause undesirable side-effects in the class metadata. |
|
313 assert(!DumpSharedSpaces, "must not execute Java bytecodes when dumping"); |
|
314 |
311 |
315 JavaThread* thread = (JavaThread*)THREAD; |
312 JavaThread* thread = (JavaThread*)THREAD; |
316 assert(thread->is_Java_thread(), "must be called by a java thread"); |
313 assert(thread->is_Java_thread(), "must be called by a java thread"); |
317 assert(method.not_null(), "must have a method to call"); |
314 assert(method.not_null(), "must have a method to call"); |
318 assert(!SafepointSynchronize::is_at_safepoint(), "call to Java code during VM operation"); |
315 assert(!SafepointSynchronize::is_at_safepoint(), "call to Java code during VM operation"); |