+2008-12-08 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * basic-simd.cs: Fix method names for Vector2l.
+
+2008-12-08 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * basic-simd.cs: Fix method names for Vector2d.
+
+2008-12-08 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * simd-intrinsics.c (mono_emit_simd_intrinsics): Add support for intrinsics
+ that are extension methods.
+
+2008-12-08 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * basic-simd.cs: Fix method names for Vector4f.
+
+2008-12-08 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-exceptions.c (mono_print_thread_dump): Mark threadpool threads
+ as such. Fixes #456669.
+
+2008-12-07 Mark Mason <mmason@upwardaccess.com>
+
+ * mini-mips.c (mono_arch_emit_call): narrow float arguments when passing as args.
+
+2008-12-07 Mark Mason <mmason@upwardaccess.com>
+
+ * mini-mips.c (mono_arch_lowering_pass): don't handle OP_ICONV_TO_R* or OP_R*CONST
+ (mono_arch_emit_setret): use OP_MIPS_CVTSD to return SP floats
+ (mono_arch_output_basic_block): simplify FP load/store, handle OP_MIPS_FBLT_UN
+ (mips_adjust_stackframe): handle FP spills
+
+ * mini-ops.h: add mips_mtc1_s2
+
+ * cpu-mips.md: add mips_mtc1_s2
+
+2008-12-07 Zoltan Varga <vargaz@gmail.com>
+
+ * unwind.c: New file, move the unwind info encoding functions here from
+ aot-compiler.c, so they could be used at runtime too.
+
+2008-12-05 Mark Mason <mmason@upwardaccess.com>
+
+ * mini-mips.c (mono_arch_lowering_pass): handle OP_IMUL_IMM as well
+ (mono_arch_output_basic_block): fix OP_LOCALLOC code generation
+
+2008-12-05 Mark Mason <mmason@upwardaccess.com>
+
+ * mini-mips.c: cleanup warnings
+ (mono_arch_lowering_pass): handle OP_LOCALLOC_IMM
+ (mips_adjust_stackframe): handle case of taking the address of stack locals
+
+2008-12-05 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c: Implement a few functions missing from the asm writer.
+ (emit_method_code): Only write symbols for methods when using the bin
+ writer, since the assembler can't deal with the characters in our method
+ names.
+
+ * aot-compiler.c (is_plt_patch): ICALL_ADDR is also a plt patch.
+
+ * method-to-ir.c (mono_method_to_ir): Transform aotconst+calli into a direct
+ call.
+
+ * tramp-amd64.c (mono_arch_create_trampoline_code_full): Rework the code
+ a bit to also restore %rax.
+
+2008-12-05 Mark Probst <mark.probst@gmail.com>
+
+ * mini-ppc.c: Some simple merges from mini-ppc64.c.
+
+2008-12-05 Zoltan Varga <vargaz@gmail.com>
+
+ * ssa.c (mono_ssa_compute): Only add an implicit reference at start for
+ arguments.
+
+2008-12-05 Mark Probst <mark.probst@gmail.com>
+
+ * exceptions-ppc.c: Merged with exceptions-ppc64.c.
+
+ * mini-ppc.c, mini-ppc.h: Remove PPC_STACK_ALIGNMENT and use
+ MONO_ARCH_FRAME_ALIGNMENT. Struct for PPC64 function descriptors.
+
+ * exceptions-ppc64.c: Removed.
+
+ * Makefile.am: Use exceptions-ppc.c instead of exceptions-ppc64.c.
+
+2008-12-05 Mark Probst <mark.probst@gmail.com>
+
+ * tramp-ppc.c, mini-ppc.c, mini-ppc.h: Merged tramp-ppc.c with
+ tramp-ppc64.c.
+
+ * Makefile.am: Use tramp-ppc.c instead of tramp-ppc64.c.
+
+ * tramp-ppc64.c: Removed.
+
+2008-12-05 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c (add_generic_instances): Skip non-generic classes in
+ the TYPESPEC table.
+
+2008-12-05 Mark Probst <mark.probst@gmail.com>
+
+ * mini-ppc.h: Merged mini-ppc64.h with mini-ppc.h.
+
+ * exceptions-ppc64.c, tramp-ppc64.c, mini-arch.h, Makefile.am: Use
+ mini-ppc.h instead of mini-ppc64.h.
+
+ * mini-ppc64.h: Removed.
+
+2008-12-04 Mark Mason <mmason@upwardaccess.com>
+
+ * mini-mips.c: introduce USE_LDC_SDC: use ldc1/sdc1 to load/store doubles, disabled by default
+
+ * mini-mips.c (mono_arch_emit_outarg_vt): fix offset calculation for memcpy in structure passing.
+
+2008-12-05 Mark Probst <mark.probst@gmail.com>
+
+ * mini-ppc64.c, mini-ppc64.h, exceptions-ppc64.c, tramp-ppc64.c:
+ Removed FIRST/LAST_[GF]REG macros, to make merging PPC64 with PPC
+ code easier.
+
+2008-12-05 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * basic-simd.cs: Tests for operator == and != on Vector8us and Vector16b.
+
+2008-12-05 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * simd-intrinsics.c: Add support for operator == and != to Vector8(u)s and Vector16(s)b.
+
+2008-12-05 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * basic-simd.cs: Tests for operator == and != on Vector4f.
+
+2008-12-05 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * simd-intrinsics.c (simd_intrinsic_emit_equality): Adapt to support Vector4f.
+
+ * simd-intrinsics.c: Kill useless enum.
+
+2008-12-04 Mark Mason <mmason@upwardaccess.com>
+
+ * cpu-mips.md: add long_conv_to_ovf_i4_2
+ * mini-mips.c: update/add various _OVF_ opcodes to fix test failures
+
+2008-12-04 Mark Mason <mmason@upwardaccess.com>
+
+ * mini-mips.c: ifdef protect automatic promotions of R4 to R8.
+
+ * mini-mips.c (mono_arch_emit_setret): handle R4 case with FCONV_TO_R4 instead of FMOVE
+
+2008-12-04 Mark Mason <mmason@upwardaccess.com>
+
+ * mini-mips.c (mono_arch_output_basic_block): fix codegen for OP_OR_IMM/OP_IOR_IMM
+
+2008-12-04 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * basic-simd.cs: Add tests for new methods.
+
+2008-12-04 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * simd-intrinsics.c: Add support for operator == and !=
+ on Vector4(u)i.
+
+ * simd-methods.h: Add SN_op_Inequality and SN_op_Equality.
+
+2008-12-04 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * simd-intrinsics.c: Remove ExtractByteMask intrinsics.
+
+2008-12-04 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c (add_wrappers): Add pinvoke wrappers.
+
+ * mini.c (mono_resolve_patch_target): Allow pinvoke methods in
+ MONO_PATCH_INFO_ICALL_ADDR.
+
+ * aot-runtime.c (MonoAotFileInfo): Correct order of fields.
+
+ * aot-compiler.c: Resurrect full-aot support.
+
+2008-12-04 Mark Mason <mmason@upwardaccess.com>
+
+ * mini-mips.c (mono_arch_lowering_pass): handle OP_COMPARE and OP_ICOMPARE
+
+2008-12-04 Mark Mason <mmason@upwardaccess.com>
+
+ * mini-mips.c (mono_arch_output_basic_block): fix OP_IREM_UN code generation
+
+2008-12-03 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * basic-simd.cs: Fix tests to work under ppc.
+ Remove tests for methods that will be removed.
+
+2008-12-03 Mark Probst <mark.probst@gmail.com>
+
+ * method-to-ir.c (mono_method_to_ir): Handle ldtoken of an open
+ generic type (via a typedef or typeref) correctly.
+
+2008-12-03 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-trampolines.c (mono_magic_trampoline): Add some debugging code to help
+ diagnose an assertion failure.
+
+2008-12-02 Mark Probst <mark.probst@gmail.com>
+
+ * tramp-ppc64.c (mono_arch_create_rgctx_lazy_fetch_trampoline):
+ Fix trampoline size.
+
+ * mini-ppc64.c, mini-ppc64.h, cpu-ppc64.md: A few floating point
+ conversion opcodes are implemented natively instead via emulation.
+
+2008-12-01 Mark Mason <mmason@upwardaccess.com>
+
+ * cpu-mips.md: remove mips_xori
+
+ * mini-ops.h: remove mips_xori
+
+ * mini-mips.h: replace OP_MIPS_XORI with OP_IXOR
+
+ * mini-mips.c (mono_arch_decompose_long_opts): Add ladd_imm, lsub, lsub_imm, lneg, lsub_ovf, lsub_ovf_un.
+
+ * mini-mips.c (mono_arch_lowering_pass, mono_arch_output_basic_block): fix IXOR handling
+
+2008-12-01 Mark Mason <mmason@upwardaccess.com>
+
+ * cpu-mips.md: fix instruction lengths.
+
+ * mini-mips.h: define MONO_ARCH_NO_IOV_CHECK
+
+ * mini-mips.c: move most instruction rewriting into decompose_ops. Implement conditional branches and exceptions. Fix jump table patch handling. Implement add/sub OVF.
+
+ * mini-ops.h: fix slti / sltiu op profiles.
+
+2008-12-02 Martin Baulig <martin@ximian.com>
+
+ * method-to-ir.c (mono_method_to_ir): Disable debugging
+ information for the init locals block to make the debugger stop
+ after all locals have been initalized.
+
+2008-12-02 Martin Baulig <martin@ximian.com>
+
+ * mini.c (mini_method_compile): Disable MONO_OPT_DEADCE when
+ running inside the debugger.
+
+2008-12-01 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c (mini_method_compile): Only run local deadce if MONO_OPT_DEADCE
+ is enabled.
+
+ * method-to-ir.c (mono_method_to_ir): Fix invalid code generated by the
+ alu->alu imm optimization which only shows if deadce is disabled.
+
+ * aot-compiler.c: Rename the function names for the binary and asm writers
+ so they can coexist in the same process. Rework the xdebug code to use the
+ asm writer. This avoids the need to call into the runtime to dump the
+ debugging info. Add more debugging info for types.
+
+ * mini-<ARCH>.h: Kill MONO_ARCH_HAVE_NORMALIZE_OPCODES define.
+
+ * genmdesc.c genmdesc.pl mini.h: Don't put the CEE_ opcodes into the
+ cpu description tables, they can't occur in cpu-<ARCH>.md.
+
+ * method-to-ir.c (mono_method_to_ir): Set the type of the value pushed on
+ the stack in CEE_LDFLDA. Fixes #450542.
+
+ * generics.cs: Add a new test.
+
+2008-12-01 Mark Mason <mmason@upwardaccess.com>
+
+ * mini-ops.h: updated MIPS opcodes
+ * mini-mips.c: decompose long opts
+ * mini-mips.h: decompose long opts
+
+2008-11-29 Mark Mason <mmason@upwardaccess.com>
+
+ * cpu-mips.md: fix length on int_rem_un
+ * mini-mips.c (mips_stackframe_adjust): fix insertion of spillvars region in MIPS stackframes.
+
+2008-11-29 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.h aot-runtime.c: Fix building with DISABLE_AOT.
+
+ * mini-codegen.c (mono_print_ins_index): Handle OP_VOIDCALL_MEMBASE.
+
+2008-11-29 Martin Baulig <martin@ximian.com>
+
+ * mini-exceptions.c (mono_handle_native_sigsegv): Check
+ mono_debug_using_mono_debugger() in addition to the
+ `no_gdb_backtrace' flag in the `MonoDebugOptions'.
+
+2008-11-28 Mark Mason <mmason@upwardaccess.com>
+
+ * mini-ops.h: updated more MIPS opcodes
+ * mini-mips.c: FP compare/branch working again, clean up last of CEE_ -> OP_ mappings
+ * cpu-mips.md: Added MIPS versions of new FP compare/branch opcodes.
+
+2008-11-28 Mark Probst <mark.probst@gmail.com>
+
+ * mini-ppc64.c: Patch the RGCTX fetch trampoline correctly.
+
+2008-11-28 Mark Mason <mmason@upwardaccess.com>
+
+ * mini-mips.c (mono_arch_emit_call): adding missing conversion to fp single when passing in integer arg register.
+ * mini-mips.c (mips_adjust_stackframe): compensate for spill-down logic.
+ * mini-ops.h: correct selected mips opcode entries
+
+2008-11-28 Mark Probst <mark.probst@gmail.com>
+
+ * mini-ppc64.c, mini-ppc64.h: Enable generalized IMT thunks and
+ make them work.
+
+2008-11-28 Mark Probst <mark.probst@gmail.com>
+
+ * mini-ppc64.h, tramp-ppc64.c: Make generic code sharing work.
+
+2008-11-28 Mark Mason <mmason@upwardaccess.com>
+
+ * method-to-ir.c, mini-trampolines.c: protect IMG code with #ifdef MONO_ARCH_HAVE_IMT to fix compile errors.
+ * mini-mips.c: Fixup stackframe assignments after allocation of spillvars.
+ * mini-mips.h: disable IMT
+ * tramp-mips.c (mono_arch_get_vcall_slot): fix offset extraction
+
+2008-11-28 Mark Probst <mark.probst@gmail.com>
+
+ * mini-ppc64.c, mini-ppc64.h: Don't emulate long ops.
+
+2008-11-28 Mark Probst <mark.probst@gmail.com>
+
+ * mini-ppc64.c, exceptions-ppc64.c: Several fixes.
+
+2008-11-28 Zoltan Varga <vargaz@gmail.com>
+
+ * method-to-ir.c (handle_isinst): Use PCONST instead of ICONST for
+ consistency.
+
+2008-11-27 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * simd-intrinsics.c (emit_array_extension_intrinsics): Add support
+ for Set/GetVector aligned versions.
+
+2008-11-27 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * basic-simd.cs: Add tests for Get/SetVector.
+
+2008-11-27 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c: Removed g_slist_append_mempool(). Now in
+ metadata/mempool.c.
+
+2008-11-27 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * simd-intrinsics.c (mono_emit_vector_ldelema): Extract the element
+ size properly and make the bounds check optional.
+
+ * simd-intrinsics.c (emit_array_extension_intrinsics): Add support
+ for SetVector and IsAligned.
+
+2008-11-27 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c: Remove unused mono_normalize_opcodes () function.
+
+2008-11-26 Mark Probst <mark.probst@gmail.com>
+
+ * method-to-ir.c (mini_emit_inst_for_method): Small fix: we're
+ using the new atomic add ops now.
+
+ * mini-ppc64.c, mini-ppc64.h, cpu-ppc64.md: Implemented atomic
+ add.
+
+2008-11-26 Mark Probst <mark.probst@gmail.com>
+
+ * mini-ppc64.c: Several fixes.
+
+2008-11-25 Mark Mason <mmason@upwardaccess.com>
+
+ * cpu-mips.md: added jump_table
+ * mini-mips.c: added jump_table. Eliminate compare-imm when lowering. Remove dead function.
+
+2008-11-25 Mark Mason <mmason@upwardaccess.com>
+
+ * mini-mips.c, mini-mips.h, tramp-mips.c, cpu-mips.md: Initial upgrade of MIPS port to new IR.
+
+2008-11-25 Mark Mason <mmason@upwardaccess.com>
+
+ * mini-ops.h: corrected a handful of MIPS opcodes.
+
+2008-11-25 Mark Mason <mmason@upwardaccess.com>
+
+ * aot-compiler.c: MIPS to use ELF writer
+
+2008-11-25 Mark Mason <mmason@upwardaccess.com>
+
+ * mini-codegen.c: remove MIPS specific assert.
+
+2008-11-25 Mark Probst <mark.probst@gmail.com>
+
+ * mini-ppc64.c, mini-ppc64.h, tramp-ppc64.c, cpu-ppc64.md: Several
+ fixes. PPC64 now passes most of the runtime regressions.
+
+2008-11-24 Zoltan Varga <vargaz@gmail.com>
+
+ * regalloc2.c: Distinguish between use/def positions. Optimize the creation of
+ volatile intervals a bit.
+
+2008-11-24 Mark Probst <mark.probst@gmail.com>
+
+ * basic-long.cs: New test case.
+
+2008-11-23 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c (mini_method_compile): Disable globalra for large methods for
+ now.
+
+ * regalloc2.c (order_moves): Add fp support.
+
+ * branch-opts.c (mono_remove_critical_edges): Split non-critical edges whose
+ source bblock ends with an OP_BR_REG.
+
+ * ratests.cs: Add a new test.
+
+2008-11-23 Mark Probst <mark.probst@gmail.com>
+
+ * mini-ppc64.c, mini-ppc64.h, tramp-ppc64.c: Disable generic code
+ sharing. PPC64 now passes generics.exe.
+
+2008-11-23 Mark Probst <mark.probst@gmail.com>
+
+ * mini-ppc64.c: Several fixes. PPC64 now runs iltests.exe.
+
+2008-11-23 Zoltan Varga <vargaz@gmail.com>
+
+ * exceptions-x86.c (mono_arch_find_jit_info): Avoid reading uninitialized
+ memory when mono_jit_info_table_find () can't find the method in the
+ LMF case.
+
+ * aot-compiler.c (mono_save_xdebug_info): Emit complete debug info for
+ AOTed code too.
+
+ * aot-compiler.c (mono_save_xdebug_info): Make this work with the assembly
+ writer too.
+
+2008-11-23 Mark Probst <mark.probst@gmail.com>
+
+ * mini-ppc64.c, mini-ppc64.h, exceptions-ppc64.c, cpu-ppc64.md:
+ Several fixes. PPC64 now runs exceptions.exe and
+ devirtualization.exe.
+
+2008-11-22 Mark Probst <mark.probst@gmail.com>
+
+ * mini-ppc64.c, tramp-ppc64.c: Small fixes. PPC64 now runs
+ arrays.exe and basic-math.exe.
+
+2008-11-22 Mark Probst <mark.probst@gmail.com>
+
+ * mini-ppc64.c, mini-ppc64.h, exceptions-ppc64.c, tramp-ppc64.c,
+ cpu-ppc64.md: Several fixes. PPC64 now runs objects.exe.
+
+2008-11-21 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * simd-intrinsics.c: Add support ArrayExtension intrinsics.
+
+2008-11-21 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * method-to-ir.c: Move bounds checking macros to ir-emit.h
+
+ * ir-emit.h: Move macros from method-to-ir.c to here.
+
+2008-11-21 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * mini-ops.h: Correct the long simd ops to use LREG.
+
2008-11-21 Zoltan Varga <vargaz@gmail.com>
* mini-ops.h: Correct the dreg type of OP_LOADI8_MEMBASE.