X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2FChangeLog;h=4f926f8371aa408d662a8fc9ddfe19972f5a2c27;hb=01cb131e32f63f97511ed233f8157424d1e4f2f3;hp=72ab5396fc68fd7159b9130f4db547216fb3b9eb;hpb=53a91173693829d29a1ac1d404f448f66df70401;p=mono.git diff --git a/mono/mini/ChangeLog b/mono/mini/ChangeLog index 72ab5396fc6..4f926f8371a 100644 --- a/mono/mini/ChangeLog +++ b/mono/mini/ChangeLog @@ -1,3 +1,418 @@ +2004-08-05 Zoltan Varga + + * mini.c: Use OP_PADD to add offsets to addresses. + + * mini-amd64.h: Disable SIGSEGV_ON_ALTSTACK. + +2004-08-04 Bernie Solomon + + * mini-sparc.c (mono_arch_emit_epilog): fix check + for folding last op into restore instruction + +2004-08-05 Zoltan Varga + + * 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 + + * 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 + + * mini-ppc.c: mul.ovf.un exception name fix. + +2004-08-03 Martin Baulig + + * mini-x86.c (mono_arch_call_opcode): Correctly handle generic + instances; before jumping to `handle_enum', also modify `ptype'. + +2004-08-02 Bernie Solomon + + * cpu-sparc.md: fcall maximal length too small. + +2004-08-02 Zoltan Varga + + * 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 + + * mini-ppc.c: reg allocator fix. + +2004-07-31 Zoltan Varga + + * 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 + + * mini-s390.c: Corrected macro in emit_float_to_int + + * s390-abi.cs: Tests to exercise the s390 ABI + +2004-07-30 Zoltan Varga + + * 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 + + * mini-sparc.c: add case for OP_IDIV_UN + +2004-07-30 Zoltan Varga + + * 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 + + * basic.cs: regression tests. + + * inssel-x86.brg: Disable cmp BYTE PTR [eax], imm, it causes various + regressions. + +2004-07-30 Zoltan Varga + + * 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 + + * mini-ppc.c: make sure temp regs are not used for global reg + allocation. + +2004-07-29 Bernie Solomon + + * cpu-sparc.md: conv_i8 fix for 64bits + + * mini-sparc.c: add cases for OP_IXXX codes for 64bits + +2004-07-29 Ben Maurer + + * 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 + + * *-amd64.*: More AMD64 work. + +2004-07-28 Ben Maurer + + * cpu-pentium.md, inssel-x86.brg, mini-ops.h, mini-x86.c: + add a compare-not-equal opcode. + +2004-07-28 Lluis Sanchez Gual + + * mini.c: Use mono_init_from_assembly instead of mono_init. + +2004-07-28 Zoltan Varga + + * 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 + + * basic.cs: tests for 61797 and 61740 + +Tue Jul 27 16:05:19 CEST 2004 Paolo Molaro + + * mini-ppc.c, mini-sparc.c, mini-s390.c: keep track of line + numbers in the debug info (spotted by Geoff Norton, ). + +2004-07-24 Zoltan Varga + + * mini-sparc.c (mono_arch_output_basic_block): Add CEE_CONV_U8/I8. + + * *-amd64*.*: Ongoing AMD64 work. + +2004-07-23 Zoltan Varga + + * 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 + + * 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 + + * mini-sparc.h: fix implementations of __builtin + functions for Sun compiler for V9. + +2004-07-16 Ben Maurer + + * 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 + + * mini-ppc.c, exceptions-ppc.c: cleanups and fixes (the + new XSP should work with these changes). + +2004-07-14 Ben Maurer + + * inssel-{long32,x86,}.brg: trivial optimizations. + +Mon Jul 12 20:25:57 CEST 2004 Paolo Molaro + + * mini.c: load value when emitting box operation in + constrained calls. + +2004-07-12 Ben Maurer + + * 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 + + * inssel-ppc.brg: arguments on the stack are always + relative to the stack pointer (spotted by Neale Ferguson). + +2004-07-11 Gonzalo Paniagua Javier + + * 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 + + * aot.c: register roots + +2004-07-09 Atsushi Enomoto + + * aot.c : I could just use PLATFORM_WIN32 flag. + +2004-07-09 Atsushi Enomoto + + * aot.c : Reverting the previous fix. This time it broke linux build. + +2004-07-09 Atsushi Enomoto + + * aot.c : quick cygwin build fix. mkdir() with two args does not exist. + +2004-07-08 Zoltan Varga + + * 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 with CEE_MONO_ICALL. Move registration of marshalling + related icalls to marshal.c. + +2004-07-06 Zoltan Varga + + * 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 + * 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 + + * 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 + + * mini.c (optimize_branches): Fix linking of bblocks in branch->branch + optimization. + +2004-07-03 Zoltan Varga + + * aot.c (mono_aot_load_method): Fix loading of debug info. + +2004-07-02 Zoltan Varga + + * aot.c: Add logging support. + +2004-07-01 Zoltan Varga + + * 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 + + * aot.c: Fix alignment problems on 32 bit platforms. + +2004-07-01 Zoltan Varga + + * 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 + + * inssel-sparc.brg: Add new rule to avoid register moves. + + * inssel.brg: Add ldind_to_load_membase helper function. + +2004-06-30 Ben Maurer + + * mini.c: OffsetToStringData intrinsic. + +2004-06-30 Zoltan Varga + + * 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 + + * 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 + + * driver.c: remove loop from the default optimizations: it seems to + interact badly with some of the other options (see bug #60613). + +2004-06-25 Zoltan Varga + + * mini.c mini-x86.h mini-x86.c: Applied patch from Guenter Feldmann + (fld@informatik.uni-bremen.de): Add Solaris x86 support. + +Tue Jun 22 21:29:11 CEST 2004 Paolo Molaro + + * mini-ppc.c, cpu-g4.md: small updates to be able to compile + vararg-using methods. + +2004-06-21 Martin Baulig + + * mini/mini-exceptions.c + (mono_handle_exception): Added `gpointer original_ip' argument. + After calling mono_unhandled_exception(), call + mono_debugger_unhandled_exception() and if that returns true, + restore the context and return. + +Mon Jun 21 19:26:40 CEST 2004 Paolo Molaro + + * mini-ppc.c: prefer the use of relative branches so + they won't need to be patched in aot code (patch from Patrick Beard). + +Mon Jun 21 19:03:18 CEST 2004 Paolo Molaro + + * aot.c: patch from Patrick Beard to make the output assembly + more correct for the MacOSX assembler. Small tweak to + generate sane images on Linux/PPC, too. + +Fri Jun 18 18:24:28 CEST 2004 Paolo Molaro + + * mini.c, mini.h, mini-ppc.c: handle varargs methods with a special + case until bug #59509 is fixed (shows up in #60332). + +Tue Jun 15 16:36:51 CEST 2004 Paolo Molaro + + * mini.c: make sure the needed wrappers are compiled, too, with + precomp. + +Mon Jun 14 18:36:08 CEST 2004 Paolo Molaro + + * driver.c: remove NPTL reference in --version output. + +Sun Jun 13 17:25:28 CEST 2004 Paolo Molaro + + * aot.c: patch from Patrick Beard (pcbeard@mac.com) to + generate valid assembly for the Mach-O assembler. Sun Jun 13 15:59:38 CEST 2004 Paolo Molaro