2009-12-13 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mono / mini / ChangeLog
index 5c3c192752755d1f57b018097b93f6fd6cdf8ef1..107757c5c21bd21d899ffde978995b3bbd077292 100644 (file)
@@ -1,5 +1,120 @@
+2009-12-13  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-exceptions.c (mono_resume_unwind): New function to resume unwinding at the
+       end of an LLVM compiled finally clause.
+       (mono_handle_exception_internal): Save the exception handling state in TLS
+       before calling an LLVM compiled finally clause, so mono_resume_unwind () can
+       resume unwinding from that point.
+
+       * unwind.c (mono_unwind_get_ops_from_fde): Rename this to
+       mono_unwind_decode_fde, decode the Language Specific Data Area (LSDA) too,
+       to obtain the addresses of the exception handling regions.
+
+       * mini-llvm.c: Add beginnings of support for exception handling, currently only
+       finally clauses are supported.
+
+       * mini.c (mini_method_compile): Add support for LLVM code with exception
+       handlers.
+
+2009-12-12  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-llvm.c (mono_llvm_emit_method): Allocate the 'pindexes' array with the
+       proper size.
+
+2009-12-12  Zoltan Varga  <vargaz@gmail.com>
+
+       * debugger-agent.c: Encode the this argument of vtype methods as a struct, not
+       as a primitive type.
+
+2009-12-11  Zoltan Varga  <vargaz@gmail.com>
+
+       * driver.c: Applied patch from Matt McClellan (matt@mc-c.net). Add a check
+       for 2 parameter sched_setaffinity in older glibc versions. Fixes
+       #564000.
+
+2009-12-11  Marek Habersack  <mhabersack@novell.com>
+
+       * method-to-ir.c (mini_redirect_call): do not redirect the
+       InternalAllocateStr internal call if string profiling is enabled.
+
+2009-12-10  Zoltan Varga  <vargaz@gmail.com>
+
+       * aot-compiler.c (add_wrappers): Avoid generating synchronized wrappers for
+       generic methods.
+
+       * unwind.h: Rename this to mini-unwind.h to avoid conflicts with the gcc
+       unwind.h header file.
+
+       * tramp-x86.c (mono_arch_patch_callsite): Patch the code when using valgrind,
+       newer valgrind versions seems to handle this fine.
+
+2009-12-09  Zoltan Varga  <vargaz@gmail.com>
+
+       * debugger-agent.c (start_runtime_invoke): Fix a crash if this is called
+       on the debugger thread.
+
+2009-12-08  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-llvm.c (mono_llvm_emit_method): Add more SIMD opcodes.
+
+       * mini.c (mono_print_method_from_ip): Fix the lookup of trampolines.
+
+       * mini-codegen.c (mono_local_regalloc): Allow non-call opcodes with cloc:c.
+
+       * cpu-<ARCH>.md: Make call_handler clob:c.
+
+       * mini.c: Reenable SSA for methods with clauses.
+
+       * mini.c (mini_method_compile): Disable SSA for now for methods with clauses,
+       as it causes failures on x86.
+
+2009-12-08  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * driver.c: Fail gracefully with --compile-all if mono_method_signature
+       returns NULL (e.g. a bad assembly).
+
+2009-12-08  Geoff Norton  <gnorton@novell.com>
+
+       * debugger-agent.c:  Refactor the mono_runtime_invoke guarding against
+       stepping out into native code.  There were issues with nested invokes
+       like .cctors.
+
+2009-12-07  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini.c (mini_method_compile): Do the disable_llvm checks early
+       and avoid the LLVM compile pass if the checks fail.
+
+       * mini.c ssa.c abcremoval.c: Enable SSA for methods with exception clauses.
+
+       * mini-llvm.c: Put our methods/globals into the 'llvm.used' array, so the
+       LLVM optimizations don't try to remove them.
+
+       * aot-compiler.c (emit_llvm_file): Save the result of opt into a
+       different file so the original remains.
+
+2009-12-06  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-llvm.c mini.c: Fix alignment issues with SIMD vars.
+
+       * aot-runtime.c (decode_arm_exidx): Handle most descriptors created by gas.
+
+       * aot-runtime.c (decode_arm_exidx): Refactor this into two functions, add
+       support for non-inline unwind descriptors.
+
+2009-12-07  Geoff Norton  <gnorton@novell.com>
+
+       * debugger-agent.c:  Darwin can colesce signals, so we need to handle
+       the interrupt_count slightly differently.  Native threads were never
+       marked as resumed.
+
 2009-12-05  Zoltan Varga  <vargaz@gmail.com>
 
+       * aot-runtime.c (decode_arm_exidx): New function to initialize a MonoJitInfo
+       based on the contents of the ARM .exidx section. Not yet used since llvm doesn't
+       yet generate this info.
+
+       * mini-llvm.c: Fix the conversion of call results if they are unsigned.
+
        * debugger-agent.c (buffer_add_value): Treat I/U as a valuetype, so the
        client can distinguish between intptrs and longs.