X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fmini-s390x.c;h=e593e3b350102a00c7a020e36042b5fbdce771ed;hb=6bf65f009aaf2ec1e7657c24a3a7d33797380d19;hp=a4a7776094c57ab7ee2372e50f8da6d51f4e4d2b;hpb=1ad39faaa0022f44e6409dac11a087197791eb3d;p=mono.git diff --git a/mono/mini/mini-s390x.c b/mono/mini/mini-s390x.c index a4a7776094c..e593e3b3501 100644 --- a/mono/mini/mini-s390x.c +++ b/mono/mini/mini-s390x.c @@ -2547,10 +2547,12 @@ mono_arch_emit_outarg_vt (MonoCompile *cfg, MonoInst *ins, MonoInst *src) mono_call_inst_add_outarg_reg (cfg, call, dreg, ainfo->reg, TRUE); } else { + MonoError error; MonoMethodHeader *header; int srcReg; - header = mono_method_get_header (cfg->method); + header = mono_method_get_header_checked (cfg->method, &error); + mono_error_assert_ok (&error); /* FIXME don't swallow the error */ if ((cfg->flags & MONO_CFG_HAS_ALLOCA) || header->num_clauses) srcReg = s390_r11; else @@ -4602,7 +4604,7 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb) s390_tcdb (code, ins->sreg1, 0, s390_r13, 0); s390_jz (code, 0); CODEPTR(code, o); mono_add_patch_info (cfg, code - cfg->native_code, - MONO_PATCH_INFO_EXC, "ArithmeticException"); + MONO_PATCH_INFO_EXC, "OverflowException"); s390_brasl (code, s390_r14,0); PTRSLOT(code, o); } @@ -6077,10 +6079,9 @@ mono_arch_emit_exceptions (MonoCompile *cfg) /*-----------------------------------------------------*/ s390_patch_rel (ip + 2, (guint64) S390_RELATIVE(code,ip)); - exc_class = mono_class_from_name (mono_defaults.corlib, + exc_class = mono_class_load_from_name (mono_defaults.corlib, "System", patch_info->data.name); - g_assert (exc_class); throw_ip = patch_info->ip.i; for (iExc = 0; iExc < nThrows; ++iExc)