+2009-02-10 Zoltan Varga <vargaz@gmail.com>
+
+ * Makefile.am (fullaotcheck): Make this run the tests.
+
+ * aot-compiler.c: Make the printing of skipped methods runtime configurable.
+
+2009-02-10 Mark Probst <mark.probst@gmail.com>
+
+ * mini-x86.c (mono_arch_context_get_int_reg): Handle all registers
+ individually. Fixes #473482.
+
+2009-02-10 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-arm.c (mono_arch_output_basic_block): Disable AOT for OP_JMP.
+
+2009-02-09 Jeffrey Stedfast <fejj@novell.com>
+
+ * aot-compiler.c (arch_emit_plt_entry): Fixed to compile.
+ (mono_compile_assembly): Hush compile warnings about
+ uninitialized [tmp_]outfile_name variables in the !use_bin_writer
+ code path.
+
+2009-02-10 Zoltan Varga <vargaz@gmail.com>
+
+ * exceptions-arm.c (mono_arch_find_jit_info): Fix aot support.
+
+ * mini-arm.c: Checkin unwind related changes missing from an earlier commit.
+
+ * aot-compiler.c: Fix arm support.
+
+ * image-writer.c: Move the R_ARM constants to image-writer.h. Export a
+ img_writer_emit_unset_mode () function.
+
+ * unwind.c (mono_unwind_get_dwarf_data_align): New helper function.
+ (mono_unwind_get_dwarf_pc_reg): Ditto.
+
+ * aot-compiler.c (emit_dwarf_abbrev): Another large reorganization.
+ Move almost all platform specific code to a set of arch_ functions,
+ and document them to ease porting.
+
+ * aot-compiler.c (mono_xdebug_init): Fix xdebug support.
+
+ * image-writer.h image-writer.c: New files, extracted from aot-compiler.c.
+
+ * aot-compiler.c: Extract the image writing functionality into a separate
+ module to reduce the size of this file.
+
+2009-02-09 Geoff Norton <gnorton@novell.com>
+
+ * mini-s390.c: Fix the signature of emit_sig_cookie.
+
+2009-02-09 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c (is_shared_got_patch): Add MONO_PATCH_INFO_IMAGE.
+
+ * aot-runtime.c (is_shared_got_patch): Ditto.
+
+ * aot-runtime.c (load_named_code): Cope with the fact that
+ decode_got_entry () won't decode the patch fully if its corresponding got
+ entry is already filled.
+
+ * tramp-amd64.c (mono_arch_create_monitor_enter_trampoline_full):
+ Initialize *ji.
+ (mono_arch_create_monitor_exit_trampoline_full): Ditto.
+
+ * tramp-amd64.c (mono_arch_create_monitor_enter_trampoline_full): Use 'code'
+ as the moving pointer instead of 'buf' for consistency with the rest of the
+ codebase.
+ (mono_arch_create_monitor_exit_trampoline): Ditto.
+
+ * aot-compiler.c (emit_trampolines): Add throw_pending_exception/
+ generic_class_init trampolines.
+ (add_generic_class): Extract some code from add_generic_instances () into a
+ separate function so it can be called from other places too.
+ (compile_method): Call add_generic_class () for the classes of inflated methods
+ referenced by the method.
+ (can_encode_patch): Allow references to generic parameters.
+
+ * aot-runtime.c: Add support the patches required by the new trampolines.
+
+ * exceptions-amd64.c (mono_arch_get_throw_pending_exception_full): Add full-aot
+ support.
+
+ * tramp-amd64.c (mono_arch_create_generic_class_init_trampoline_full): Add
+ full-aot support.
+
+ * exceptions-amd64.c (mono_arch_get_throw_pending_exception_full): Rename
+ this from get_throw_pending_exception, make the signature full aot compatible.
+
+ * Makefile.am (fullaotcheck): New target to run full-aot tests.
+
+ * method-to-ir.c (inline_method): Save/Restore cfg->ret_var_set too.
+
+ * exceptions.cs: Add a test.
+
+2009-02-07 Zoltan Varga <vargaz@gmail.com>
+
+ * unwind.c (mono_unwind_frame): Eliminate the data_align_factor argument,
+ use the DWARF_DATA_ALIGN constant instead.
+
+ * exception-<ARCH>.c: Update after the above change.
+
+ * exceptions-arm.c (mono_arch_find_jit_info): Transition this to use the
+ dwarf unwinder.
+
+ * mini-arm.c: Enable the dwarf unwinder.
+
+ * mini-trampolines.c (mono_magic_trampoline): Use mono_class_get_vtable_entry ()
+ instead of mono_class_setup_vtable ().
+
+2009-02-07 Zoltan Varga <vargaz@gmail.com>
+
+ * exceptions-x86.c (mono_arch_find_jit_info): Transition this to use the
+ dwarf unwinder.
+
+ * mini-x86.h: Enable the dwarf unwinder.
+
+2009-02-06 Raja R Harinath <harinath@hurrynot.org>
+
+ Fix mcs/tests/test-7.cs
+ * mini-amd64.c (mono_arch_allocate_vars): Revert change from
+ 2009-02-03.
+
+2009-02-06 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c (print_jit_stats): Remove some unused statistics.
+
+2009-02-05 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c (emit_klass_info): Update after MonoClass changes.
+
+2009-02-05 Mark Probst <mark.probst@gmail.com>
+
+ * jit-icalls.c (mono_helper_compile_generic_method): Don't inflate
+ the method we get from mono_object_get_virtual_method() because
+ that function does it properly, now.
+
+2009-02-05 Zoltan Varga <vargaz@gmail.com>
+
+ * unwind.c (mono_unwind_ops_encode): Handle offsets greater than 32 between
+ opcodes. Fixes #472775.
+
+2009-02-05 Mark Probst <mark.probst@gmail.com>
+
+ * mini-exceptions.c (ves_icall_get_frame_info): Account for the
+ fact that mono_find_jit_info() sometimes returns the context
+ corresponding to the jit info in new_ctx. Fixes #472600.
+
+2009-02-05 Zoltan Varga <vargaz@gmail.com>
+
+ * method-to-ir.c mini-hppa.c mini.c trace.c mini-s390x.c aot-compiler.c
+ mini-s390.c: Use mono_class_enum_basetype () instead of accessing
+ klass->enum_basetype directly.
+
+ * aot-compiler.c (emit_class_dwarf_info): Add support for all possible
+ enum subtypes.
+
+ * unwind.c: Avoid 0 sized arrays.
+
+2009-02-04 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-exceptions.c (mono_setup_altstack): Use a more reasonable altstack
+ size on systems with 64k pages. Fixes #471389.
+
+2009-02-04 Mark Probst <mark.probst@gmail.com>
+
+ Contributed under the terms of the MIT/X11 license by Steven
+ Munroe <munroesj@us.ibm.com>.
+
+ * mini-ppc.c (mono_arch_output_basic_block): Generate better code
+ for LOADI4_MEMBASE. Use addi instead of addic if it's not
+ necessary.
+
+2009-02-04 Mark Probst <mark.probst@gmail.com>
+
+ Contributed under the terms of the MIT/X11 license by Steven
+ Munroe <munroesj@us.ibm.com>.
+
+ * exceptions-ppc.c (mono_arch_get_restore_context): Code size
+ comparison fix.
+
+ * tramp-ppc.c (mono_arch_create_generic_class_init_trampoline):
+ The trampoline can be longer on PPC64.
+
+2009-02-04 Mark Probst <mark.probst@gmail.com>
+
+ Contributed under the terms of the MIT/X11 license by Steven
+ Munroe <munroesj@us.ibm.com>.
+
+ * mini-ppc.c: Compiler warning fixes and trivial code
+ simplifications.
+
+2009-02-04 Zoltan Varga <vargaz@gmail.com>
+
+ * method-to-ir.c (mono_spill_global_vars): Fix problems caused by reading
+ ins->dreg which could be a hardware register, not a vreg.
+
+ * aot-compiler.c (emit_method_dwarf_info): Ditto.
+
+ * mini.h (MonoCompile): Remove vreg_to_var_num array, it is no longer used.
+ (struct MonoMethodVar): Add a vreg field, holding the vreg of variable.
+
+ * mini.c (mono_compile_create_var_for_vreg): Set var->vreg.
+
+ * mini-amd64.c (mono_arch_output_basic_block): Avoid reading cfg->varinfo[..]
+ ->dreg, that is not the vreg we are looking for.
+
+ * mini-amd64.h mini-x86.h: Enable MONO_ARCH_LIVENESS_OPS again.
+
+ * mini-x86.c (mono_arch_output_basic_block): Add support for LIVERANGE_START/
+ LIVERANGE_END.
+
+ * method-to-ir.c (mono_spill_global_vars): Add an assert to help track down
+ strange crashes.
+
+2009-02-03 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-x86.c (mono_arch_emit_prolog): Emit unwind info.
+
+ * aot-compiler.c (emit_line_number_info): Fix line number emission when
+ the line diff is 0.
+
+ * aot-compiler.c: Add xdebug support on x86.
+
+ * unwind.c: Add x86 support.
+
+ * aot-compiler.c (emit_exception_debug_info): Control the emission of
+ unwind info using a new MONO_ARCH_HAVE_XP_UNWIND define.
+
+ * mini.c (mini_method_compile): Ditto.
+
+ * mini-amd64.c (mono_arch_allocate_vars): Avoid setting cfg->ret->dreg to
+ the variable index.
+
+ * aot-compiler.c: Add emit_push_section ()/emit_pop_section () helper functions
+ which mimic .push_section/.pop_section in GAS.
+
+ * aot-compiler.c: Emit precise live range information for variables.
+
+ * mini-amd64.c (mono_arch_output_basic_block): Add OP_LIVERANGE_START/END.
+
+ * method-to-ir.c (mono_spill_global_vars): Compute the instructions marking
+ the live ranges of variables, and emit OP_LIVERANGE_START/END opcodes for
+ them.
+
+ * mini-ops.h: Add OP_LIVERANGE_START/END opcodes to mark
+ the live ranges of variables.
+
+ * mini.h (struct MonoMethodVar): Add two fields containing the live range
+ of the variable in terms of native offsets.
+
+2009-02-03 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * arrays.cs: Test for Get/SetValue of array with negate lower bounds.
+
+2009-02-02 Mark Probst <mark.probst@gmail.com>
+
+ Contributed under the terms of the MIT/X11 license by Steven
+ Munroe <munroesj@us.ibm.com>.
+
+ * exceptions-ppc.c (restore_regs_from_context): Correct operand
+ order (offset then base reg) for ppc_load_multiple_regs.
+ (emit_save_saved_regs) Correct operand order for
+ ppc_store_multiple_regs.
+ (mono_arch_get_call_filter): Correct operand order for
+ ppc_load_multiple_regs.
+
+ * mini-ppc.c (emit_memcpy): Fix operand order for
+ ppc_load_reg_update and ppc_store_reg_update.
+ (mono_arch_output_basic_block): Correct operand order for ppc_lha.
+ (mono_arch_emit_epilog): Correct operand order for
+ ppc_load_multiple_regs.
+
+ * tramp-ppc.c (mono_arch_create_trampoline_code): Correct operand
+ order for ppc_store_multiple_regs and ppc_load_multiple_regs.
+
+2009-02-02 Mark Probst <mark.probst@gmail.com>
+
+ * cpu-ppc64.md: Fixed storer4_memindex length.
+
+2009-02-02 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c (emit_line_number_info): Optimize the size of the emitted
+ line number info.
+
+ * aot-compiler.c (emit_line_number_info): Optimize this.
+
+2009-02-01 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c: Disassemble tokens in the IL disassembly.
+
+ * aot-compiler.c: Add debug info for methods without debug info by
+ emitting an IL file and having the line number info referencing that file.
+
+ * aot-compiler.c: Optimize the size of the generated line number info.
+
+ * aot-compiler.c: Emit line number info in xdebug mode.
+
+ * aot-compiler.c (mono_save_xdebug_info): Receive a MonoCompile instead of a
+ million arguments.
+
+2009-01-31 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c (emit_method_dwarf_info): Emit names for local variables.
+
+ * driver.c (mono_main): Enable debugging support automatically if XDEBUG
+ is used.
+
+2009-01-31 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * basic-calls.cs: Test for the weird crash found on arm.
+
+2009-01-31 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * cpu-arm.md: Increase the size of storer8_membase_reg and
+ loadr8_membase_reg to 24 bytes to accomodate the extra add.
+
+ * mini-arm.c (mono_arch_output_basic_block): Under FPA, when emitting
+ OP_STORER8_MEMBASE_REG and OP_LOADR8_MEMBASE_REG, add the original
+ reg to LR otherwise we'll be loading/storing from just the offset.
+
+2009-01-30 Miguel de Icaza <miguel@novell.com>
+
+ Question: if we are storing gint32's inside the "*native_offset",
+ should we change the signature to "gint32 *native_offset" to
+ ensure that we do not have type definition problems?
+
+ * mini-exceptions.c (ves_icall_get_frame_info): Cast the gint32 to
+ an int * as this is what the other function expects, causes
+ problems with Freescale's compiler that defined int32_t to be a
+ long and makes int incompatible
+
+2009-01-30 Miguel de Icaza <miguel@novell.com>
+
+ * Rename generic-sharing.c to mini-generic-sharing.c to avoid the
+ filename conflict with bjam.
+
+2009-01-30 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * cpu-arm.md: Increase the size of storer8_membase_reg to 20 bytes
+ as it might use decomposed ops.
+
+2009-01-30 Zoltan Varga <vargaz@gmail.com>
+
+ * jit-icalls.c (mono_imul_ovf): Fix one of the literals.
+
+ * mini.c (mini_init): Emulate mul.ovf opcodes if MONO_ARCH_EMULATE_MUL_OVF
+ is defined.
+
+ * mini-arm.h (MONO_ARCH_EMULATE_MUL_OVF): New define.
+
+ * mini-arm.c (mono_arch_build_imt_thunk): Rewrite this to allow large vtable
+ offsets.
+
+ * mini-arm.c (mono_arch_context_get_int_reg): Adapt this to the "clever"
+ way registers are stored in MonoContext on arm.
+
+ * unwind.c: Rewrite the handling of the cached_info array to use hazard pointers
+ instead of locking so mono_get_cached_unwind_info () becomes signal safe.
+
+ * mini.c (mini_init): Emuate OP_FCONV_TO_I when using soft float.
+
+ * mini-arm.c (emit_load_volatile_arguments): Avoid an unneccesary assert.
+
+ * mini.c (mini_init): Register mono_isfinite.
+
+ * jit-icalls.c (mono_isfinite): New jit icall.
+
+ * method-to-ir.c (mono_decompose_soft_float): Add support for OP_CKFINITE.
+
+ * exceptions-arm.c (mono_arch_find_jit_info): When unwinding using the LMF,
+ set esp to ARMREG_FP instead of R12, since R12 stores the value of sp for
+ the parent frame.
+
+2009-01-30 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * exceptions-arm.c (mono_arch_find_jit_info): The frame layout on arm have
+ separate frame and stack pointers, so we must use FP to find the register
+ spill area.
+ The FP reg is retrieved from the MonoContext::regs array.
+
+2009-01-30 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * mini-arm.c (mono_arch_output_basic_block): Emit two cond ops for OP_FBGE
+ as FPA requires it.
+
+2009-01-30 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * mini-arm.c (mono_arch_emit_setret): Emit OP_FMOVE for methods that
+ return R4 and R8 when not running under softfloat.
+
+ Fixes basic-calls.exe
+
2009-01-30 Zoltan Varga <vargaz@gmail.com>
* mini-arm.c: Implement some overflow opcodes.