static void m2n_free_local_handles() { assert(!hythread_is_suspend_enabled()); if (exn_raised()) { exn_rethrow(); } M2nFrame * m2n = m2n_get_last_frame(); free_local_object_handles3(m2n->local_object_handles); }
void exn_throw_by_name_internal(const char* exc_name, const char* exc_message, jthrowable exc_cause) { BEGIN_RAISE_AREA; // functions can be invoked in suspend disabled and enabled state if (!hythread_is_suspend_enabled()) { // exception is throwing, so suspend can be enabled safely tmn_suspend_enable(); } assert(hythread_is_suspend_enabled()); Class *exc_class = get_exc_class(exc_name); if (exc_class == NULL) { assert(exn_raised()); exn_rethrow(); return; // unreachable code } exn_throw_by_class_internal(exc_class, exc_message, exc_cause); END_RAISE_AREA; }
void exn_rethrow_if_pending() { if (exn_raised()) { exn_rethrow(); } } //exn_rethrow_if_pending