2006-06-20 Jb Evain <jbevain@gmail.com>
[mono.git] / mono / mini / ChangeLog
index 5794a0c168df23b96796e2fd072994a62577a3ee..afdfae988349882a9fc3c18af3c6b3cb830b16ef 100644 (file)
@@ -1,3 +1,313 @@
+2006-06-20  Jb Evain  <jbevain@gmail.com>
+
+       * cpu-g4.md: fix max length of start_handler instruction.
+
+2006-06-20  Massimiliano Mantione  <massi@ximian.com>
+       * simple-cee-ops.h, simple-mini-ops.h: Fixed bug 78656.
+
+2006-06-16  Massimiliano Mantione  <massi@ximian.com>
+       * ssa.c: Fixed bug 78653 for SSA based deadce.
+       * mini.h: added MONO_INST_DEFINITION_HAS_SIDE_EFFECTS flag go
+       MonoInst.flags, used in SSA based deadce.
+       * aliasing.c: Fixed bug 78653 for "fastpath" deadce.
+       * simple-cee-ops.h, simple-mini-ops.h: Fixed bug 78653.
+
+Thu Jun 15 16:52:46 CEST 2006 Paolo Molaro <lupus@ximian.com>
+
+       * tramp-ppc.c: don't use malloc () for trampoline code, sometimes
+       it can end up using non executable memory on ppc64 systems
+       running ppc32 userspace (fix from Johannes Berg).
+
+2006-06-14  Dick Porter  <dick@ximian.com>
+
+       * wapihandles.c: Fix a bunch of signed/unsigned warnings from gcc
+       4.1.1
+
+2006-06-13  Massimiliano Mantione  <massi@ximian.com>
+       * mini.c: Made so that inline is locally disabled if it would
+       trigger a .cctor, because too many apps depend on this behavior
+       (which seems to be also the one of the MS CLR).
+
+2006-06-13  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-amd64.c (mono_emit_stack_alloc): Fix initialization of localloc'ed memory.
+       No idea why this worked before.
+
+       * branch-opts.c (mono_branch_optimize_exception_target): Avoid branches
+       which branch to outer exception clauses since they could skip the
+       inner finally clauses. Fixes #78633.
+
+       * exceptions.cs: Add a test for the above.
+
+       * mini.c (merge_basic_blocks): Nullify the branch at the end of the first bb.
+       Fixes #78629.
+
+       * iltests.il: Add a test for the above.
+
+2006-06-12  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini.c (remove_block_if_useless): Do not remove the bblock immediately
+       after the end of a try bblock, to prevent asserts in mini_method_compile ().
+
+       * iltests.il: Add a test for the above.
+
+2006-06-10  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-ia64.c (mono_arch_lowering_pass): Remove some code duplication.
+       
+       * mini-ia64.c inssel-ia64.brg: Implement the new net 2.0 Interlocked.Add
+       methods as instrinsics.
+
+2006-06-09  Wade Berrier <wberrier@novell.com>
+
+       * Makefile.am: Fix sources list for svn rename so that make dist succeeds
+       (simple-cee-ops.h ssapre-mini-ops.h)
+
+2006-06-09  Neale Ferguson <neale@sinenomine.net>
+
+       * mini-exceptions.c (ves_icall_get_frame_info): Fix this function on s390/s390x.
+       * mini-s390x.c, mini-s390.c: Correct ATOMIC operations (incorrect register for CS
+       instruction).
+       * mini-s390x.h, mini-s390.h: Simplify MCONTEXT_GET_BP.
+       * cpu-s390x.md: Fix max. length values for a couple of instructions.
+
+2006-06-09  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * mini-exceptions.c: Minor fix for building mono in Visual Studio.
+
+2006-06-08  Massimiliano Mantione  <massi@ximian.com>
+
+       * ssapre-cee-ops.h: Renamed as "simple-cee-ops.h"
+       * simple-cee-ops.h: Was "ssapre-cee-ops.h" (renamed).
+       * ssapre-mini-ops.h: Renamed as "simple-mini-ops.h"
+       * simple-mini-ops.h: Was "ssapre-mini-ops.h" (renamed).
+       * local-propagation.c: In mono_cprop_invalidate_values use a whitelist
+       of opcodes, so that bug 78549 should not happen again.
+       * ssapre.c: Updated to use the renamed files.
+
+2006-06-08  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-amd64.c (mono_arch_output_basic_block): Fix a wrong reg-reg move 
+       in OP_ATOMIC_EXCHANGE_I4.
+
+2006-06-07  Wade Berrier <wberrier@novell.com>
+
+       * tramp-s390.c: Fix s390 build (add missing pointer declarations 
+       in mono_debugger_create_notification_function)
+
+2006-06-06  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini.c (NEW_AOTCONST_TOKEN): Fix amd64 build.
+       
+       * mini.c (type_from_stack_type): Disable some changes which do not
+       seem to work.
+
+       * driver.c: Reenable opts.
+
+       * mini.h (MonoStackSlot): New structure to keep track of the verification state
+       of the evaluation stack.
+       
+       * mini.h (MonoBasicBlock): Add a 'stack_state' field to keep track of the
+       evaluation stack trace at entry to the bblock.
+
+       * mini.c (merge_stacks): New function to perform verification of stack merges.
+       Turned off by default.
+
+       * mini.c: Fill up ins->klass for instructions whose type is STACK_OBJ or
+       STACK_MP.
+       
+2006-06-06  Massimiliano Mantione  <massi@ximian.com>
+
+       * local-propagation.c: Fixed bug 78549.
+
+2006-06-04  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-exceptions.c (ves_icall_get_frame_info): Fix this function on ia64.
+
+2006-06-02  Miguel de Icaza  <miguel@novell.com>
+
+       * tramp-sparc.c, tramp-ppc.c, tramp-s390.c, tramp-s390x.c,
+       tramp-arm.c, tramp-ia64.c
+       (mono_debugger_create_notification_function): Update signature to
+       new signature and use new protocol for creating the notification
+       function.  
+
+       Should fix the build.
+
+2006-06-02  Geoff Norton  <gnorton@customerdna.com>
+
+       * exceptions-ppc.c (mono_jit_walk_stack)
+       (ves_icall_get_frame_info): Fix the build
+
+2006-06-02  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini.c (mono_set_defaults): Fix the handling of -O=-all.
+
+2006-05-31  Raja R Harinath  <rharinath@novell.com>
+
+       * il2tests.2.il: New file for generics CIL tests.  Add test for
+       #78019.
+       * Makefile.am: Update.
+
+       Fix #78019
+       * mini.c (mono_method_to_ir): Don't apply box+brtrue optimization
+       to nullable types.
+
+2006-05-30  Massimiliano Mantione  <massi@ximian.com>
+
+       * aliasing.c: Fixed bug 78311.
+
+2006-05-29  Martin Baulig  <martin@ximian.com>
+
+       * mini-exceptions.c (mono_find_jit_info): When computing the
+       native offset, check whether we're actually inside the method's
+       code; call mono_debug_print_stack_frame() to format the frame.
+       (ves_icall_System_Exception_get_trace): Call
+       mono_debug_print_stack_frame() to format the stack frame.
+       (ves_icall_get_trace): Update to the new debugging API.
+       (mono_jit_walk_stack_from_ctx): Likewise.
+       (ves_icall_get_frame_info): Likewise.
+
+       * mini.c (get_method_from_ip): Use the new debugging API.
+       (mono_print_method_from_ip): Likewise.
+
+       * exceptions-ppc.c
+       (mono_jit_walk_stack): Use the new debugging API.
+       (ves_icall_get_frame_info): Likewise.   
+
+2006-05-27  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-amd64.c (mono_arch_output_basic_block): Fix MONO_PROFILE_COVERAGE.
+
+2006-05-25  Massimiliano Mantione  <massi@ximian.com>
+
+       * mini.c: Added "limitator" to inline for debugging.
+
+2006-05-24  Martin Baulig  <martin@ximian.com>
+
+       * debug-debugger.c (mono_debugger_init): Create a private,
+       malloc()-based code manager for the notification function and
+       intentionally leak it on exit.  This fixes the crash-on-exit race
+       condition.
+
+       * tramp-amd64.c
+       (mono_debugger_create_notification_function): Added
+       `MonoCodeManager *' argument.
+
+       * tramp-x86.c
+       (mono_debugger_create_notification_function): Added
+       `MonoCodeManager *' argument.
+
+2006-05-23  Massimiliano Mantione  <massi@ximian.com>
+
+       * aliasing.c: Fixed 64 bit issue.
+       * driver.c: Enabled inline,consprop,copyprop,treeprop,deadce by
+       default since all known bugs are fixed (one more time!).
+
+Tue May 23 13:47:28 CEST 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini.c: write barrier support.
+
+2006-05-23  Martin Baulig  <martin@ximian.com>
+
+       * debug-debugger.c: Revert Paolo's change.  Add comment and #error
+       check at the top of the file.
+
+Sun May 21 12:22:29 CEST 2006 Paolo Molaro <lupus@ximian.com>
+
+       * debug-debugger.c: fix the build. Again. Hopefully Martin will stop
+       reverting changes without reason and without changelog entries.
+
+2006-05-18  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-sparc.c (mono_arch_output_basic_block): Add support for large stack offets
+       to a few opcodes. Fixes #78439.
+
+       * mini-sparc.c: Rename mono_sparch_break () to mono_arch_break () to improve
+       consistency with other archs.
+
+       * mini-ia64.c (mono_arch_emit_prolog): Remove debug stuff left in by mistake.
+
+Wed May 17 18:07:33 CEST 2006 Paolo Molaro <lupus@ximian.com>
+
+       * debug-debugger.c: fix the build.
+
+2006-05-17  Martin Baulig  <martin@ximian.com>
+
+       * debug-debugger.c
+       (debugger_thread_vtable): Moved here from ../metadata/threads.c.
+       (debugger_init_threads): Formerly known as mono_debugger_init_threads().
+       (debugger_finalize_threads): Formaly known as mono_debugger_finalize_threads().
+       (debugger_attach): Call GC_mono_debugger_add_all_threads().
+
+2006-05-11  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini.c (mini_init): Call pthread_attr_destroy () to fix a small memory leak.
+
+2006-05-10  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-x86.c (mono_arch_instrument_epilog): Fix handling of 
+       MONO_TYPE_GENERICINST.
+       
+       * mini-amd64.c (mono_arch_instrument_epilog): Fix handling of 
+       MONO_TYPE_GENERICINST.
+
+2006-05-09  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-x86.c (mono_arch_get_vcall_slot_addr): Add a missing call sequence. Fixes
+       #78325.
+
+2006-05-08  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini.c (mono_create_jump_trampoline): Allocate MonoJitInfo from the domain
+       mempool.
+       (mono_jit_free_method): Remove the method from jump_trampoline_hash as well.
+
+2006-05-06  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini.c (mini_cleanup): Applied patch from Joachim Ante (joe@otee.dk). Call
+       mono_trace_cleanup ().
+
+       * iltests.il: Fix problem with the newly added test.
+
+       * mini-codegen.c (mono_local_regalloc): When changing the dreg of an instruction
+       due to register constraints, free up the previous hreg. Fixes #78314.
+
+       * iltests.il: Add new test for #78314.  
+
+       * mini-x86.c (mono_arch_get_inst_for_method): Use OP_ATOMIC_ADD_NEW_I4 for
+       Interlocked.Add. Fixes #78312.
+
+       * mini-amd64.c (mono_arch_get_inst_for_method): Ditto.
+       
+2006-05-05  Zoltan Varga  <vargaz@gmail.com>
+
+       * inssel.brg (mini_emit_virtual_call): Fix a warning.
+
+2006-05-05  Martin Baulig  <martin@ximian.com>
+
+       * debug-mini.c (mono_debug_open_block): New method.
+
+       * mini-amd64.c
+       (mono_arch_output_basic_block): Call mono_debug_open_block() at
+       the beginning of each basic block.
+
+       * mini-x86.c
+       (mono_arch_output_basic_block): Call mono_debug_open_block() at
+       the beginning of each basic block.
+
+2006-05-04  Massimiliano Mantione  <massi@ximian.com>
+
+       * driver.c: Disabled inline,consprop,copyprop,treeprop,deadce by
+       default until I understand why they break the build on amd64.
+
+2006-05-04  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini.c (mini_cleanup): Call mono_cleanup ().
+
+       * mini.c (UNVERIFIED): New macro to make it easier to track down verification
+       errors.
+
 2006-05-04  Massimiliano Mantione  <massi@ximian.com>
 
        * aliasing.c: Fixed shameful cut&paste error that caused JIT crashes.
        it is not correct in some cases. Instead, iterate over all bblocks as
        in the original paper. Fixes --compile-all -O=all System.Xml.dll.
 
+2006-04-28  Miguel de Icaza  <miguel@novell.com>
+
+       * mini.c (mono_jit_compile_method_inner): Use
+       mono_prepare_exception_from_error that resets the value
+       internally.
+
+2006-04-27  Miguel de Icaza  <miguel@novell.com>
+
+       * mini.c: Move the mini_loader_error_to_exception to metadata. 
+       
 2006-04-27  Massimiliano Mantione  <massi@ximian.com>
 
        * aliasing.c: Fixed bug 78210.