[Mono-dev] Patch review request -- generic changes to support MIPS conditional exceptions
Paolo Molaro
lupus at ximian.com
Fri Jan 12 09:44:15 EST 2007
On 01/11/07 mason wrote:
> Index: mono/mini/inssel.brg
> ===================================================================
> --- mono/mini/inssel.brg (revision 70746)
> +++ mono/mini/inssel.brg (working copy)
> @@ -278,8 +278,7 @@
> if (! (state->tree->flags & MONO_INST_NORANGECHECK)) { \
> int _length_reg = mono_regstate_next_int (cfg->rs); \
> MONO_EMIT_NEW_LOAD_MEMBASE_OP (cfg, OP_LOADI4_MEMBASE, _length_reg, array_reg, G_STRUCT_OFFSET (array_type, array_length_field)); \
> - MONO_EMIT_NEW_BIALU (cfg, OP_COMPARE, -1, _length_reg, index_reg); \
> - MONO_EMIT_NEW_COND_EXC (cfg, LE_UN, "IndexOutOfRangeException"); \
> + MONO_EMIT_NEW_COMPARE_EXC (cfe, LE_UN, _length_reg, index_reg, "IndexOutOfRangeException"); \
There is a typo here: cfe -> cfg.
> @@ -287,11 +286,31 @@
> if (! (state->tree->flags & MONO_INST_NORANGECHECK)) { \
> int _length_reg = mono_regstate_next_int (cfg->rs); \
> MONO_EMIT_NEW_LOAD_MEMBASE_OP (cfg, OP_LOADI4_MEMBASE, _length_reg, array_reg, G_STRUCT_OFFSET (array_type, array_length_field)); \
> - MONO_EMIT_NEW_BIALU_IMM (cfg, OP_COMPARE_IMM, -1, _length_reg, index_imm); \
> - MONO_EMIT_NEW_COND_EXC (cfg, LE_UN, "IndexOutOfRangeException"); \
> + MONO_EMIT_NEW_COMPARE_IMM_EXC (cfe, LE_UN, _length_reg, index_imm, "IndexOutOfRangeException"); \
Idem.
> +#ifndef MONO_EMIT_NEW_COMPARE_IMM_EXC
> +#define MONO_EMIT_NEW_COMPARE_IMM_EXC(cfg, cmp_op, sreg1, imm, exc) do { \
> + MONO_EMIT_NEW_BIALU_IMM (cfg, OP_COMPARE, -1, sreg1, imm); \
It should be OP_COMPARE_IMM.
So this patch can't go in. Let me know if you want me to test compile a
fixed patch.
lupus
--
-----------------------------------------------------------------
lupus at debian.org debian/rules
lupus at ximian.com Monkeys do it better
More information about the Mono-devel-list
mailing list