2004-08-05 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mono / mini / ChangeLog
index 97cf4a9ee9912ca2e9bbd608b9f3e4d980ed6f64..4f926f8371aa408d662a8fc9ddfe19972f5a2c27 100644 (file)
@@ -1,3 +1,365 @@
+2004-08-05  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini.c: Use OP_PADD to add offsets to addresses.
+
+       * mini-amd64.h: Disable SIGSEGV_ON_ALTSTACK.
+
+2004-08-04  Bernie Solomon  <bernard@ugsolutions.com>
+
+       * mini-sparc.c (mono_arch_emit_epilog): fix check
+       for folding last op into restore instruction
+
+2004-08-05  Zoltan Varga  <vargaz@freemail.hu>
+
+       * exceptions-amd64.c (mono_arch_get_throw_exception_by_name): Allocate
+       helper methods using the code manager.
+       
+       * exceptions-amd64.c (mono_arch_get_throw_exception): Fix maximum length.
+
+       * mini-amd64.c (mono_arch_allocate_vars): Fix tls offset detection.
+
+Tue Aug 3 23:50:00 EST 2004 Neale Ferguson <Neale.Ferguson@SoftwareAG-usa.com>
+       
+       * mini-s390x.c mini-s390x.h tramp-s390x.c inssel-s390x.brg
+         cpu-s390x.md exceptions-s390x.c Makefile.am: S/390 64-bit JIT
+
+       * mini-s390.c: fix tail processing
+
+Tue Aug 3 01:35:44 PDT 2004 Paolo Molaro <lupus@ximian.com>
+
+       * mini-ppc.c: mul.ovf.un exception name fix.
+
+2004-08-03  Martin Baulig  <martin@ximian.com>
+
+       * mini-x86.c (mono_arch_call_opcode): Correctly handle generic
+       instances; before jumping to `handle_enum', also modify `ptype'.
+
+2004-08-02  Bernie Solomon  <bernard@ugsolutions.com>
+
+       * cpu-sparc.md: fcall maximal length too small.
+
+2004-08-02  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini-amd64.c mini.h: Add initial support for passing/returning 
+       structures to/from pinvoked methods.
+
+Mon Aug 2 11:59:35 PDT 2004 Paolo Molaro <lupus@ximian.com>
+
+       * mini-ppc.c: reg allocator fix.
+
+2004-07-31  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini-amd64.c (mono_arch_output_basic_block): Fix OP_X86_PUSH_OBJ.
+
+       * inssel.brg: Optimize memset on 64 bit machines.
+
+       * mini-amd64.c: Fix some vararg cases.
+
+2004-07-30  Neale Ferguson <Neale.Ferguson@SoftwareAG-usa.com>
+
+       * mini-s390.c: Corrected macro in emit_float_to_int
+
+       * s390-abi.cs: Tests to exercise the s390 ABI
+
+2004-07-30  Zoltan Varga  <vargaz@freemail.hu>
+
+       * exceptions-amd64.c (mono_arch_find_jit_info): Fix restoring of
+       caller saved regs.
+
+       * basic.cs: Add a test for add.ovf.un.
+
+2004-07-30  Bernie Solomon  <bernard@ugsolutions.com>
+
+       * mini-sparc.c: add case for OP_IDIV_UN
+
+2004-07-30  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini-amd64.c mini-amd64.h mini.c: Add support for vararg pinvoke calls.
+       
+       * mini-amd64.c cpu-amd64.md: Ongoing JIT work.
+
+2004-07-30  Ben Maurer  <bmaurer@ximian.com>
+
+       * basic.cs: regression tests.
+
+       * inssel-x86.brg: Disable cmp BYTE PTR [eax], imm, it causes various
+       regressions.
+
+2004-07-30  Zoltan Varga  <vargaz@freemail.hu>
+
+       * basic.cs: Add a new test.
+
+       * mini-amd64.c aot.c cpu-amd64.md: Add support for tracing, profiling 
+       and AOT. Various fixes and optimizations.
+
+       * inssel.brg (CALL_REG): Add 64 bit versions of call_reg rules.
+
+Fri Jul 30 15:49:26 CEST 2004 Paolo Molaro <lupus@ximian.com>
+
+       * mini-ppc.c: make sure temp regs are not used for global reg
+       allocation.
+
+2004-07-29  Bernie Solomon  <bernard@ugsolutions.com>
+
+       * cpu-sparc.md: conv_i8 fix for 64bits
+
+       * mini-sparc.c: add cases for OP_IXXX codes for 64bits
+
+2004-07-29  Ben Maurer  <bmaurer@ximian.com>
+       
+       * cpu-pentium.md, mini-x86.c, inssel-x86.brg, mini-ops.h:
+       add opcode for cmp BYTE PTR [eax], imm.
+
+       * inssel.brg: Make memcpy and memset takes bases.
+
+2004-07-28  Zoltan Varga  <vargaz@freemail.hu>
+
+       * *-amd64.*: More AMD64 work.
+       
+2004-07-28  Ben Maurer  <bmaurer@ximian.com>
+
+       * cpu-pentium.md, inssel-x86.brg, mini-ops.h, mini-x86.c:
+       add a compare-not-equal opcode.
+       
+2004-07-28  Lluis Sanchez Gual  <lluis@novell.com>
+
+       * mini.c: Use mono_init_from_assembly instead of mono_init.
+       
+2004-07-28  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini.c: Fix opcode mapping for STACK_MP on 64 bit platforms.
+
+       * mini.c (CEE_NEWOBJ): Call mono_array_new_va using the correct signature.
+
+       * mini.c: Use MONO_ARCH_SIGACTION on AMD64 as well.
+
+       * inssel.brg: 64 bit fixes.
+
+       * mini.h (MonoCallInst): Add some AMD64 specific data.
+
+       * mini.h: Add some OP_P opcodes.
+
+2004-07-28  Ben Maurer  <bmaurer@ximian.com>
+
+       * basic.cs: tests for 61797 and 61740
+
+Tue Jul 27 16:05:19 CEST 2004 Paolo Molaro <lupus@ximian.com>
+
+       * mini-ppc.c, mini-sparc.c, mini-s390.c: keep track of line
+       numbers in the debug info (spotted by Geoff Norton, <gnorton@customerdna.com>).
+
+2004-07-24  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini-sparc.c (mono_arch_output_basic_block): Add CEE_CONV_U8/I8.
+
+       * *-amd64*.*: Ongoing AMD64 work.
+
+2004-07-23 Zoltan Varga <vargaz@freemail.hu>
+
+       * inssel-long.brg: Implement CONV_I8/CONV_U8 in the backends.
+
+       * *-amd64*: Ongoing AMD64 work.
+
+       * mini-arch.h: Add AMD64 support.
+
+       * mini-sparc.c (mono_arch_is_inst_imm): New arch dependent function.
+
+       * mini.h: Add new arch dependent function mono_arch_is_inst_imm.
+
+       * mini-ops.h: Add new opcodes.
+
+       * Makefile.am: Add AMD64 support.
+
+       * inssel.brg inssel-long32.brg inssel-long.brg: Move mul/div and shift
+       rules into the inssel-long*.brg files.
+
+       * *-amd64.*: Add beginnings of AMD64 backend.
+
+2004-07-22  Ben Maurer  <bmaurer@ximian.com>
+
+       * mini.c (print_dfn): commenting out the code that prints
+       the cil. With -O=deadce, this makes -v -v crash.
+       
+       * cpu-pentium.md: make checkthis have a length of 2
+
+2004-04-21  Bernie Solomon  <bernard@ugsolutions.com>
+
+       * mini-sparc.h: fix implementations of __builtin
+       functions for Sun compiler for V9.
+
+2004-07-16  Ben Maurer  <bmaurer@ximain.com>
+
+       * mini.c: use the new stelem.ref wrapper
+       * exceptions.cs, arrays.cs: new stelem.ref tests
+
+Wed Jul 14 19:08:41 CEST 2004 Paolo Molaro <lupus@ximian.com>
+
+       * mini-ppc.c, exceptions-ppc.c: cleanups and fixes (the
+       new XSP should work with these changes).
+
+2004-07-14  Ben Maurer  <bmaurer@ximain.com>
+       
+       * inssel-{long32,x86,}.brg: trivial optimizations.
+       
+Mon Jul 12 20:25:57 CEST 2004 Paolo Molaro <lupus@ximian.com>
+
+       * mini.c: load value when emitting box operation in
+       constrained calls.
+
+2004-07-12  Ben Maurer  <bmaurer@ximian.com>
+
+       * mini-x86.c (OP_CHECK_THIS): cmp DWORD PTR [eax], eax
+       is one byte shorter than cmp DWORD PTR [eax], 0.
+
+Mon Jul 12 17:47:00 CEST 2004 Paolo Molaro <lupus@ximian.com>
+
+       * inssel-ppc.brg: arguments on the stack are always
+       relative to the stack pointer (spotted by Neale Ferguson).
+
+2004-07-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * exceptions-x86.c: delay appending the method name to the trace until
+       after mono_jit_info_table_find is called, as this gets the real
+       MonoMethod.
+
+2004-07-09  Ben Maurer  <bmaurer@ximian.com>
+
+       * aot.c: register roots
+
+2004-07-09  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * aot.c : I could just use PLATFORM_WIN32 flag.
+
+2004-07-09  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * aot.c : Reverting the previous fix. This time it broke linux build.
+
+2004-07-09  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * aot.c : quick cygwin build fix. mkdir() with two args does not exist.
+
+2004-07-08  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini.c (handle_stack_args): Remove some more debugging code.
+       
+       * mini.c (handle_stack_args): Remove debug output left in by mistake.
+
+       * driver.c mini.h aot.c: Allow additional options to be specified with
+       --aot and pass them to mono_compile_assembly.
+
+       * aot.c: Add experimental code to AOT compile all loaded assemblies
+       on demand and save the code into a cache in the filesystem.
+
+       * aot.c: Add support for more wrapper methods.
+       
+       * mini.c (handle_stack_args): Handle some corner cases. Fixes 
+       58863.
+
+       * cpu-*.md: Remove removed opcodes.
+
+       * mini.h mini.c: Move JIT icall handling to icall.c. Replace usage of
+       CEE_MONO_PROC<x> with CEE_MONO_ICALL. Move registration of marshalling
+       related icalls to marshal.c.
+
+2004-07-06  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini-ops.h: Add OP_SAVE_LMF and OP_RESTORE_LMF.
+
+       * Makefile.am (EXTRA_DIST): Add inssel-long[32].brg.
+
+       * inssel.brg: Fix warning. Add rules for SAVE_LMF and RESTORE_LMF.
+
+2004-07-06  Ben Maurer  <bmaurer@ximian.com>
+       * liveness.c: If liveness is recomputated we need to reset the information
+       for each variable. This way, if the liveness range has been narrowed
+       by optimizations that happened after the last computation, we can return
+       a smaller range.
+       
+       For example, if you have
+       
+       {
+               int i = 0;
+               
+               // Tons of code that does not affect i
+               
+               i = foo ();
+               ...
+       }
+       
+       i = 0 is dead code and will be removed by SSA. However, when
+       linear scan gets to the code, i will still appear to be live
+       throughout the entire block. This prevents good register allocation.
+
+2004-07-06  Martin Baulig  <martin@ximian.com>
+
+       * debug-mini.c (mono_debug_init_method): Allow
+       MONO_WRAPPER_MANAGED_TO_NATIVE wrappers.
+       (mono_debug_add_icall_wrapper): New method.
+
+       * mini.c (mono_icall_get_wrapper): Call mono_debug_add_icall_wrapper().
+
+2004-07-05  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini.c (optimize_branches): Fix linking of bblocks in branch->branch
+       optimization.
+
+2004-07-03  Zoltan Varga  <vargaz@freemail.hu>
+
+       * aot.c (mono_aot_load_method): Fix loading of debug info.
+
+2004-07-02  Zoltan Varga  <vargaz@freemail.hu>
+
+       * aot.c: Add logging support.
+
+2004-07-01  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini.h: Add prototype for mono_print_method_from_ip.
+
+       * mini.c: 64 bit fixes. Use LCOMPARE for comparing longs.
+
+       * inssel.brg: 64 bit fixes.
+
+       * inssel.brg inssel-long32.brg: Move 32 bit arithmetic rules to 
+       inssel-long32.brg.
+
+       * Makefile.am: Add SPARC64 support.
+
+2004-07-02  Zoltan Varga  <vargaz@freemail.hu>
+
+       * aot.c: Fix alignment problems on 32 bit platforms.
+
+2004-07-01  Zoltan Varga  <vargaz@freemail.hu>
+
+       * helpers.c (mono_disassemble_code): Pass -xarch=v9 to assembler on
+       SPARC64.
+
+       * aot.c: Add SPARC64 support. Reorganize patch table to fix alignment
+       problems.
+
+       * mini.h: Bump AOT file version. Some 64 bit fixes.
+
+2004-06-30  Zoltan Varga  <vargaz@freemail.hu>
+
+       * inssel-sparc.brg: Add new rule to avoid register moves.
+
+       * inssel.brg: Add ldind_to_load_membase helper function.
+
+2004-06-30  Ben Maurer  <bmaurer@ximian.com>
+
+       * mini.c: OffsetToStringData intrinsic.
+       
+2004-06-30  Zoltan Varga  <vargaz@freemail.hu>
+
+       * ssa.c: Handle OP_LCOMPARE the same as OP_COMPARE.
+
+       * objects.cs exceptions.cs basic.cs basic-long.cs basic-calls.cs: New
+       regression tests.
+
+       * mini-ops.h cpu-sparc.md mini-sparc.h mini-sparc.c exceptions-sparc.c tramp-sparc.c inssel-long.brg: Add SPARC64 support.
+Mon Jun 28 18:05:09 CEST 2004 Paolo Molaro <lupus@ximian.com>
+
+       * mini.c: reinstated mono_compile_get_interface_var()
+       on x86, too, since the change breaks the Gtk# build there as well.
 
 Fri Jun 25 17:36:28 CEST 2004 Paolo Molaro <lupus@ximian.com>