+2009-05-12 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c (mono_compile_assembly): Don't emit imt thunk if the
+ arch doesn't support it.
+
+ * mini.c (mini_init): Don't disable IMT for full aot if the
+ architecture supports it.
+
+ * mini.h (MonoAotTrampoline): New enum containing the different types
+ of 'numerous' trampolines.
+ (MONO_AOT_FILE_VERSION): Bump this.
+
+ * aot-compiler.c aot-runtime.c: Unify the handling of specific and
+ static rgctx trampolines. Add support for full-aot IMT thunks.
+
+ * mini-amd64.h: Enable IMT for full aot.
+
+ * TestDriver.cs: Add a CategoryAttribute class and an --exclude option
+ to exclude tests belonging to a category.
+
+ * generics.cs: Mark some tests with a !FULLAOT category.
+
+ * Makefile.am (fullaotcheck): Run tests with --exclude !FULLAOT. Include
+ generics tests.
+
+2009-05-11 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c (emit_and_reloc_code): Move the implementation of
+ MONO_PATCH_INFO_GOT_OFFSET to a separate arch-specific function.
+ (emit_plt): Fix a warning.
+
+2009-05-10 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c aot-runtime.c: Fix the build by moving is_shared_got_patch
+ back into aot-compiler.c to a place where the other functions shared by
+ the runtime and aot compiler are.
+
+ * aot-compiler.c aot-runtime.c: Emit the got addr using a separate symbol,
+ as done previously, instead of in MonoAotFileInfo, since pointers might have
+ alignment requirements.
+
+ * mini.h: Bump AOT file format version.
+
+2009-05-10 Miguel de Icaza <miguel@novell.com>
+
+ * aot-runtime.c (mono_aot_is_shared_got_patch): Move this routine
+ that is used at runtime from the aot-compiler.c, this makes it
+ work on setups that remove the AOT compiler from the output
+ image.
+
+2009-05-09 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-<ARCH>.h: Kill the MONO_ARCH_ENABLE_EMIT_STATE_OPT define.
+
+ * decompose.c (mono_decompose_long_opts): Move the ppc/sparc specific
+ stuff to mono_arch_decompose_long_opts ().
+ (mono_decompose_opcode): Remove some dead code.
+
+2009-05-08 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * method-to-ir.c (mono_method_to_ir): Fix boostrap of non amd64 builds
+ cmethod can be null for quite a some reasons.
+
+2009-05-08 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * method-to-ir.c (mono_method_to_ir): Fix non amd64 builds.
+
+2009-05-08 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c (arch_emit_got_access): Fix the aot-not-supported build.
+
+2009-05-08 Zoltan Varga <vargaz@gmail.com>
+
+ * method-to-ir.c (mono_emit_call_args): Add a 'tail' flag argument.
+ (mono_method_to_ir): Use MONO_ARCH_USE_OP_TAIL_CALL macro to determine
+ whenever to make tail calls using OP_TAIL_CALL. Enable support for tail
+ calls returning structures by addr on amd64.
+
+ * mini-amd64.h (MONO_ARCH_USE_OP_TAIL_CALL): New arch-specific macro.
+
+ * iltests.il.in: Restructure the tail call tests a bit.
+
+2009-05-07 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c (add_wrappers): Add remoting-invoke-with-check wrappers
+ for virtual methods too.
+
+2009-05-06 Raja R Harinath <harinath@hurrynot.org>
+
+ * method-to-ir.c (mono_method_to_ir): Revert change of 2009-05-02
+ due to regression in verifying System.dll.
+
+2009-05-06 Zoltan Varga <vargaz@gmail.com>
+
+ * debug-mini.c (mono_debugger_method_has_breakpoint): Allow breakpoints
+ in dynamic methods.
+
+ * dwarfwriter.c (emit_class_dwarf_info): Add support for generic
+ instances.
+
+ * aot-compiler.c aot-runtime.c: Use our own hash function instead of
+ g_str_hash () which can change.
+
+ * driver.c (mini_regression): Disable optimizations not supported by
+ the cpu. Fixes #500019.
+
+ * aot-runtime.c (mono_aot_get_unwind_info): Fix the --enable-minimal=aot
+ build.
+
+2009-05-06 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-llvm.c (mono_llvm_emit_method): Update the OP_TLS_GET implementation
+ to the latest LLVM code.
+
+2009-05-05 Zoltan Varga <vargaz@gmail.com>
+
+ * genmdesc.pl (load_opcodes): Fix this after the TARGET_... changes.
+
+2009-05-04 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-llvm.c (mono_llvm_emit_method): Implement TLS support on
+ x86/amd64.
+
+ * aot-compiler.c (encode_patch_list): Simplify this considerably as we are
+ no longer saving offsets, so just save the patch types along with the other
+ info.
+ * aot-runtime.c (load_patch_info): Update after the changes to
+ encode_patch_list ().
+ (decode_got_entry): Removed, merged into load_patch_info ().
+ (is_shared_got_patch): Removed, call the same function from
+ aot-compiler.c.
+
+ * mini.h: Bump aot file format version.
+
+ * aot-compiler.c aot-runtime.c: Resurrect static linking support. Kill the
+ half-finished no-dlsym code.
+
+ * aot-runtime.c (load_method): Kill the old and bit-rotten use_loaded_code
+ option.
+
+ * mini-<ARCH>.h mini-trampolines.c aot-runtime.c: Kill the
+ MONO_ARCH_HAVE_CREATE_TRAMPOLINE_FROM_TOKEN define.
+
+2009-05-02 Zoltan Varga <vargaz@gmail.com>
+
+ * tramp-amd64.c (mono_arch_get_static_rgctx_trampoline): Increase the
+ buffer length to work with AOT code.
+
+ * method-to-ir.c (mono_method_to_ir): Handle loading errors in the
+ ldfld/stfld opcodes.
+
+ * exceptions-x86.c (mono_arch_get_throw_exception_by_name): Simplify this
+ as it is not used.
+
+ * mini-llvm.c mini-x86.c: Implement 32 bit and x86 support.
+
+ * ssa.c (mono_ssa_compute): Don't skip I8 values when using LLVM.
+
+ * mini-llvm-cpp.cpp (mono_llvm_create_ee): Update to the latest
+ LLVM API.
+
+ * mini.c (mini_method_compile): Set the from_llvm flag in MonoJitInfo
+ if needed. Don't decompose long operations when using llvm.
+
+2009-05-01 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c aot-runtime.c: Use mono_pagesize () instead of the
+ PAGESIZE constant.
+
+ * aot-runtime.c (load_aot_module): Get rid of another mprotect call.
+
+2009-05-03 Martin Baulig <martin@ximian.com>
+
+ * debug-debugger.c (debugger_insert_source_breakpoint): Don't call
+ mono_debugger_insert_method_breakpoint() since the class init
+ handler we're inserting at the top of the method already gives us
+ a notification.
+
+2009-04-30 Zoltan Varga <vargaz@gmail.com>
+
+ * decompose.c (mono_decompose_long_opts): Move the implementation of LNEG
+ to mono_arch_decompose_long_opts () for x86 and arm.
+
+2009-04-29 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-codegen.c (mono_regstate_alloc_int): Use __x86_64__ instead of
+ TARGET_AMD64 here.
+
+2009-04-28 Zoltan Varga <vargaz@gmail.com>
+
+ * *.h *.c: Use TARGET_<ARCH> defines instead of __<arch>__ defines in the
+ JIT code.
+
+2009-04-26 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-runtime.c (mono_aot_create_specific_trampoline): Add a stat for the
+ number of trampolines used in full-aot mode.
+
+ * aot-compiler.c: Add an ntrampolines option to set the number of
+ trampolines emitted in full-aot mode.
+
+2009-04-27 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-llvm.c (mono_llvm_emit_method): Implement OP_CHECK_THIS using
+ a volatile load. Get rid of get_tempname (), llvm assigns names
+ automatically.
+
+ * mini-llvm-cpp.cpp (mono_llvm_build_volatile_load): New instruction
+ builder function.
+
+ * mini-llvm.c (mono_llvm_emit_method): Don't call LLVMGetParam on
+ a value.
+
+ * abcremoval.c (REPORT_ABC_REMOVAL): Don't output messages at verbose
+ level 1.
+
+ * mini-codegen.c (mono_local_regalloc): Prevent sreg1/dreg to be allocated
+ to the same register as a fixed sreg2. Fixes #497271.
+
+ * iltests.il.in: Add a new test.
+
2009-04-26 Zoltan Varga <vargaz@gmail.com>
+ * mini-amd64.c: Use moves instead of pushes for passing arguments on the
+ stack, since pushes complicate exception handling.
+
+ * exceptions-amd64.c (mono_arch_find_jit_info): Don't pop the arguments of
+ the stack if they are passed using moves.
+
* mini-trampolines.c (mono_llvm_vcall_trampoline): Add an assert.
* method-to-ir.c (mono_method_to_ir): Disable fast virtual generic methods