2007-01-27 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mono / mini / ChangeLog
index 076c8b618a44c7c0839d3baeef7859a8b77c2f0d..73cafb2216bae91be50f3f3aeb69bee6074e033c 100644 (file)
@@ -1,3 +1,332 @@
+2007-01-27  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-amd64.c (peephole_pass): Remove optimizations which omit a 
+       narrowing. Fixes #80622.
+
+       * iltests.il: Add new regresssion test. 
+
+Fri Jan 26 18:31:45 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * mini.h, mini-trampolines.c, aliasing.c, mini-codegen.c,
+       debug-debugger.c, debug-debugger.h: warning fixes.
+       * driver.c: updated copyright year and made it fit in one line.
+
+Fri Jan 26 12:48:39 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * aot-runtime.c: updated to use mono-dl instead of gmodule.
+
+2007-01-25  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-x86.c (mono_arch_output_basic_block): Fix #80507 for x86.
+
+       * mini-amd64.c (mono_arch_output_basic_block): Fix #80507 for amd64.
+
+       * iltests.il: Add new test for bug #80507.
+
+Wed Jan 24 19:10:28 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * mini-arm.h: use soft-float also on vfp for now.
+
+Wed Jan 24 14:54:40 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * mini.c: fix some more soft-float issues.
+
+2007-01-24  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-sparc.h (MONO_ARCH_FRAME_ALIGNMENT): Fix sparc build.
+
+2007-01-24  Massimiliano Mantione  <massi@ximian.com>
+       * mini-arch.h, , inssel-amd64.brg, mini-x86.c, inssel-x86.brg,
+       mini-ia64.c, mini-sparc.c, mini-alpha.c: Introduced
+       MONO_ARCH_LOCALLOC_ALIGNMEENT to fix bug 80498.
+
+Wed Jan 24 12:04:39 GMT 2007 Paolo Molaro <lupus@ximian.com>
+
+       * mini-arm.c: typo fix.
+
+2007-01-23  Neale Ferguson <neale@sinenomine.net>
+
+       * mini-s390x.c: Use lgb instructions for I1 type variables instead of lb.
+
+2007-01-21  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini.c (mono_allocate_stack_slots_full): Allocate memory from the cfg mempool.
+       Share stack slots for scalar types. Avoid expensive g_list_free () calls.
+
+       * mini-x86.c (mono_arch_allocate_vars): Don't free the result of allocate_stack_slots_full.
+
+       * mini-amd64.c mini-ia64.c mini-alpha.c: Ditto. 
+
+       * mini.h (MonoJitStats): Add a new JIT statistics: locals_stack_size.
+       
+       * inssel.brg: Fix a warning.
+
+       * mini.h (MonoBasicBlock): Make bb->dominated a GSList.
+
+       * abcremoval.c ssa.c ssapre.c: Update after this change.
+       
+       * dominators.c (compute_dominators): Allocate bb->dominated from the cfg mempool.
+
+       * dominators.c (df_set): Use mono_bitset_union_fast.    
+
+Sat Jan 20 16:59:01 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * mini.h, genmdesc.c, genmdesc.pl, mini-${arch}.c, cprop.c,
+       mini-codegen.c: reduce relocations and memory usage for the cpu
+       description.
+
+2007-01-20  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-codegen.c (mono_regstate2_alloc_int): Optimize this using bsfq on amd64.
+
+       * genmdesc.c genmdesc.pl mini.h: Remove some unused fields from the mdesc tables
+       to reduce their size.
+
+2007-01-19 Mark Mason <mason@broadcom.com>
+
+       * exceptions-mips.c: fix mono_arch_ip_from_context(), increase exception debug support.
+       * mini-mips.c: more configuration macros, support long conditional branches, additional
+       asserts, fix epilog instrumentation.
+       * mini-mips.h: use standard stack walk
+       * cpu-mips.md: increase size of div, rem and conditional branches
+       
+Fri Jan 19 17:23:32 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * mini.h, mini-codegen.c, mini-$(arch).h: claenup references
+       to cpu spec data.
+
+2007-01-19  Zoltan Varga  <vargaz@gmail.com>
+
+       * aot-compiler.c (encode_klass_info): Allow classes of the form <Type>[][].
+       (compile_method): Ditto.
+
+       * aot-runtime.c (decode_klass_info): Ditto.
+
+       * mini.c (mono_method_to_ir): Call mono_get_got_var () in a place where it is
+       needed by the code generated by inssel.brg. Also fix a warning.
+
+Thu Jan 18 17:55:22 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * mini.c: deal with enums that become genericinsts by
+       being nested in a generic class (bug #79956).
+
+Thu Jan 18 16:52:56 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * mini.c: match the generic definition to check for
+       private access with generic types (bug #78431).
+
+Thu Jan 18 11:50:13 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * genmdesc.pl, Makefile.am: perl implementation of genmdesc,
+       to make life easier for people cross-compiling that insist on not
+       using scratchbox.
+
+2007-01-17 Mark Mason <mason@broadcom.com>
+
+       * inssel-long.brg: patch to deal with mips missing flags
+       * inssel-long32-mips.brg: implement overflow checks
+       * insset-mips.brg: implement overflow checks
+       * mini-mips.h: implement conditional exception handling
+       * mini-mips.c: add mips_emit_exc_by_name(), implement conditional exception handling.
+         Remove unused code, minor cleanups.
+       * exceptions-mips.c: minor cleanups
+       * mini-ops.h: add mips conditional exception ops
+       * cpu-mips.md: add mips conditional exception ops
+
+       
+Wed Jan 17 19:22:34 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * inssel.brg: patch from Mark Mason <mason@broadcom.com>
+       to deal with mips missing of flags.
+
+Tue Jan 16 20:01:01 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * exceptions-ppc.c: execute fault handlers.
+
+Tue Jan 16 19:54:44 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * mini-ppc.c: handle missing call locationss with FORCE_INDIR_CALL.
+
+Tue Jan 16 13:14:31 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * mini.c: handle also floating point values in initialize_array.
+
+Tue Jan 16 12:42:40 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * mini.c, aot-runtime.c, aot-compiler.c: enable aot compilation of
+       array initialization and make it conditional on the intrins option.
+
+Tue Jan 16 11:28:45 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * mini.h, patch-info.h, Makefile.am, aot-compiler.c: reduce
+       relocations and put the patch info names close to the enum definition.
+
+2007-01-15 Mark Mason <mason@broadcom.com>
+
+       * basic.cs, exceptions.cs: break up large tests to increase debugability.
+
+Mon Jan 15 18:57:14 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * mini.c: optimized RuntimeHelpers::InitializeArray () calls.
+
+2007-01-12  Raja R Harinath  <rharinath@novell.com>
+
+       * mini.c (mono_method_to_ir): Use new MonoGenericContext accessor.
+
+Thu Jan 11 11:16:42 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * Makefile.am: distribute the mips sources.
+
+Wed Jan 10 19:49:33 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * mini-codegen.h: handle bug #80489 here, by excluding ecx
+       directly.
+
+Wed Jan 10 19:08:05 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * cpu-x86.md: back out for now as this triggers other regressions.
+
+Wed Jan 10 18:33:16 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * cpu-x86.md: force src1 and dest regpair for long shift instructions
+       to eax:edx, so ecx can't get allocated to them (bug #80489).
+
+Tue Jan 9 12:36:11 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * mini.c, mini-exceptions.c: enabled running fault handlers
+       (bug #80469).
+
+2007-01-03  Miguel de Icaza  <miguel@novell.com>
+
+       * driver.c: If nothing fail, do not use the string "failed",
+       because it makes it very annoying to view test result logs on the
+       web. 
+
+2006-12-30  Miguel de Icaza  <miguel@novell.com>
+
+       * debug-debugger.c (mono_debugger_main): Rename "main" to
+       "main_method" to prevent a warning.
+
+       Remove a warning for unused field.
+
+2006-12-28  Martin Baulig  <martin@ximian.com>
+
+       * debug-debugger.c
+       (MONO_DEBUGGER__debugger_info): Add `get_lmf_addr'.
+
+2006-12-22  Martin Baulig  <martin@ximian.com>
+
+       * mdb-debug-info32.s, mdb-debug-info64.s: New files.
+       Put a pointer to the `MONO_DEBUGGER__debugger_info' into a
+       seperate `.mdb_debug_info' section, so we can access it from the
+       debugger even if the binary is stripped.
+
+       * debug-debug.c: Reference the `MONO_DEBUGGER__debugger_info_ptr'
+       from the `.mdb_debug_info' here to prevent the linker from
+       removing that section.
+
+       * Makefile.am (mono_debugger_sources): Add mdb-debug-info32.s /
+       mdb-debug-info64.s.
+
+2006-12-19  Robert Jordan  <robertj@gmx.net>
+
+       * mini-x86: enable the code to return small structures in
+       registers for FreeBSD as well. Fixes bug #80278.
+       * aot-runtime.c: Include sys/wait.h for WEXITSTATUS/WIFEXITED.
+
+Mon Dec 18 19:47:17 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini-x86.c: align the stack when calling the profiler
+       function instrumenting the prolog (on OSX).
+
+Thu Dec 14 15:22:43 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini.c: emit a break opcode where Debugger.Break () is called.
+
+2006-12-13  Miguel de Icaza  <miguel@novell.com>
+
+       * mini.c (mono_method_to_ir): Provide useful information on this
+       assert, to prevent others from debugging like I did.
+
+Tue Dec 12 17:01:38 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini.c: enable code which was incorrectly commented
+       (bug #80235).
+
+Tue Dec 12 16:28:15 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini-x86.c: enable on OSX, too, the code to return small
+       structures in registers.
+
+Mon Dec 11 19:22:35 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini-x86.c: remove the use of the dynamic code manager here, too.
+
+Mon Dec 11 19:08:33 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini.h, debug-debugger.c, tramp-*.c: fixed 
+       mono_debugger_create_notification_function() to use
+       mono_global_codeman_reserve () instead of a dynamic code manager.
+
+Tue Dec 5 17:54:50 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini.c, jit-icalls.h, jit-icalls.c: remove the 
+       ves_array_element_address() jit icall and use a generated
+       managed method instead (which is about 4 times faster for a rank 3
+       array access).
+
+2006-11-29  Mark Mason  <mason@broadcom.com>
+
+       * basic-calls.cs: additional tests for passing
+       structures as function arguments.
+
+2006-11-29  Mark Mason  <mason@broadcom.com>
+
+       * mini-mips.h: disable custom exception handling
+       * mini-mips.c: throw/rethrow should use jalr to call
+       exception stubs.  Fixed bug with passing structures
+       by value. More support for tracing floating point
+       functions.
+
+Wed Nov 29 20:28:17 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini.c: fixed typo in the soft-float ldind.r4 handling
+       (bug #80086).
+
+Wed Nov 29 11:33:03 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini.c, mini.h, driver.c: added --runtime command line
+       option to select a different runtime than the autodetected one.
+       * jit.h: added API for embedders to initialize with a specific
+       runtime version.
+
+Tue Nov 28 21:24:55 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini.c: handle also boxing of r4 values (bug #80024).
+
+Tue Nov 28 19:45:44 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini-ppc.c: force indirect calls until we reserve
+       enough address space for all the generated code.
+
+Tue Nov 28 20:04:34 GMT 2006 Paolo Molaro <lupus@ximian.com>
+
+       * exceptions-arm.c: workaround bugs in the libc definition
+       of struct ucontext.
+
+Mon Nov 27 15:13:41 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * inssel.brg: fixes from me and Mark Mason.
+
+2006-11-23  Dick Porter  <dick@ximian.com>
+
+       * wapihandles.c (mini_wapi_seminfo): No need to adjust the counter
+       semaphore display now we've fixed the initial value
+
+Wed Nov 22 11:04:37 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * inssel.brg: partially revert the last change to fix the build.
+
 2006-11-21  Mark Mason  <mason@broadcom.com>
 
        * inssel.brg: Add and use compare-and-branch macros to support