+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
+ when using llvm.
+
+ * mini-llvm.c (mono_llvm_emit_method): Call jit icall wrappers, not the
+ icalls themselves. Convert arguments of FCOMPARE. Convert the destination
+ of FMOVE if it is an R4.
+
+2009-04-25 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-ops.h: Add OP_LLVM_OUTARG_VT opcode.
+
+ * mini.h (LLVMCallInfo): New structure to store calling convention
+ information for the LLVM back end similar to the CallInfo structures in
+ the back-ends.
+
+ * mini-amd64.c (mono_arch_get_llvm_call_info): New arch function to return
+ call information in a format usable by LLVM.
+ (mono_arch_emit_call): Move the LLVM handling code to mono_llvm_emit_call ().
+
+ * method-to-ir.c (mono_emit_call_args): Emit calls using
+ mono_llvm_emit_call () when compiling using LLVM.
+
+ * mini-llvm.c: Implement support for passing/receiving valuetypes. Add
+ comments to all functions. Fix memory leaks. Add a public init/cleanup
+ function.
+
+ * mini.c: Call the llvm init/cleanup functions in mini_init()/cleanup().
+
+ * method-to-ir.c (handle_array_new): Disable llvm when calling the vararg
+ mono_array_new_va () jit icall.
+
+Fri Apr 24 16:44:08 CEST 2009 Paolo Molaro <lupus@ximian.com>
+
+ * Makefile.am, genmdesc.c, genmdesc.pl: tiny refactor to allow
+ multiple machine description files to be specified.
+ * mini-ops.h: fixes for cross-compilation.
+
+2009-04-22 Miguel de Icaza <miguel@novell.com>
+
+ * aot-runtime.c (make_writable): Use mono_mprotect to simplify
+ some porting work.
+
+2009-04-22 Zoltan Varga <vargaz@gmail.com>
+
+ * method-to-ir.c (mono_method_to_ir): Force init_locals to be TRUE
+ to prevent asserts in various passes. Fixes #497220.
+
2009-04-21 Zoltan Varga <vargaz@gmail.com>
+ * mini-trampolines.c (mono_generic_class_init_trampoline): Remove
+ a racy assert.
+
+ * aot-compiler.c aot-runtime.c: Emit the unwind info into a separate
+ table to avoid duplicates.
+
+ * mini.h (MONO_AOT_FILE_VERSION): Bump this.
+
* aot-compiler.c (emit_method_code): Avoid writing symbols if the nodebug
option is used.