X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2FChangeLog;h=401b29de1f08c51226514b1fd5bc77f6217fdcdc;hb=d2e184bbf7f82d83d767aae6af08359729769270;hp=7ac87eda8046c584c0480398b313631fc037c8fe;hpb=1d7ff7b74ac560ac9d5ed4a61f21182c8f2742aa;p=mono.git diff --git a/mono/mini/ChangeLog b/mono/mini/ChangeLog index 7ac87eda804..401b29de1f0 100755 --- a/mono/mini/ChangeLog +++ b/mono/mini/ChangeLog @@ -1,5 +1,316 @@ +2010-07-29 Mark Mason + + * mini-ops.h: Fix mips branch opcodes + * mini-mips.h: enable IMT for MIPS + * mini-mips.c: Use NULLIFY_INS(), fixup *_OVF expansions with extra move. + * tramp-mips.c: Some cleanups to trampoline handling + +2010-07-27 Mark Mason + + * mini-mips.c: Fix compilation errors. + +2010-07-25 Zoltan Varga + + * mini-trampolines.c (common_call_trampoline): Fix a warning. + +2010-07-24 Zoltan Varga + + * mini-s390x.c: Change the calling convention to pass this as first as on other + architectures. Remove some dead code from the get_vcall_slot(). + +2010-07-24 Geoff Norton + + * mini-darwin.c: Having reviewed xnu-1504.7.4 it is safe to call fork directly + here, it seems the old implementation was a hold over from the linux behaviour + This fixed gdb backtrace on amd64 and ppc. + +2010-07-23 Zoltan Varga + + * xdebug.c (mono_save_trampoline_xdebug_info): Call + mono_loader_lock/unlock_if_inited () to avoid asserts on some platforms during + startup. + +2010-07-23 Marek Habersack + + * Makefile.am (version.h): generate version using GIT commit info, + removed the old svn and git-svn code. + +2010-07-22 Jb Evain + + * method-to-ir.c (BRANCH_COST): set to 10. + +2010-07-20 Zoltan Varga + + * method-to-ir.c (op_to_op_src2_membase): Reorganize the amd64 op->op membase + code, it was missing a few 'break's. + +2010-07-20 Zoltan Varga + + * method-to-ir.c (mini_emit_inst_for_method): Add Array.GetLength/GetLowerBound (). + Fixes #618176. + +2010-07-16 Zoltan Varga + + * mini-arm.c: Fix the arm build by passing a MonoGenericSharingContext to get_call_info. + +2010-07-16 Zoltan Varga + + * mini-llvm.c: Add more SIMD instructions. + +2010-07-15 Miguel de Icaza + + * mini.c: Allow "casts" to be passed on MONO_DEBUG as well. + +2010-07-15 Zoltan Varga + + * mini-ia64.c: Change the calling convention to pass this as first as on other + architectures. Remove some dead code from the get_vcall_slot() and the implementation + of the CALL_MEMBASE opcodes as a result. + +2010-07-13 Miguel de Icaza + + * mini.c: LLVM is disabled by default on LLVM builds. You can use + the MONO_ENV_OPTIONS to set the --llvm flag. + +2010-07-13 Atsushi Enomoto + + * driver.c : windows build fix for --with-moonlight. + +2010-07-12 Rolf Bjarne Kvinge + + * mini.c|h: + * mini-exceptions.c: Add an option to MONO_DEBUG for tracking down exceptions + that reach native code from a reverse pinvoke. + +2010-07-11 Zoltan Varga + + * method-to-ir.c (mono_method_to_ir): Kill some duplicated code. + + * mini-.c (get_call_info): Call mini_type_get_underlying_type () before passing + a type to MONO_TYPE_IS_REFERENCE (), since the latter can't handle VAR/MVAR. + Fixes #620864. + + * generics.cs: Add a test. + +2010-07-11 Rodrigo Kumpera + + * mini.c (mono_jit_compile_method_inner): Don't bomb out if we don't + support a given runtime implemented method. + +2010-07-10 Mark Probst + + * mini-darwin.c: Register the exception thread with the GC. + +2010-07-10 Zoltan Varga + + * mini-llvm.c (set_metadata_flag): Set metadata flags only when using the LLVM + mono branch. + +2010-07-09 Zoltan Varga + + * mini.h (MONO_INST_HAS_CONSTANT_LOAD): New instruction flag marking loads which load + from constant memory. + + * ir-emit.h: Clean up the _FAULT macros a bit. + + * decompose.c: Mark some loads as constant. + + * mini-llvm.c: Pass the constant-ness of loads to LLVM using custom metadata. + +2010-07-09 Miguel de Icaza + + * driver.c (mini_usage): Change the name of the --sgen flag to be + --gc=sgen and also support --gc=boehm. These flags can also be + set on MONO_ENV_OPTIONS to propagate this to children processes. + + * main.c: Remove the MONO_VM_OPTIONS environment variable that + only supported "sgen" and "llvm" config options and instead parse + the MONO_ENV_OPTIONS as options that are parsed by the command + line parser. Any command line option that Mono supports can be + passed in this environment variable. + +2010-07-09 Zoltan Varga + + * ir-emit.h mini-llvm.c: Fix support for explicit-null-checks + + LLVM. + + * mini.c (mini_method_compile): Run abcrem uncoditionally when LLVM is used since + it can now eliminate more than just bounds checks. + + * ir-emit.h: Add MAY_FAULT versions of the LOAD_MEMBASE macros which take + an extra 'fault' argument. + + * method-to-ir.c: Set the MONO_INST_FAULT of the array opcodes which are decomposed + later. + + * decompose.c: Propagate the MONO_INST_FAULT flag from the array opcodes to their + decomposition. + + * mini-llvm.c: Remove support for the X86/AMD64 COMPARE_MEMBASE opcodes, they are + no longer generated when LLVM is used. + + * abcremoval.c: Eliminate MONO_INST_FAULT flags if possible. + +2010-07-09 Zoltan Varga + + * ir-emit.h mini-llvm.c: Fix support for explicit-null-checks + LLVM. + +2010-07-09 Rolf Bjarne Kvinge + + * driver.c: Moonlight: Force line buffering for stdout. + +2010-07-09 Zoltan Varga + + * mini-llvm.c (emit_load): Revert the last changes, the load/store intrinsics + are only callable using invoke. + +2010-07-09 Zoltan Varga + + * mini-llvm.c (process_bb): Use emit_load () in one more place. + + * mini-llvm-cpp.cpp (force_pass_linking): Link in more function passes so + MONO_LLVM=xxx is actually usable. + + * mini-llvm.c (emit_load): Use the mono specific load intrinsics even outside clauses + since LLVM might be able to hoist them out of loops. + (emit_store): Ditto. + +2010-07-08 Neale Ferguson + + * mini-s390x.c: Correct setting value of header from cfg->header - fix crash + in typeload-unaligned test. + +2010-07-08 Zoltan Varga + + * xdebug.c (mono_save_trampoline_xdebug_info): Make this receive a MonoTrampInfo. + + * tramp-.c: Move the calls to save_trampoline_xdebug_info () into + mini-trampolines.c/mini-exceptions.c. Use a more human readable name for + generic trampolines+rgctx fetch trampolines. + +2010-07-08 Geoff Norton + + * genmdesc.pl: nacl is not a new inst slot, it just modifies the size slot. + +2010-07-07 Zoltan Varga + + * tramp-arm.c (mono_arch_create_rgctx_lazy_fetch_trampoline): Add xdebug info. + + * method-to-ir.c (emit_imt_argument): Call add_outarg_reg even if MONO_ARCH_IMT_REG + is not defined in the LLVM case to keep the imt arg alive. + +2010-07-06 Zoltan Varga + + * exceptions-.c mini-llvm.c: Clean up the naming of the llvm related trampoline + functions, now its 'llvm__trampoline'. + + * method-to-ir.c (emit_imt_argument): Fix llvm support. + + * mini-llvm.c: Use only one mono specific LLVM calling convention since imt/rgctx + cannot be passed in the same call. + + * mini-amd64.h mini-amd64.c tramp-amd64.c aot-compiler.c: Change the IMT + register to be the same as the RGCTX register, the two can't be used together on + the same call. + +2010-07-05 Miguel de Icaza + + * driver.c (mono_main), main.c: Add support for MONO_VM_CONFIG + that allows the user to force the VM to use llvm or sgen. + +2010-07-05 Zoltan Varga + + * exceptions-ppc.c (mono_arch_handle_exception): Resume from the signal handler + before processing the exception on PPC too. + + * mini-ppc.h (MONO_CONTEXT_SET_SP): Define this to fix the PPC build. + + * mini-ppc.c tramp-ppc.c aot-compiler.c: Change the managed calling convention so + 'this' is always passed as the first argument, before the vtype ret arg. This + simplifies get_this_arg_reg () and LLVM integration. + +2010-07-05 Martin Baulig + + * exceptions-x86.c (mono_arch_handle_exception): Port this to + Windows; apply my patch from r159782 in the mono-2-6 branch. + +2010-07-05 Rolf Bjarne Kvinge + + * Makefile.am: Don't build the debug assembler files if we're building without + debugger support. + +2010-07-05 Zoltan Varga + + * aot-compiler.c (arch_emit_unbox_trampoline): Fix this after the callconv changes. + +2010-07-04 Zoltan Varga + + * tramp-arm.c (mono_arch_create_generic_trampoline): Fix the max trampoline + length. + + * mini-arm.h (MonoContext): Get rid of the 'ebp' field, use + regs [ARMREG_FP] instead. + + * unwind.c (decode_lsda): Use read32 for reading 32 bit quantities. + + * tramp-arm.c (mono_arch_create_generic_trampoline): Save the original sp to + lmf->iregs [ARMREG_IP] to be consistent with mono_arch_emit_prolog (). + + * mini-arm.h (MonoLMF): Remove unused fregs field, add comments for other fields. + + * exceptions-arm.c: Clean up the handling of LMFs. Add LLVM exception trampolines. + + * mini-arm.c: Always use V5 for passing IMT/RGCTX when running under LLVM. + + * method-to-ir.c (emit_imt_argument): Fix LLVM support for architectures + without IMT_REG defined (ARM). + + * exceptions-arm.c: Add LLVM throw exception trampolines, add xdebug info for + the trampolines. + +2010-07-03 Zoltan Varga + + * mini-llvm.c (process_bb): Disable OP_MEMORY_BARRIER on arm. + +2010-07-02 Zoltan Varga + + * mini.h: Applied patch from Elijah Taylor (elijahtaylor@google.com). Fix some + definitions to match their declarations and vice-versa. + +2010-07-01 Zoltan Varga + + * Makefile.am (common_sources): Add mini-llvm.h. + + * unwind.c (mono_unwind_decode_fde): Fix the decoding of the lsda offset. + +2010-06-30 Zoltan Varga + + * mini.c (mini_cleanup): Avoid calling mono_runtime_shutdown () if cross + compiling. + +Wed Jun 30 12:10:57 CEST 2010 Paolo Molaro + + * Makefile.am, mini-llvm.h, mini-unwind.h, mini.c, mini.h, xdebug.c: + implemt the option of loading the llvm backend from a module so + that we can have a single binary and the bloat from llvm is + only experienced when it is actually loaded. + +Wed Jun 30 12:02:39 CEST 2010 Paolo Molaro + + * mini-llvm.c: remove direct access to mono_defaults. + 2010-06-29 Zoltan Varga + * mini-arm.c (mono_arch_get_vcall_slot): This is no longer used on ARM, so make it + a no-op. + + * mini-trampolines.c (mono_vcall_trampoline): Fix a warning. + + * mini-x86.c (mono_arch_get_vcall_slot): Remove most cases as the only caller + is now mono_arch_nullify_class_init_trampoline (). + (mono_arch_output_basic_block): Remove the special casing from the CALL_MEMBASE + opcodes, they are no longer needed. + * mini-amd64.c (mono_arch_get_vcall_slot): Remove most cases as the only caller is now mono_arch_nullify_class_init_trampoline (). (mono_arch_output_basic_block): Remove the special casing from the CALL_MEMBASE @@ -2486,6 +2797,12 @@ Wed Jan 13 15:54:53 CET 2010 Paolo Molaro * tramp-amd64.c (mono_arch_nullify_class_init_trampoline): Fix the LLVM support by merging the LLVM and !MAP_32BIT cases. +2009-12-14 Geoff Norton + + * debugger-agent.c: The end_runtime_invoke guard isn't working on + AMD64 as __builtin_frame_address (1) returns NULL. Disable the + behaviour by default, and make it runtime configurable. + 2009-12-13 Jonathan Chambers * debugger-agent.c (mono_debugger_agent_thread_interrupt): Handle a NULL