+2009-01-20 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * mini-exceptions.c (mono_print_thread_dump): Add information
+ about the thread state using wapi_current_thread_desc.
+
+2009-01-19 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * basic-simd.cs: Tests for the new constructors.
+
+2009-01-19 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * mini-ops.h: Added OP_EXPAND_*
+
+ * cpu-x86.md: Same.
+
+ * mini-x86.c (mono_arch_output_basic_block): Same.
+
+ * simd-intrinsics.c (simd_intrinsic_emit_setter): Add support for single element constructors.
+
+2009-01-19 Zoltan Varga <vargaz@gmail.com>
+
+ * iltests.il.in: Add a test for #467385.
+
+2009-01-18 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * mini.c (mini_thread_cleanup): Don't cleanup TLS storage if the
+ thread been cleaned up is not the same currently in execution.
+
+ Fixes appdomain-unload crashes on windows, osx and linux variants
+ without the __thread keyword.
+
+2009-01-18 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-arm.c (mono_arch_flush_icache): Applied patch from Koushik Dutta
+ (koush@koushikdutta.com). Implement this for android.
+
+ * helpers.c (mono_disassemble_code): Avoid assembler errors if the id
+ begins with a digit.
+
+ * method-to-ir.c: Call mono_gc_get_write_barrier () instead of
+ mono_marshal_get_write_barrier ().
+
+2009-01-17 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * decompose.c (mono_decompose_vtype_opts): Fix the decomposition
+ of OP_VCALL_* ops for 8 bytes vtypes on 32 bits archs and platorms
+ that pass them on a register pair.
+
+ This affects windows, OSX and FreeBSD. The mono/tests/handleref.exe
+ test was crashing due to that.
+
+Fri Jan 16 15:21:21 CET 2009 Paolo Molaro <lupus@ximian.com>
+
+ * exceptions-ppc.c: tweaks from malc (OV-Soft) to fix the size of the
+ trampoline code. Include ucontext.h only if available.
+
+2009-01-15 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c: mono_domain_lookup_shared_generic() takes an open method
+ and doesn't check whether it's sharable, like it was before
+ removing the shared generics hash. This brings IronPython
+ performance back to what it was before that change.
+
+2009-01-14 Mark Probst <mark.probst@gmail.com>
+
+ * method-to-ir.c: Handle delegate invocation optimization earlier,
+ otherwise it would be handled (much more slowly) by the
+ final/sealed optimization.
+
+2009-01-13 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c (SIG_HANDLER_SIGNATURE): Avoid crashes when the current thread or
+ domain is not set. Fixes #465864.
+
+2009-01-12 Mark Probst <mark.probst@gmail.com>
+
+ * method-to-ir.c: Don't stop sharing of generic methods with catch
+ clauses - we already handle those.
+
+2009-01-12 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c, mini.h: lookup_generic_method() is now
+ mono_domain_lookup_shared_generic() and uses the jit_code_hash,
+ making the shared_generics_hash obsolete.
+
+2009-01-12 Mark Probst <mark.probst@gmail.com>
+
+ * mini-ppc.c, exceptions-ppc.c, cpu-ppc.md, cpu-ppc64.md: Don't
+ use the red zone. Make room on the stack first and then use it,
+ not the other way around.
+
+2009-01-12 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c (mini_init): Call mono_xdebug_init ().
+
+ * aot-compiler.c (mono_xdebug_init): Make this non-static.
+
+2009-01-11 Zoltan Varga <vargaz@gmail.com>
+
+ * TestDriver.cs: Add an --iter argument to run tests multiple times.
+
+ * tramp-amd64.c (mono_arch_create_trampoline_code_full): Emit debug info for
+ trampolines.
+
+ * aot-compiler.c (mono_save_trampoline_xdebug_info): New function to emit
+ debug+unwind info for trampolines.
+
+ * mini.c (mono_create_unwind_op): New helper function.
+
+ * unwind.h: Add macros for emitting unwind ops without a MonoCompile.
+
+2009-01-10 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c: Fix the build.
+
+2009-01-09 Zoltan Varga <vargaz@gmail.com>
+
+ * Makefile.am: Update dtrace-prelink.sh location.
+
+2009-01-08 Zoltan Varga <vargaz@gmail.com>
+
+ * method-to-ir.c (mono_method_to_ir): Fix the check for the mscorlib ldstr
+ optimization. Fixes #464520.
+
+2009-01-07 Bill Holmes <billholmes54@gmail.com>
+
+ * mini-amd64.c : Adding code to save/restore non-volatile registers
+ on Winx64.
+
+ * exceptions-amd64.c : Adding code to save/restore non-volatile
+ registers on Winx64.
+
+ Contributed under MIT/X11 license.
+
+2009-01-07 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-arm.c (mono_arch_flush_icache): Use __GNUC_PREREQ instead of checking
+ __GNUC_MINOR__ which can break when the major version changes.
+
+2009-01-07 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * basic-simd.cs: Add tests for usage of the sizeof opcode.
+
+2009-01-07 Geoff Norton <gnorton@novell.com>
+
+ * helpers.c: Allow mono -v -v -v to work on darwin.
+
+2009-01-05 Bill Holmes <billholmes54@gmail.com>
+
+ * mini-amd64.c (mono_arch_get_vcall_slot) : Handle an additional instruction
+ pattern.
+
+ Contributed under MIT/X11 license.
+
+2009-01-05 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c (mono_allocate_stack_slots_full2): Use mono_class_from_mono_type
+ instead of directly accessing type->data.klass. Fixes #462016.
+ (mono_allocate_stack_slots_full): Ditto.
+
+ * mini-arm.c (mono_arch_flush_icache): Applied patch from Riku Voipio
+ <novell@kos.to>. Fix cache flush on kernels without OLDABI compat option.
+
+ * aot-compiler.c (emit_plt): Fix ARM build.
+
+2009-01-04 Zoltan Varga <vargaz@gmail.com>
+
+ * branch-opts.c (mono_if_conversion): Optimize this using ins->prev.
+
+ * branch-opts.c (mono_if_conversion): Fix an assert introduced by the last
+ change.
+
+ * branch-opts.c (mono_if_conversion): Use branch->inst_true_bb/inst_false_bb
+ instead of bblock->out_bb [0]/[1], the two might not be the same. Fixes
+ #463357.
+
+ * iltests.il.in: Add a regression test.
+
+2009-01-04 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * mini-codegen.c (mono_print_ins_index): Pretty print XPHI and VPHI.
+
+2009-01-04 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * basic-simd.cs: Add a regression test for #462457.
+
+2009-01-04 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * mini-ops.h: Add a definition of XPHI.
+
+ * mini.h (MONO_IS_PHI): Make is aware of simd instrincs.
+
+ * ssa.c (op_phi_to_move): Handle XPHI.
+
+ * ssa.c (mono_ssa_compute): Generate a XPHI for simd intrinsics instead of VPHI.
+
+ Fixes #462457
+
+2009-01-04 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * method-to-ir.c (mono_emit_rgctx_calli): Fix a warning.
+
+2008-12-31 Geoff Norton <gnorton@novell.com>
+
+ * mini-ppc.c: The prolog size allocated can be too small for darwin
+ ppc32 under certain circumstances. Also fix a small logic bug.
+
+2008-12-29 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c (mono_jit_compile_method_inner): Avoid holding the domain lock
+ while loading AOT methods.
+
+ * mini-exceptions.c: Check jit_tls->class_cast_from instead of class_cast_to
+ since only the former is nulled out after a successful cast. This prevents
+ crashes with rethrown exceptions when using --debug=casts.
+
+2008-12-24 Mark Probst <mark.probst@gmail.com>
+
+ * mini.h: New macro for checking whether a method is final,
+ i.e. whether the method or its class is marked final.
+
+ * method-to-ir.c: Use the new macro for all final-checks
+ consistently. Fixes the crash in the System.ServiceModel tests.
+
+2008-12-23 Mark Probst <mark.probst@gmail.com>
+
+ * mini-exceptions.c (get_exception_catch_class): Corrected another
+ overly strict assertion.
+
+2008-12-23 Mark Probst <mark.probst@gmail.com>
+
+ * mini-ppc.c (mono_arch_build_imt_thunk): Save and restore r11.
+ Clobbering it is not allowed because the caller might use it as
+ the vtable register in the interface call.
+
+2008-12-19 Mark Probst <mark.probst@gmail.com>
+
+ * mini-exceptions.c (get_exception_catch_class): Corrected an
+ overly strict assertion.
+
+2008-12-18 Mark Mason <mmason@upwardaccess.com>
+
+ * method-to-ir.c: use SIZEOF_REGISTER instead of SIZEOF_VOID_P or sizeof(gpointer) when appropriate.
+
+ * mini.h: Move typedef to mgreg_t up above include of mini-arch.h
+
+ * local-propogation.c: use SIZEOF_REGISTER instead of SIZEOF_VOID_P when appropriate
+
+ * cpu-mips.md: correct lengths for certain long_ opcodes.
+
+ * mini-mips.h: Only emulate long operations when SIZEOF_REGISTER==4. Add missing func decl.
+
+ * mini-mips.c: Add support for more long operations. Fix issues with stack frame layout for n32 (still not perfect yet). Add mips_emit_load_const().
+
+2008-12-17 Mark Mason <mmason@upwardaccess.com>
+
+ * exceptions-mips.c (mono_arch_find_jit_info): decode sd instructions as well when looking for registers.
+
+2008-12-17 Mark Mason <mmason@upwardaccess.com>
+
+ * mini-mips.c (mono_arch_output_basic_block): OP_JUMP_TABLE stores patch type in inst_c1, not inst_i1.
+
+2008-12-16 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * branch-opts.c (remove_block_if_useless): Even if BB0 falls through, don't add a br to the
+ next basic block.
+
+2008-12-16 Mark Mason <mmason@upwardaccess.com>
+
+ * mini.h: Allow MonoInst 'p' field to alias with the low-order bits of the 'const_val' fields correctly on big-endian systems when SIZEOF_VOID_P < SIZEOF_REGISTER
+
+ * ir-emit.h: Change SIZEOF_VOID_P to SIZEOF_REGISTER, init instruction through inst_c* fields instead of inst_p* fields in case sizeof(inst_p) < sizeof(inst_c)
+
+2008-12-15 Mark Mason <mmason@upwardaccess.com>
+
+ * trace.c (mono_trace_enter_method): correctly handle arguments smaller than the stack slot size on big endian systems.
+
+2008-12-14 Zoltan Varga <vargaz@gmail.com>
+
+ * liveness.c (mono_analyze_liveness): Avoid eliminating the 'this' var in
+ gshared code. Fixes #458947.
+
+ * generics.cs: Add a test.
+
+2008-12-12 Mark Mason <mmason@upwardaccess.com>
+
+ * method-to-ir.c: replace SIZEOF_VOID_P with SIZEOF_REGISTER where needed.
+
+ * mini-mips.c: first pass n32 code generation.
+
+ * mini-mips.h: datatypes and defines for n32 support.
+
+ * exceptions-mips.c: first pass n32 code generation.
+
+ * tramp-mips.c: first pass n32 code generation.
+
+ * cpu-mips.md: add long_ opcodes.
+
+2008-12-12 Mark Mason <mmason@upwardaccess.com>
+
+ * liveness.c: replace SIZEOF_VOID_P with SIZEOF_REGISTER where needed.
+
+ * cfold.c: replace SIZEOF_VOID_P with SIZEOF_REGISTER where needed.
+
+ * local-propogation.c: replace SIZEOF_VOID_P with SIZEOF_REGISTER where needed.
+
+ * regalloc2.c: replace SIZEOF_VOID_P with SIZEOF_REGISTER where needed.
+
+ * mini.c: replace SIZEOF_VOID_P with SIZEOF_REGISTER where needed.
+
+ * mini-codegen.c: replace SIZEOF_VOID_P with SIZEOF_REGISTER where needed.
+
+ * ssa.c: replace SIZEOF_VOID_P with SIZEOF_REGISTER where needed.
+
+ * decompose.c: replace SIZEOF_VOID_P with SIZEOF_REGISTER where needed.
+
+ * helpers.c: for mips/n32, don't pass -mips32 to objdump
+
+2008-12-12 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-arm.c tramp-arm.c: Fix calls to mono_arch_flush_icache.
+
+2008-12-12 Andrés G. Aragoneses <aaragoneses@novell.com>
+
+ * driver.c: Sync --help-trace with man page (EXPR,EXPR).
+
+2008-12-12 Mark Probst <mark.probst@gmail.com>
+
+ * mini-ppc.h, exceptions-ppc.c, tramp-ppc.c: Create function
+ descriptors for helper functions directly in front of the code.
+
+2008-12-11 Mark Probst <mark.probst@gmail.com>
+
+ * method-to-ir.c: Removed an unnecessary assertion.
+
+2008-12-10 Zoltan Varga <vargaz@gmail.com>
+
+ * method-to-ir.c: Merge SGEN changes from the old JIT.
+
+2008-12-10 Zoltan Varga <vargaz@gmail.com>
+
+ * driver.c (compile_all_methods_thread_main): Handle failure of
+ mono_get_method ().
+
+2008-12-10 Mark Probst <mark.probst@gmail.com>
+
+ * mini-ppc.c: Merged with mini-ppc64.c.
+
+ * mini-ppc.h: Define PPC_MINIMAL_PARAM_AREA_SIZE on all targets.
+
+ * Makefile.am: Use the same sources for PPC and PPC64.
+
+ * mini-ppc64.c: Removed.
+
+2008-12-09 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * branch-opts.c (remove_block_if_useless): Extract fall through detection
+ code to mono_bb_is_fall_through.
+
+ * branch-opts.c (mono_remove_critical_edges): Same.
+
+2008-12-09 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * ssa.c (fold_ins): branch opt can kill dummy switch ops so we can't
+ expect that an OP_BR_REG will be there.
+
+2008-12-09 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * branch-opts.c (remove_block_if_useless): Use MONO_IS_BRANCH_OP instead of checking
+ for the many branch ops. The original check miss OP_BR_REG.
+
+ Fixes #457574.
+
+2008-12-09 Mark Mason <mmason@upwardaccess.com>
+
+ * mini-mips.h mini-mips.c exceptions-mips.c tramp-mips.c: first round of changes necessary to eventually support n32.
+
+2008-12-09 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-runtime.c (load_method): Avoid calling decode_exception_debug_info
+ while holding the aot lock.
+
+2008-12-09 Mark Mason <mmason@upwardaccess.com>
+
+ * mini-mips.c (mono_arch_output_basic_block): use mfc1/lwc1 instead of mfc1d/ldc1
+
+2008-12-09 Bill Holmes <billholmes54@gmail.com>
+
+ * mini.c (mini_cleanup) : Adding a call to cominterop_release_all_rcws
+ to release all runtime callable wrappers held by the runtime.
+
+ Contributed under MIT/X11 license.
+
+2008-12-09 Bill Holmes <billholmes54@gmail.com>
+
+ * tramp-amd64.c (mono_arch_create_trampoline_code_full) : Increase the code size for
+ for Winx64.
+
+ Contributed under MIT/X11 license.
+
+2008-12-09 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-runtime.c (decode_exception_debug_info): Acquire the domain
+ lock when calling mono_domain_alloc (). Hopefully fixes #415608.
+
+2008-12-09 Mark Mason <mmason@upwardaccess.com>
+
+ * cpu-mips.md: fix ckfinite length
+
+ * mini-mips.c: at least recognize n32 ABI when used (not yet supported)
+ (mono_arch_lowering_pass): cleanup, rearrange for clarity
+ (mono_arch_output_basic_block): implement OP_CKFINITE, add more asserts
+
+2008-12-08 Mark Mason <mmason@upwardaccess.com>
+
+ * exceptions-mips.c (mono_arch_find_jit_info): init new_ctx with ctx, dont' call setup_context.
+
+2008-12-08 Geoff Norton <gnorton@novell.com>
+
+ * tramp-amd64.c: r120895 stores RAX, so we need to increase the window
+ size by 8 bytes as well.
+
+2008-12-08 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * basic-simd.cs: Fix method names for Vector16b.
+
+2008-12-08 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * basic-simd.cs: Fix method names for Vector16sb.
+
+2008-12-08 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * basic-simd.cs: Fix method names for Vector8us.
+
+2008-12-08 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * basic-simd.cs: Fix method names for Vector8s.
+
+2008-12-08 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * basic-simd.cs: Fix method names for Vector4ui.
+
+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.
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.
+