int32_t emulate_irem(int32_t value1, int32_t value2) { if (value2 == 0) { signal_new_exception(vm_java_lang_ArithmeticException, "division by zero"); return 0; } return value1 % value2; }
long long emulate_lrem(long long value1, long long value2) { if (value2 == 0) { signal_new_exception(vm_java_lang_ArithmeticException, "division by zero"); return 0; } return value1 % value2; }
static unsigned long throw_null_pointer_exception(unsigned long src_addr) { signal_new_exception(vm_java_lang_NullPointerException, NULL); return throw_from_signal_bh(src_addr); }
static unsigned long throw_arithmetic_exception(unsigned long src_addr) { signal_new_exception(vm_java_lang_ArithmeticException, "division by zero"); return throw_from_signal_bh(src_addr); }