2009-07-13 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mono / mini / ChangeLog
index 6f47b2c90e891300ee6eb190c51bc0529bb443c3..964dd6d93bbb51ec990145a1855947cbf2538352 100644 (file)
@@ -1,3 +1,329 @@
+2009-07-13  Zoltan Varga  <vargaz@gmail.com>
+
+       * basic-simd.cs: Add a test for #521662.
+
+2009-06-24  Neale Ferguson <neale@sinenomine.net>
+
+       * mini-s390x.c: Correct LCONV_TO_Ix and ICONV_TO_Ix routines. Fix leave_method
+       dump of structure return value. Fix some formatting.
+       * cpu-s390x.md: Fix lengths of instruction sequences.
+       * mini-s390.c: Minor formatting changes.
+
+2009-06-24  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-x86.h: Applied patch from Romain Tartiere (romain@blogreen.org).
+       Use sigaction on freebsd as well.
+
+2009-06-23  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini.h: Don't define MONO_ARCH_HAVE_TLS_GET to 0, as some code
+       uses #ifdef on it.
+       
+       * mini.c (mini_init): Revert a change which breaks cross-compilation.
+
+2009-06-22  Mark Probst  <mark.probst@gmail.com>
+
+       * mini-ppc.c, cpu-ppc.md: Enable TLS on Darwin/G4.
+
+2009-06-22  Mark Probst  <mark.probst@gmail.com>
+
+       * mini.c, mini.h: Tell the runtime whether we support MONO_TLS.
+
+2009-06-20  Martin Baulig  <martin@ximian.com>
+
+       * debug-mini.c
+       (MonoDebuggerThreadFlags): New enum typedef.
+       (MonoDebuggerThreadInfo): Added `guint32 thread_flags'.
+       (mono_debugger_thread_created): Added `gpointer func' argument;
+       initialize the new `thread_flags' field.
+
+2009-06-18  Martin Baulig  <martin@ximian.com>
+
+       * debug-debugger.h (MonoDebuggerRuntimeFlags): New enum typedef.
+       (MonoDebuggerInfo): Renamed the `dummy' field info `runtime_info'.
+
+       * debug-debugger.c
+       (mini_debugger_set_attach_ok): New function; sets the attach-ok
+       flag in `MONO_DEBUGGER__info.runtime_info'.
+
+       * driver.c
+       (mono_main): Call mini_debugger_set_attach_ok() if generics
+       sharing is disabled.
+
+2009-06-22  Zoltan Varga  <vargaz@gmail.com>
+
+       * aot-compiler.c (add_wrappers): Fix a warning.
+
+       * mini-ppc.c tramp-ppc.c exceptions-ppc.c aot-compiler.c: Update after
+       the ppc load/store macro changes.
+
+2009-06-21  Zoltan Varga  <vargaz@gmail.com>
+
+       * tramp-ppc.c (mono_arch_patch_plt_entry): Implement this.
+
+       * aot-compiler.c (mono_compile_assembly): Sanitize the plt symbol too,
+       not just the got symbol.
+
+       * mini-ppc.c aot-compiler.c unwind.c: Implement generation of unwind info
+       on ppc.
+
+       * aot-compiler.c unwind.c: Add infrastructure for unwind support on
+       ppc.
+       
+       * aot-compiler.c: Remove some fixmes.
+
+       * driver.c (mono_main): Print a helpful message when cross-compiling.
+
+       * mini.c (mini_init): Disable signal handlers when cross-compiling.
+
+       * method-to-ir.c (initialize_array_data): Do the optimization if the
+       target byte order is little endian, instead of the host byte order.
+
+       * aot-compiler.c: Emit sizes for most symbols, only emit runtime-invoke
+       wrappers into the mscorlib image, Emit a unique plt symbol for each
+       image, emit symbols for plt entries.
+
+       * image-writer.c (img_writer_emit_symbol_size): New function to emit
+       a .size directive.
+       
+2009-06-20  Zoltan Varga  <vargaz@gmail.com>
+
+       * aot-compiler.c (add_wrappers): Avoid calling 
+       mono_marshal_get_type_info () since it can assert for some types.
+
+       * method-to-ir.c (mono_method_to_ir): Disable aot when some forms of 
+       ldtoken are used inside wrappers.
+
+       * helpers.c: Add support for prefixing tools with the arch name.
+
+       * mini.h (OP_LOADR_MEMBASE): New opcodes to load/store pointer sized
+       quantities when using ilp32.
+
+       * mini-codegen.c: Use OP_LOADR_MEMBASE/OP_STORER_MEMBASE for loading/storing
+       spill slots. Use sizeof(mgreg_t) for the spill slot size.
+
+       * image-writer.c: Use .long on ilp32.
+
+       * aot-compiler.c: Use 32 bit loads on ilp32.
+       
+2009-06-19  Zoltan Varga  <vargaz@gmail.com>
+
+       * tramp-ppc.c (mono_arch_create_trampoline_code): Fix the ppc build.
+
+       * mini-ops.h: Use TARGET_POWERPC define for consistency.
+
+       * patch-info.h: Add 'MSCORLIB_GOT_ADDR' patch type.
+
+       * aot-compiler.c aot-runtime.c: Put the mscorlib got address into the 
+       second got slot of every aot image.
+       
+       * aot-compiler.c aot-runtime.c mini-trampolines.c: Add support for
+       aot on platforms with function pointers.
+
+       * mini-ppc.h mini-ppp.c cpu-ppc.md exceptions-ppc.c tramp-ppc.c: Add
+       support for aot/full aot on ppc/ppc64.
+       
+       * tramp-<ARCH>.c (mono_arch_patch_plt_entry): Add 'got' and 'regs'
+       arguments which are needed on ppc.
+
+       * tramp-arm.c (mono_arch_nullify_class_init_trampoline): Add 'regs'
+       argument.
+
+       * mini-trampolines.c aot-runtime.c: Update after the above changes.
+       
+       * liveness.c (BITS_PER_CHUNK): Use MONO_BITSET_BITS_PER_CHUNK.
+
+       * regalloc2.c (BITS_PER_CHUNK): Ditto.  
+
+       * aot-compiler.c (emit_got_info): Fix reading unused memory.
+
+       * ir-emit.h (alloc_dreg): Add a 'return -1' to quiet some compilers.
+
+2009-06-17  Geoff Norton  <gnorton@novell.com>
+
+       * aot-compiler.c: Ensure we dont try to close a null dwarf writer.
+
+2009-06-17  Zoltan Varga  <vargaz@gmail.com>
+
+       * dwarfwriter.c (mono_dwarf_writer_create): Add an 'appending' parameter
+       to control whenever the dwarf writer is in xdebug or aot mode.
+       (emit_class_dwarf_info): Use a separate abbrev for structures without
+       children.
+
+       * aot-compiler.c: Pass the appending parameter to 
+       mono_dwarf_writer_create ().
+
+       * branch-opts.c (mono_merge_basic_blocks): Fix the case when bbn
+       falls through to its next bblock. Fixes #513931.
+
+       * iltests.il: Add a test.
+
+       * dwarfwriter.c (mono_dwarf_writer_emit_base_info): Emit some line number
+       infor even if emit_line is FALSE, as the apple linker seems to require it.
+
+       * image-writer.c (asm_writer_emit_symbol_diff): Call get_label ().
+
+       * dwarfwriter.c (emit_cie): Emit a separate symbol for the cie start, as
+       gcc does.
+       (emit_fde): Ditto.
+
+2009-06-15  Zoltan Varga  <vargaz@gmail.com>
+
+       * exceptions-mips.c (mono_arch_get_throw_exception_by_name): Fix the
+       mips build.
+
+2009-06-13  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini.h (struct MonoBasicBlock): Add 'has_jump_table' and 
+       'has_call_handler' fields.
+
+       * method-to-ir.c (mono_method_to_ir): Set them if needed.
+
+       * branch-opts.c (mono_merge_basic_blocks): Avoid iterating through the
+       first bblock if not needed. Fixes #512790.
+       
+2009-06-11  Zoltan Varga  <vargaz@gmail.com>
+
+       * aot-compiler.c (mono_compile_assembly): Fix a warning.
+       
+       * aot-compiler.c (add_wrappers): Don't emit remoting-invoke-with-check
+       wrappers.
+
+       * aot-runtime.c (mono_aot_get_method): Use the original method's code for
+       remoting-invoke-with-check wrappers, which are not needed when running with
+       full-aot, since it doesn't support remoting.
+       
+2009-06-10  Zoltan Varga  <vargaz@gmail.com>
+
+       * aot-compiler.c (emit_got_info): Don't emit offsets for the plt got entries.
+
+       * aot-compiler.c aot-runtime.c: Don't emit the first got offset in the
+       method info, it is not used anymore.
+
+       * mini.h: Bump AOT file format version.
+       
+       * aot-compiler.c (arch_emit_plt_entry): Make the arm plt entries one
+       word smaller.
+
+       * aot-runtime.c (mono_aot_get_plt_info_offset): Update after the
+       change above.
+       
+       * tramp-arm.c (mono_arch_patch_plt_entry): Ditto.
+
+       * mini.h: Bump AOT file format version.
+       
+2009-06-10  Zoltan Varga  <vargaz@gmail.com>
+
+       * image-writer.c (asm_writer_emit_symbol_diff): Disable the 
+       TARGET_ASM_APPLE stuff for now, as it doesn't seem to work on the
+       iphone.
+
+       * mini-arm.c (mono_arch_output_basic_block): Fix the implementation
+       of CKFINITE and FBGE for VFP.
+
+2009-06-09  Zoltan Varga  <vargaz@gmail.com>
+
+       * aot-compiler.c: Don't align code to 16 bytes on arm.
+       
+       * aot-compiler.c (emit_method_code): Emit the unbox trampolines right
+       before the methods they belong to.
+
+       * aot-runtime.c (mono_aot_plt_resolve): Avoid creating trampolines in
+       the full-aot case if possible, since the trampoline will be called right 
+       away.
+
+       * aot-compiler.c (mono_compile_assembly): Decrease the number of full aot
+       trampolines to 1024 after the change above.
+
+       * aot-compiler.c (arch_emit_specific_trampoline): Rework the arm
+       trampoline to save 8 bytes per trampoline.
+
+       * tramp-arm.c (mono_arch_create_trampoline_code_full): Update after the
+       change above.
+
+2009-06-08  Zoltan Varga  <vargaz@gmail.com>
+
+       * aot-compiler.c: Use acfg->temp_prefix instead of .L to prefix labels.
+
+2009-06-08  Martin Baulig  <martin@ximian.com>
+
+       * debug-mini.c
+       (MonoDebuggerExceptionAction): Moved into debug-mini.h.
+       (_mono_debugger_throw_exception): Don't make this static.
+       (_mono_debugger_unhandled_exception): Likewise.
+       (mono_debugger_handle_exception): Moved to mini-exceptions.c
+
+       * debug-mini.c
+       (MonoDebuggerExceptionAction): Moved here from debug-mini.c.
+       (_mono_debugger_throw_exception): Add function prototype.
+       (_mono_debugger_unhandled_exception): Likewise.
+
+       * mini-exceptions.c
+       (mono_handle_exception_internal): Added `MonoJitInfo **out_ji'
+       arg; return the first exception handler if the exception is caught
+       and we're running inside the debugger.
+       (mono_debugger_handle_exception): Moved here from debug-mini.c;
+       improve exception handle inside runtime-invoke, check whether the
+       exception is actually caught in the method being invoked and not
+       by the runtime-invoke-wrapper.
+
+2009-06-08  Zoltan Varga  <vargaz@gmail.com>
+
+       * image-writer.c: Improve support for the osx assembler.
+
+       * dwarfwriter.c: Avoid the usage of subsections if the assembler doesn't
+       support them.
+
+2009-06-08  Martin Baulig  <martin@ximian.com>
+
+       * debug-mini.c
+       (MonoDebuggerExceptionAction): Moved into debug-mini.h.
+       (_mono_debugger_throw_exception): Don't make this static.
+       (_mono_debugger_unhandled_exception): Likewise.
+       (mono_debugger_handle_exception): Moved to mini-exceptions.c
+
+       * debug-mini.c
+       (MonoDebuggerExceptionAction): Moved here from debug-mini.c.
+       (_mono_debugger_throw_exception): Add function prototype.
+       (_mono_debugger_unhandled_exception): Likewise.
+
+       * mini-exceptions.c
+       (mono_handle_exception_internal): Added `MonoJitInfo **out_ji'
+       arg; return the first exception handler if the exception is caught
+       and we're running inside the debugger.
+       (mono_debugger_handle_exception): Moved here from debug-mini.c;
+       improve exception handle inside runtime-invoke, check whether the
+       exception is actually caught in the method being invoked and not
+       by the runtime-invoke-wrapper.
+
+2009-06-07  Zoltan Varga  <vargaz@gmail.com>
+
+       * image-writer.c (append_subsection): Don't align subsections of the
+       debug_line section as a workaround.
+
+       * dwarfwriter.c: Emit line number info in the AOT case as well.
+
+2009-06-06  Steven Munroe  <munroesj@us.ibm.com>
+
+       This patch is contributed under the terms of the MIT/X11 license
+
+       * mini-ppc.c (mono_arch_emit_exceptions): Change assert to
+       code_len <= code_size
+
+2009-06-06  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-mips.c (mips_emit_exc_by_name): Fix the mips build.
+
+2009-06-04  Zoltan Varga  <vargaz@gmail.com>
+
+       * aot-compiler.c aot-runtime.c: Delete references to static rgctx
+       invoke wrappers, we now use trampolines instead.
+
+2009-06-04  Mark Probst  <mark.probst@gmail.com>
+
+       * mini-darwin.c: The exception thread must not be registered with
+       the GC.
+
 2009-06-04  Mark Probst  <mark.probst@gmail.com>
 
        * mini-gc.c: Disable the code because it makes SGen crash.