+2009-11-25 Zoltan Varga <vargaz@gmail.com>
+
+ * debugger-agent.c (vm_commands): Implement EXIT by invoking Environment.Exit ()
+ on a random thread if possible.
+
+ * aot-runtime.c (mono_aot_plt_resolve): Clean up the handling of function
+ descriptors a bit, add comments, handle RGCTX_FETCH/GENERIC_CLASS_INIT_TRAMPOLINE
+ correctly.
+
+ * exceptions-ppc.c (mono_arch_find_jit_info_ext): Use mgreg_t as the type of
+ regs. Pass the real size of the regs array to mono_unwind_frame ().
+
+ * unwind.c (mono_unwind_frame): Remove an incorrect assert, add more correct
+ ones instead.
+
+2009-11-24 Geoff Norton <gnorton@novell.com>
+
+ * mini-darwin.c: Work around apple bug rdar://7209349 See
+ http://openradar.appspot.com/7209349 for details. Synopsis,
+ CoreFoundation SIGTRAP's if you dlopen it off the main thread if its
+ never been initialized before.
+
+2009-11-24 Zoltan Varga <vargaz@gmail.com>
+
+ * tramp-arm.c: Use blx instead of mov pc, reg to improve support for thumb.
+
+ * mini-arm.c (mono_arm_thumb_supported): New helper function.
+
+2009-11-24 Zoltan Varga <vargaz@gmail.com>
+
+ * cfold.c (mono_constant_fold_ins): Fix a problem in the previous change,
+ OP_SHL_IMM is not 32 bit.
+
+2009-11-24 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c (encode_patch): Fix the encoding of R8 on big-endian systems.
+
+2009-11-24 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c: Avoid infinite recursion when generic virtual recursion is
+ encountered.
+
+ * debugger-agent.c (resume_vm): Signal the suspend_cond even if suspend_count
+ > 0 since some threads can resume if their resume_count is > 0.
+ (invoke_method): Avoid reading freed memory.
+
+ * debugger-agent.c (process_suspend): Extract the suspend code from
+ process_single_step_inner () to a separate function. Rework the code to prevent
+ races between this function and thread interrupts.
+
+ * debugger-agent.c (suspend_current): Check the resume_count field instead
+ of resume_one so suspends+resumes during single threaded invokes work
+ correctly.
+
+2009-11-23 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c (emit_llvm_file): Enable some llvm optimizations which seem
+ to make the generated code smaller.
+
+ * tramp-amd64.c (mono_arch_nullify_class_init_trampoline): Add a code
+ sequence generated by recent LLVM versions.
+
+ * mini-llvm.c: Add support for a few simple cases which weren't supported
+ before.
+
+ * mini-trampolines.c (mono_magic_trampoline): Don't call
+ mono_arch_get_vcall_slot () when llvm is enabled.
+
+ * aot-compiler.c (emit_llvm_file): Add code to run the 'opt' llvm tool.
+
+ * mini-trampolines.c (mono_magic_trampoline): Extract the bulk of this function
+ into a new function called common_call_trampoline () which is used by the
+ llvm vcall trampoline as well.
+
+ * debugger-agent.c: Implement single threaded invokes.
+
+ * debugger-agent.c: Revert change which broke the agent on linux.
+
+ * method-to-ir.c (inline_method): Prevent infinite recursion. Fixes
+ #557606.
+
+ * generics.cs: Add a test.
+
+2009-11-22 Zoltan Varga <vargaz@gmail.com>
+
+ * debugger-agent.c: Fix the cygwin build.
+
+2009-11-21 Zoltan Varga <vargaz@gmail.com>
+
+ * cprop.c: Remove this unused file.
+
+2009-11-21 Zoltan Varga <vargaz@gmail.com>
+
+ * cfold.c (mono_constant_fold_ins): Fix constant folding of shr_imm. Fixes
+ #557262.
+
+ * basic.cs: Add a test.
+
+2009-11-21 Zoltan Varga <vargaz@gmail.com>
+
+ * method-to-ir.c (mono_method_to_ir): Use mono_use_llvm instead of ENABLE_LLVM
+ in one more place.
+
+2009-11-20 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c mini-trampolines.c driver.c: Add a 'mono_use_llvm' flag to control
+ whenever the runtime uses LLVM code. Add a '--llvm' command line option to set
+ it. Use this flag to control llvm related code paths instead of #ifdef
+ ENABLE_LLVM, so a runtime configured without --enable-llvm can use LLVM compiled
+ AOT code.
+
+ * aot-runtime.c aot-compiler.c: Add a 'flag' field to MonoAotFileInfo.
+
+ * mini.h: Bump AOT file format version.
+
+ * tramp-ppc.c (mono_arch_create_generic_class_init_trampoline_full): These
+ receive their argument in MONO_ARCH_VTABLE_REG, not in the first argument reg.
+
+ * debugger-agent.c (create_event_list): Fix a crash if an empty assembly list
+ was used as an assembly filter.
+
+2009-11-19 Zoltan Varga <vargaz@gmail.com>
+
+ * unwind.c: Fix support for ppc.
+
+ * exceptions-ppc.c (mono_arch_find_jit_info): Change this to use dwarf frame
+ unwind info. Change to the mono_arch_find_jit_info_ext () interface.
+
+2009-11-19 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-ppc.c (mono_arch_emit_prolog): Fix a copy-paste error to fix the ppc64
+ port.
+ (mono_arch_cpu_init): Don't set cpu_hw_flags to 0 at the end, this was somehow
+ added by the ps3 changes.
+
+2009-11-19 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-gc.c: Resurrect this, so at least it compiles.
+
+ * debugger-agent.c (assembly_commands): Implement GET_NAME command.
+
+2009-11-18 Zoltan Varga <vargaz@gmail.com>
+
+ * debugger-agent.c (mono_debugger_agent_handle_exception): Pass a MonoJitInfo to
+ create_event_list () so assembly filters can be used.
+
+ * exceptions-ppc.c (mono_arch_find_jit_info): Fix the restoration of registers
+ from the LMF.
+
+2009-11-17 Zoltan Varga <vargaz@gmail.com>
+
+ * debugger-agent.c (mono_debugger_agent_breakpoint_hit): Fix a warning.
+ (mono_debugger_agent_thread_interrupt): Make this return FALSE if the agent
+ is disabled.
+
+ * aot-compiler.c (add_generic_instances): Emit instances of common generic
+ classes for char/bool too.
+
+ * debugger-agent.c (DebuggerTlsData): Honor the DISABLE_SOFT_DEBUG option.
+
+ * debugger-agent.c (DebuggerTlsData): Add a 'really_suspended' flag, not yet
+ used.
+
+ * debugger-agent.c: Add some definitions to make backporting to 2.6 easier.
+ Fix warnings.
+
+2009-11-15 Andreas Faerber <andreas.faerber@web.de>
+
+ * debugger-agent.c (mono_debugger_agent_thread_interrupt): Signature fix.
+
+ Code contributed under MIT/X11 license.
+
+2009-11-14 Zoltan Varga <vargaz@gmail.com>
+
+ (mono_debugger_agent_thread_interrupt): Save the context so stacktraces for
+ threads in native code work.
+
+ * debugger-agent.c: Pass the 'flags' argument to VM_INVOKE_METHOD earlier in
+ the parameter list, so it can be acted upon by vm_commands (). Bump protocol
+ version.
+
+2009-11-13 Jonathan Chambers <joncham@gmail.com>
+
+ * debugger-agent.c: Implementation for Windows platform.
+
+ * mini-x86.c: Add support for Windows. Use mono-* synchronization
+ primitives. Use SEH to implement breakpoints and single stepping.
+
+ * mini-x86.h: Enable soft debugger on Windows.
+
+ Code contributed under MIT/X11 license.
+
+2009-11-13 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-amd64.c (emit_call_body): Disable usage of near calls when running
+ under XEN. Fixes #522894.
+
+ * patch-info.h: Add LLVM_IMT_TRAMPOLINE.
+
+ * mini-llvm.c aot-compiler.c aot-runtime.c mini.c: Add support for making
+ interface calls in LLVM AOT code.
+
+ * aot-compiler.c mini-llvm.c: Abort llvm compilation if a non-encodable patch
+ is found.
+
+ * mini-llvm.c: Add support for OP_VPHI.
+
+ * objects.cs: Add a test.
+
+2009-11-13 Zoltan Varga <vargaz@gmail.com>
+
+ * debugger-agent.c (mono_debugger_agent_single_step_event): Avoid a crash if
+ this is called on the debugger thread.
+
+2009-11-12 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-llvm.c: Add soft-float support.
+
+ * method-to-ir.c (mono_decompose_soft_float): Restart after decomposing an
+ FCALL which returns an R4.
+
+ * driver.c (mono_main): Add a missing '\n'.
+
+ * mini-trampolines.c (mono_create_llvm_imt_trampoline): Fix the build on
+ platforms which doesn't support the LLVM IMT trampoline.
+
+2009-11-11 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-llvm.c (mono_llvm_emit_method): Fix LOCALLOC.
+
+ * mini-llvm-cpp.cpp: Update to latest LLVM SVN.
+
+ * mini-llvm.c (mono_llvm_emit_method): Avoid creating plt entries for
+ virtual calls.
+
+ * aot-runtime.c: Don't define HAVE_DL_ITERATE_PHDR, configure now does that.
+
+2009-11-10 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c aot-runtime.c: Change how mono_arch_find_jit_info () works.
+ Instead of emitting a method_order table, sort the contents of the code_offsets
+ table and do a binary search in the sorted table. The previous approach doesn't
+ work with LLVM which emits methods in a arbitrary order.
+
+ * aot-runtime.c: Add support for creating MonoJitInfo structures by searching
+ in the .eh_frame section in ELF files.
+
+ * mini.h: Bump corlib file format version.
+
+ * mini-llvm.c aot-compiler.c: Add support for AOT to the LLVM back end.
+
+ * exceptions-arm.c (mono_arch_get_call_filter_full): Update after the
+ LDMIA->LDM macro name change.
+
+2009-11-09 Zoltan Varga <vargaz@gmail.com>
+
+ * tramp-x86.c (mono_arch_get_llvm_imt_trampoline): Fix and enable this for
+ x86.
+
+ * mini-llvm-cpp.cpp (JITMemoryManager): Fix compilation with LLVM 2.7
+ SVN.
+
+ * aot-compiler.c: Ditto.
+
+ * mini-arm.c (mono_arch_allocate_vars): Fix the previous change by passing
+ &align to mini_type_stack_size_full ().
+
+ * mini-arm.c (mono_arch_emit_prolog): Implement support for varargs.
+
+ * mini-ops.h: Add documentation for the OP_ARGLIST opcode.
+
+2009-11-08 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-arm.c: Compute the stack space used by arguments using
+ mini_type_stack_size_full ().
+
+2009-11-08 Zoltan Varga <vargaz@gmail.com>
+
+ * optflags-def.h: Remove dead TREEPROP optimization.
+
+2009-11-08 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * mini-ppc.h: Make mono compiler under FreeBSD/ppc64.
+
+ Patch by Justin Hibbits <chmeeedalf@gmail.com>.
+
+2009-11-07 Zoltan Varga <vargaz@gmail.com>
+
+ * driver.c (mono_jit_parse_options): New public API function to parse options
+ as done by the runtime executable.
+
+ * debugger-agent.c (buffer_add_cattrs): Fix reading an uninitialized variable
+ when handling named arguments.
+
+2009-11-07 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-arm.c: Implement support for returning vtypes in registers, fix support
+ for passing small vtypes in registers, make the CallInfo structures more
+ similar to the code on the other platforms.
+
+ * mini-arm.c (mono_arch_allocate_vars): Align small vtypes to 4 bytes too since
+ the code in the prolog requires it.
+
+2009-11-06 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-arm.c debugger-agent.c: Android changes from Koushik K. Dutta
+ (koush@koushikdutta.com).
+
+ * mini-arm.c (handle_thunk): Add a domain argument to control the domain
+ where the thunk memory should be allocated from. Fixes appdomain unloading
+ on arm.
+
+2009-11-06 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-arm.c exceptions-arm.c: Make ctx->regs map directly to the 16 hardware
+ registers, instead of r4..r11,ip,lr. Make restore_context () restore r0..r3 too.
+
+2009-11-05 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-amd64.c (mono_arch_output_basic_block): Don't allow OP_SEQ_POINT in
+ AOT, as it is not implemented yet.
+
+ * mini-x86.c (mono_arch_output_basic_block): Ditto.
+
+2009-11-05 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * debugger-agent.c: Fix windows build.
+
2009-11-05 Zoltan Varga <vargaz@gmail.com>
* debugger-agent.c (debugger_thread): Call mono_set_is_debugger_attached ()