+2005-12-12 Zoltan Varga <vargaz@gmail.com>
+
+ * generics.2.cs: Add valuetype tests.
+
+2005-12-09 Zoltan Varga <vargaz@gmail.com>
+
+ * basic-long.cs: Add i4->u8 test.
+
+ * objects.cs: Add tests for JIT intrinsic.
+
+ * mini.c (mini_get_inst_for_method): Resurrect the array Rank/Length
+ optimizations lost by a mistake.
+
+2005-12-07 Zoltan Varga <vargaz@gmail.com>
+
+ * basic-long.cs: Remove a test moved to objects.cs.
+
+ * arrays.cs: Add more array tests.
+
+2005-12-06 Zoltan Varga <vargaz@gmail.com>
+
+ * arrays.cs: Add new tests for multi-dimensional arrays.
+
+2005-12-06 Raja R Harinath <rharinath@novell.com>
+
+ * Makefile.am (test_sources2): Add generics.2.cs.
+ (EXTRA_DIST): Add test_sources2.
+
+2005-12-05 Ben Maurer <bmaurer@ximian.com>
+
+ Support for boxing and unboxing nullable types as well as the
+ isinst operation on nullables, per the CLI ammendment.
+
+ * inssel.brg (CEE_ISINST): Special case for nullable
+
+ * mini.c (handle_unbox_nullable): new method
+ (handle_box): Special case for nullable types
+ (mono_method_to_ir): Call handle_unbox_nullable in correct
+ places.
+
+ * generics.2.cs: New test suite
+
+ * Makefile.am: Support for regression tests with generics.
+
+2005-12-03 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-amd64.c (emit_load_volatile_arguments): Add loading of arguments
+ allocated to registers. Fixes #76800.
+
+Thu Dec 1 12:59:40 EST 2005 Paolo Molaro <lupus@ximian.com>
+
+ * mini-ppc.c, inssel-ppc.brg: fix ABI issue (pinvoke3.cs).
+
+2005-11-30 Zoltan Varga <vargaz@gmail.com>
+
+ * exceptions.cs: Disable test_0_long_cast () test, since it fails on a lot
+ of platforms.
+
+2005-11-29 Zoltan Varga <vargaz@gmail.com>
+
+ * objects.cs basic-calls.cs: Move a test depending on valuetypes to
+ objects.cs.
+
+ * inssel-long32.brg (CEE_CONV_I8): Remove unused labels.
+
+ * inssel-long32.brg (CEE_CONV_I8): Convert this to a branchless version.
+Tue Nov 29 05:41:34 EST 2005 Paolo Molaro <lupus@ximian.com>
+
+ * mini-ppc.c, cpu-g4.md: ensure a fp register is converted to
+ single precision before storing to a single precision location.
+
+2005-11-28 Raja R Harinath <rharinath@novell.com>
+
+ * Makefile.am (ILASM): Use profile-dependent location of ilasm.
+
+2005-11-27 Zoltan Varga <vargaz@gmail.com>
+
+ * basic-long.cs basic-calls.cs objects.cs: Move some tests to the
+ correct files.
+
+ * basic.cs: Remove test_0_byte_compares test which was moved to
+ objects.cs a long time ago.
+
+2005-11-22 Massimiliano Mantione <massi@ximian.com>
+
+ * aliasing.c: Fixed aliasing issue on 64 bit archs.
+
+2005-11-20 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-ia64.c exceptions-ia64.c: Simplify the way filters/finally
+ handlers are called.
+
+ * mini-ia64.c (mono_arch_emit_exceptions): Optimize size of exception
+ throwing code.
+
+ * mini-ia64.c: Add support for the throw->branch exception
+ optimization.
+
+ * driver.c (DEFAULT_OPTIMIZATIONS): Add MONO_OPT_EXCEPTION.
+
+2005-11-18 Massimiliano Mantione <massi@ximian.com>
+
+ * mini.c: Enabled "fastpath" deadce :-)
+
+2005-11-18 Massimiliano Mantione <massi@ximian.com>
+
+ * mini.c: Added "fastpath" deadce (deadce without SSA), and a simple
+ alias analysis pass to support it.
+ * mini.h: Likewise.
+ * ssa.c: Likewise.
+ * liveness.c: Likewise (liveness computation can use aliasing
+ information to be more accurate).
+ * driver.c: Added an "ssa" option go tell the JIT to use SSA, and
+ moreover made so that "--compile-all" uses the given optimization
+ flags and not the default ones.
+ * aliasing.c: Alias analysis (new file).
+ * aliasing.h: Likewise.
+ * Makefile.am: added "aliasing.c" and "aliasing.h".
+
+2005-11-17 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-ops.h: Add missing OP_I opcodes so it is in synch with the
+ OP_L opcodes.
+
+2005-11-13 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-exceptions.c (mono_handle_exception_internal): Remove the
+ fp >= end_of_stack exit condition, as it is not needed, and it might
+ become true for fp eliminated frames.
+
+2005-11-11 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-x86.c (mono_arch_emit_epilog): Use G_STRUCT_OFFSET instead of hard
+ coded offsets.
+
+Tue Nov 8 11:28:20 GMT 2005 Paolo Molaro <lupus@ximian.com>
+
+ * mini-arm.c: fixed alignment of doubles/longs to match
+ the C ABI (bug #76635).
+
+Mon Nov 7 16:13:21 CET 2005 Paolo Molaro <lupus@ximian.com>
+
+ * aot.c: fix compilation with --enable-minimal=aot.
+
+Fri Nov 4 12:34:15 GMT 2005 Paolo Molaro <lupus@ximian.com>
+
+ * mini-arm.c: fixed compatibility with the new
+ floating point emulator package for compares.
+
+2005-11-03 Atsushi Enomoto <atsushi@ximian.com?
+
+ * mini.c : reverted sig->pinvoke changes (r51396-51397).
+
+2005-11-01 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini-exceptions.c (print_stack_frame): Output to stderr.
+ (mono_handle_native_sigsegv): Ditto.
+
+2005-10-30 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini-amd64.c (mono_arch_output_basic_block): Remove unused
+ OP_LCONV_TO_OVF_I implementation.
+
+ * mini-amd64.c: Add support for the throw->branch exception
+ optimization.
+
+ * branch-opts.c (mono_branch_optimize_exception_target): Allow the case
+ when the catch clause catches a more general exception, i.e. Object.
+
+2005-10-30 Zoltan Varga <vargaz@gmail.com>
+
+ * cpu-ia64.md: Remove unused opcodes.
+
+ * mini.c (GET_CONTEXT): Simplify this somewhat by removing arch
+ specific defines for architectures defining USE_SIGACTION.
+
+ * mini-ia64.c: Fix some warnings.
+
+ * exceptions-ia64.c (mono_arch_ip_from_context): Fix this, the previous
+ version seemed to skip a frame.
+
+2005-10-30 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini.c: Clean up the usage of sig->pinvoke flag. Now
+ only calls which are made to native code use this flag.
+
+2005-10-29 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini-amd64.c (mono_arch_compute_omit_fp): Disable fp elimination for
+ varargs methods as well.
+
+ * mini-amd64.c exceptions-amd64.c: Allow fp elimination in methods
+ which have save_lmf set. Reorganize methods prologs a bit.
+
+ * mini-amd64.c (mono_arch_compute_omit_fp): Move the check for the
+ debugger to the proper place.
+
+2005-10-29 Martin Baulig <martin@ximian.com>
+
+ * mini-amd64.c (debug_omit_fp): Temporarily disable fp elimination
+ when running inside the debugger until the debugger has support
+ for it.
+
+2005-10-26 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.h: Fix a warning.
+
+2005-10-24 Miguel de Icaza <miguel@novell.com>
+
+ * mini.c (mono_pmip): Just a wrapper for get_method_from_ip which
+ we expose publicly, this returns the string.
+
+2005-10-22 Zoltan Varga <vargaz@freemail.hu>
+
+ * exceptions-amd64.c (mono_arch_find_jit_info): Fix some corner cases
+ with fp elimination.
+
+2005-10-21 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-exceptions.c (mono_handle_native_sigsegv): Try to print a
+ native stacktrace using the glibc 'backtrace' function if available.
+
+2005-10-20 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.h (MonoDebugOptions): Remove 'abort_on_sigsegv' option.
+
+ * mini-exceptions.c (mono_handle_native_sigsegv): New function to
+ handle SIGSEGVs received while in native code.
+
+ * mini.c (sigsegv_signal_handler): If the SIGSEGV happened in native
+ code, call mono_handle_native_sigsegv which will abort the runtime
+ after printing some diagnostics, instead of converting it into a
+ confusing NullReferenceException.
+
+2005-10-18 Zoltan Varga <vargaz@gmail.com>
+
+ * cpu-pentium.md: Remove unused opcodes.
+
+2005-10-18 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini-amd64.h (MonoLMF): Add rsp field.
+
+ * mini-amd64.c exceptions-amd64.c tramp-amd64.c: Save the sp reg into
+ the lmf too.
+
+2005-10-17 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-codegen.c (get_register_spilling): Fix some warnings.
+
+2005-10-16 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini-amd64.h mini-amd64.c exceptions-amd64.c: Add support for fp
+ elimination during exception handling. Enable fp elimination by
+ default.
+
+ * mini-amd64.h mini-amd64.c: Add preliminary support for frame pointer
+ elimination.
+
+2005-10-16 Martin Baulig <martin@ximian.com>
+
+ * mini-exceptions.c
+ (mono_debugger_run_finally): New public method for the debugger.
+
+2005-10-10 Zoltan Varga <vargaz@gmail.com>
+
+ * debug-mini.c (mono_debug_init_method): Fix warning.
+
+ * mini.h branch-opts.c (mono_branch_optimize_exception_target): Make
+ the 'exname' parameter const to fix some warnings.
+
+2005-10-09 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini-exceptions.c (mono_handle_exception_internal): Fix another bug
+ introduced by the previous patch.
+
+2005-10-08 Zoltan Varga <vargaz@gmail.com>
+
+ * basic-float.cs: Add test for precision of float arithmetic.
+
+ * mini-ia64.c (mono_arch_output_basic_block): Convert to/from doubles
+ when loading/storing single values from/to memory.
+
+ * mini.c (mono_jit_compile_method_with_opt): Create the function
+ pointers in the correct domain.
+
+2005-10-08 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini-exceptions.c (mono_handle_exception_internal): Fix bug
+ introduced by previous patch.
+
+ * mini-exceptions.c (mono_handle_exception_internal): Handle the case
+ when out_filter_idx is NULL.
+
+ * mini-exceptions.c: Don't run filter clauses twice during exception
+ handling. Fixes #75755.
+
+2005-10-07 Zoltan Varga <vargaz@gmail.com>
+
+ * aot.c: Add support for ldflda wrappers.
+
+ * mini.c (mono_method_to_ir): Use ldflda wrappers for CEE_LDFLDA. Fixes
+ #75902.
+
+Tue Oct 4 20:23:25 CEST 2005 Paolo Molaro <lupus@ximian.com>
+
+ * mini.c, mini.h: do not consider exception handlers blocks when
+ setting up interface variables.
+
2005-10-04 Zoltan Varga <vargaz@freemail.hu>
* aot.c (emit_section_change): Fix emitting of sections on win32. Fixes #76322.
-Fri Sep 9 09:49:14 CEST 2005 Paolo Molaro <lupus@ximian.com>
-
- * ldscript.mono, Makefile.am: use anonymous versions in the ldscript
- for the mono binary.
-
+2005-10-03 Zoltan Varga <vargaz@gmail.com>
+
+ * liveness.c (mono_analyze_liveness): Revert parts of r51051 since it
+ causes a regression.
+
+ * mini.c (mini_thread_cleanup): Fix reading of freed memory.
+
+2005-10-02 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini.h (OP_PCONST): Move the definition of OP_PCONST into the rest
+ of the OP_P definitions.
+
+ * TODO: Add a proposal for dealing with the CEE/OP mess.
+
+ * mini-amd64.c (mono_arch_output_basic_block): Merge mul_imm
+ optimizations from the x86 port.
+
+ * cpu-amd64.md: Ditto.
+
+ * basic.cs basic-long.cs: Add tests.
+
+Fri Sep 30 20:07:20 CEST 2005 Paolo Molaro <lupus@ximian.com>
+
+ * Makefile.am, driver.c, mini-x86.c, mini.c, mini.h, branch-opts.c:
+ Patrik Torstensson's implementation of my exception-handling
+ optimization idea, when the exception object is not used
+ (bug #62150).
+
+Fri Sep 30 19:10:29 CEST 2005 Paolo Molaro <lupus@ximian.com>
+
+ * mini-x86.c, cpu-pentium.md: Patrik Torstensson's port
+ of the mul_imm optimizations from the old jit.
+
+Fri Sep 30 11:37:51 EDT 2005 Paolo Molaro <lupus@ximian.com>
+
+ * mini.c, liveness.c: patch by Patrik Torstensson and
+ Zoltan Varga to improve performance in methods with
+ exception clauses.
+
+2005-09-30 Zoltan Varga <vargaz@gmail.com>
+
+ * driver.c: Remove 'Globalization' entry from --version.
+
+2005-09-28 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c (mono_jit_compile_method_inner): Do not load AOT code when
+ there is a profiler interested in JIT events.
+
+ * aot.c: Load profile files produced by the AOT profiling module, and
+ reorder methods based on the profiling info. Add a 'method_order' table
+ to the AOT file to make mono_aot_find_jit_info work with the reordered
+ methods.
+
+ * mini.h: Bump AOT file version info.
+
Wed Sep 28 17:12:48 CEST 2005 Paolo Molaro <lupus@ximian.com>
* mini-arm.h: work around what looks like a gcc bug when optimizations
are enabled.
+2005-09-28 Raja R Harinath <rharinath@novell.com>
+
+ * Makefile.am (AM_CFLAGS): Don't use += to append inside
+ conditionals. Use ...
+ (PLATFORM_CFLAGS, ARCH_CFLAGS): ... these.
+
2005-09-27 Zoltan Varga <vargaz@freemail.hu>
-
+
* mini-amd64.c (mono_arch_call_opcode): Use mono_class_value_size ()
to determine the amount of memory to copy when passing valuetypes.
* inssel-amd64.brg: Remove PUSH(LDIND4) rules since they convert an
4 byte load into a 8 byte load. Fix aligning of size in OP_OUTARG_VT.
+2005-09-27 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.h mini.c aot.c: Add infrastructure to collect pagefault
+ information about aot.
+
+2005-09-27 Ben Maurer <bmaurer@ximian.com>
+
+ * *.c: Replace the use of {Enter,Leave}CriticalSection with
+ macros. This will allow a deadlock debugger to easily be plugged
+ in.
+
+Tue Sep 27 09:32:11 EDT 2005 Paolo Molaro <lupus@ximian.com>
+
+ * mini-ppc.c, cpu-g4.md: added memory barrier instruction.
+
+2005-09-27 Raja R Harinath <rharinath@novell.com>
+
+ * Makefile.am (AM_CFLAGS): Rename from INCLUDES.
+ (AM_CFLAGS) [PLATFORM_WIN32): Append to it, don't set it.
+ (AM_CFLAGS) [ARM]: Add arch/arm directory from the build tree.
+ ($(arch_built)) [CROSS_COMPILING]: Error out.
+
+2005-09-26 Zoltan Varga <vargaz@gmail.com>
+
+ * aot.c: Add support for the no_special_static flag for classes.
+
+2005-09-24 Zoltan Varga <vargaz@freemail.hu>
+
+ * Reapply reverted patches.
+
+ * *: Revert r50174 as well.
+
+ * mini-amd64.c cpu-amd64.md inssel-amd64.brg: Revert r50170 as well.
+
+2005-09-24 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini-amd64.c: Revert r50342 to see if this fixed buildbot.
+
+2005-09-23 Miguel de Icaza <miguel@novell.com>
+
+ * mini.c (SIG_HANDLER_SIGNATURE): Only dereference info if it is
+ part of the SIG_HANDLER_SIGNATURE.
+
+2005-09-23 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.h mini.c: Add a new MONO_DEBUG option to collect metadata pagefault
+ statistics.
+
+ * mini-x86.c (mono_arch_call_opcode): Fix vararg calling convention
+ introduced by previous patch.
+
+2005-09-21 Zoltan Varga <vargaz@gmail.com>
+
+ * tramp-x86.c (mono_arch_create_trampoline_code): Restore caller
+ saved registers too.
+
+ * mini-x86.c (mono_arch_allocate_vars): Rewrite this so it works based
+ upon the information returned by get_call_info ().
+
+ * mini-x86.c (add_float): Fix stack size calculation.
+ (mono_arch_call_opcode): Rewrite this so it works based up the
+ information returned by get_call_info ().
+ (mono_arch_get_this_vret_args): Ditto.
+
+2005-09-21 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini-amd64.c (mono_arch_emit_this_vret_args): Use the information
+ in cinfo to determine the registers which need to be used.
+
+2005-09-20 Miguel de Icaza <miguel@novell.com>
+
+ * driver.c (mono_main): Add --server and --desktop flags.
+
+2005-09-16 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-ia64.h: Make register masks 64 bit. Don't treat argument
+ registers as global registers.
+
+ * inssel-ia64.brg (stmt): Remove OP_OUTARG_REG () rules which are no
+ longer needed with the new register allocator.
+
+ * mini-ia64.c: Use OP_MOVE instead of OP_SETREG for reg-reg moves.
+
+ * cpu-ia64.md: Remove unused opcodes.
+
+ * regalloc.c mini-codegen.c: Make register masks 64 bit on ia64.
+
+2005-09-16 Zoltan Varga <vargaz@freemail.hu>
+
+ * cpu-amd64.md: Remove unused opcodes.
+
+ * inssel-amd64.brg: Remove OP_OUTARG_REG () rules which are no longer
+ needed with the new register allocator.
+
+ * inssel-amd64.brg mini-amd64.c: Use OP_MOVE instead of OP_SETREG for
+ reg-reg moves.
+
+2005-09-16 Raja R Harinath <rharinath@novell.com>
+
+ * Makefile.am (check-local): Don't invoke semdel-wrapper.
+
+2005-09-16 Martin Baulig <martin@ximian.com>
+
+ * exceptions-amd64.c
+ (throw_exception): Don't call mono_debugger_throw_exception() if
+ we're a rethrow - see the FIXME in the code.
+
+2005-09-15 Geoff Norton <gnorton@customerdna.com>
+
+ * mini.c (mono_init_exceptions): This only works on some architectures.
+
+2005-09-15 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c (mono_method_to_ir): Add OP_LMUL imm -> OP_LMUL_IMM conversion
+ on ia64.
+
+ * inssel-long.brg mini-ia64.c: Add OP_LMUL_IMM rules.
+
+ * mini-ia64.h mini-ia64.c: Remove the altstack support code which is
+ now in mini-exceptions.c.
+
+2005-09-15 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini-amd64.h mini-am64.c: Remove the altstack support code which is
+ now in mini-exceptions.c.
+
+2005-09-15 Zoltan Varga <vargaz@gmail.com>
+
+ * exceptions-x86.c: Applied patch from Patrik Torstensson
+ <patrik.torstensson@gmail.com>. Add stack overflow handling support for win32.
+
+ * mini-exceptions.c mini-x86.c mini.c: Move the altstack setup/teardown
+ code into mini-exceptions.c. Add some assertions to it.
+
+2005-09-12 Zoltan Varga <vargaz@gmail.com>
+
+ * aot.c (emit_section_change): Applied patch from "The Software Team"
+ (<software@solmersa.com>). Fix as errors on windows.
+
+2005-09-11 Zoltan Varga <vargaz@freemail.hu>
+
+ * tramp-amd64.c (mono_arch_create_trampoline_code): Fix saving of
+ method info into the LMF.
+
+2005-09-11 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-ia64.c: Add proper unwind info for method epilogs.
+
+ * exceptions-ia64.c: Add some code to help debugging.
+
+ * mini-ia64.c mini-ia64.h: Add sigaltstack support.
+
+ * mini-exceptions.c: Fix warning.
+
+2005-09-11 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini.c: Really fix build.
+
+ * mini-x86.c mini-amd64.c: Fix build.
+
+2005-09-11 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-ia64.c inssel-ia64.brg: Add InterlockedExchange instrinsics.
+
+ * mini-ops.h cpu-ia64.md inssel-ia64.brg mini-ia64.c: Implement
+ some Interlocked methods as intrinsics.
+
+ * mini.c (mini_get_inst_for_method): Call arch_get_inst_for_method
+ for Thread methods as well.
+
+ * mini-ops.h: Add OP_MEMORY_BARRIER opcode.
+
+ * inssel.brg: Add rule for OP_MEMORY_BARRIER.
+
+ * mini-ia64.c mini-x86.c mini-amd64.c
+ cpu-ia64.md cpu-pentium.md cpu-amd64.md: Add implementation of
+ OP_MEMORY_BARRIER.
+
+ * mini.c (mono_init_exceptions): Fix build breakage.
+
+2005-09-10 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-ia64.c exceptions-ia64.c tramp-ia64.c: Remove 'manual' emitting
+ of instructions. Use the new ia64_unw_op macros for emitting unwind
+ info.
+
+ * mini.c (mono_init_exceptions): Initialize exception handling
+ related trampolines at startup.
+
Fri Sep 9 19:30:37 BST 2005 Paolo Molaro <lupus@ximian.com>
* cpu-arm.md, mini-arm.c: fix for dynamic code (Gtk# apps).
+2005-09-09 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c: Handle type loading errors gracefully during compilation and
+ throw the appropriate exception.
+
+Fri Sep 9 09:49:14 CEST 2005 Paolo Molaro <lupus@ximian.com>
+
+ * ldscript.mono, Makefile.am: use anonymous versions in the ldscript
+ for the mono binary.
+
+2005-09-09 Martin Baulig <martin@ximian.com>
+
+ * mini.c (mono_method_to_ir): Comment out the G_BREAKPOINT()'s for
+ the release.
+
Thu Sep 8 14:53:45 BST 2005 Paolo Molaro <lupus@ximian.com>
* mini-arm.h: use emulation for conv.r.un for the release.