2008-07-03 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mono / mini / ChangeLog
index ad3c00546e6046d08cc660d625cd7a607712223a..f4fbda82bd15aac158fa49f8041a343917c4f104 100644 (file)
@@ -1,3 +1,181 @@
+2008-07-03  Mark Probst  <mark.probst@gmail.com>
+
+       * mini.c: Don't accept ldftn and ldvirtftn with uninstantiated
+       generic methods.
+
+2008-07-03  Zoltan Varga  <vargaz@gmail.com>
+
+       * dominators.c (check_dominance_frontier): Fix a warning.
+
+       * mini.h: Add some missing prototypes.
+
+       * ssa.c local-propagation.c debug-debuger.c: Fix warnings.
+
+       * driver.c (mono_jit_init_version): Correct the comments since the first
+       argument should be the name of the root domain, not a filename.
+
+       * aot-runtime.c (make_writable): Error out if this is called while running
+       with --aot-only.
+       (load_aot_module): Ditto.
+
+       * aot-compiler.c: Really fix the computation of method indexes.
+
+       * mini-amd64.c (mono_arch_get_delegate_invoke_impl): Remove the previous 
+       optimizations as this is no longer called frequently.
+
+       * mini-trampolines.c (mono_create_delegate_trampoline): Precompute the invoke
+       method and the invoke impl code and pass it to the delegate trampoline instead of
+       just the delegate class.
+
+2008-07-02  Zoltan Varga  <vargaz@gmail.com>
+
+       * aot-compiler.c: Fixup the computation of method indexes.
+       (add_wrappers): Create the base methods of the runtime invoke wrappers using
+       the method builder infrastructure.
+
+       * aot-runtime.c (decode_exception_debug_info): Don't crash if the method
+       has no header.
+
+       * mini-trampolines.c (mono_create_jit_trampoline_in_domain): In aot-only
+       mode, load the method right away instead of creating a trampoline.
+
+       * mini-x86.c (mono_arch_get_delegate_invoke_impl): Eliminate locking.
+
+       * mini-amd64.c (mono_arch_get_delegate_invoke_impl): Eliminate locking, speed up
+       some checks a bit.
+
+2008-07-01  Zoltan Varga  <vargaz@gmail.com>
+
+       * aot-runtime.c (decode_patch_info): Don't create trampolines in aot_only mode.
+       (mono_aot_load_method): Use method_index instead of method->token.
+
+       * mini.c (mono_jit_compile_method_inner): Move the aot_only check down, so it
+       can handle icalls etc. properly.
+
+       * mini.h (MONO_AOT_FILE_VERSION): Bump AOT file format version.
+
+       * aot-compiler.c aot-runtime.c: Allow AOTing many wrapper types.
+
+       * mini.c (mono_resolve_patch_target): Handle JIT_ICALL_ADDR.
+       (mono_codegen): Convert calls made by JIT icall wrappers to the icalls into
+       JIT_ICALL_ADDR patch type.
+
+       * patch-info.h: Add JIT_ICALL_ADDR patch type.
+
+       * mini.c (mono_method_to_ir): Allow AOTing methods which access the interruption
+       request flag.
+       (mono_resolve_patch_target): Handle INTERRUPTION_REQUEST_FLAG.
+
+       * patch-info.h: Add INTERRUPTION_REQUEST_FLAG.
+
+2008-06-30  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini.c: Use domain->jit_code_hash_lock for controlling access to
+       domain->jit_code_hash.
+
+2008-06-29  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini.c (mini_parse_debug_options): Add 'dont-free-domains' option.
+
+2008-06-27  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-trampolines.c (mono_delegate_trampoline): Don't pass a gsctx to
+       get_this_arg_from_call, let it compute it when needed.
+
+       * mini-amd64.c (mono_arch_get_this_arg_reg): Add a 'code' argument, compute
+       gsctx from code only when needed.
+
+       * mini-trampolines.c (get_generic_context): Rename this to 
+       mono_get_generic_context_from_code (), and move it to generic-sharing.c, where
+       it can be called by the arch backends.
+
+       * mini-exceptions.c (mono_print_thread_dump): Allow the argument to be NULL.
+
+2008-06-26  Zoltan Varga  <vargaz@gmail.com>
+
+       * driver.c (mono_main): Add experimental --aot-only command line option.
+
+       * mini.c: Error out when creating trampolines or JIT compiling if --aot-only is
+       set.
+
+2008-06-26  Kornél Pál  <kornelpal@gmail.com>
+
+       * driver.c (DllMain): Remove mono_module_handle.
+
+       Contributed under MIT/X11 license.
+
+2008-06-25  Zoltan Varga  <vargaz@gmail.com>
+
+       * aot-compiler.c: Add not-yet-usable 'full' option. Add some infrastructure code
+       for emitting methods which are not in the source assembly. Detect and report
+       failure of assembling+linking.
+       
+       * aot-compiler.c (emit_klass_info): Call mono_class_setup_vtable ().
+
+       * aot-compiler.c: Move the contents of the has_glot_slots array to MonoCompile.
+
+2008-06-24  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * mini.c: Check if stats is enabled so we don't allocate memory when not needed.
+
+2008-06-24  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini.h: Remove some obsolete prototypes.
+
+       * mini.c: Avoid storing MonoMethod pointers in the JIT stats, store their string format instead.
+
+2008-06-24  Mark Probst  <mark.probst@gmail.com>
+
+       * mini.c (get_object_generic_inst): Variable-sized arrays are not
+       supported by Visual Studio, so use alloca().
+
+2008-06-23  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-ia64.c (add_valuetype): Increase *gr too when passing a HFA to be in sync with the ABi.
+       Fixes #402585.
+
+2008-06-23  Mark Probst  <mark.probst@gmail.com>
+
+       * mini.c: Fail sharing of a generic method if it contains an open
+       catch clause (because we don't pass MRGCTXs yet).
+
+2008-06-23  Mark Probst  <mark.probst@gmail.com>
+
+       * mini.c: When compiling a method with generic sharing, insert the
+       method instantiated with an all-Object generic context into the
+       jit info table, instead of the context of the first instantiation
+       of the method we happen to compile.
+
+2008-06-18  Martin Baulig  <martin@ximian.com>
+
+       * debug-debugger.h (MonoDebuggerInfo): Replaced `version' with
+       `major_version' and `minor_version'.
+
+2008-06-17  Mark Probst  <mark.probst@gmail.com>
+
+       * generic-sharing.c, mini.c, mini.h, aot-runtime.c:
+       mono_method_is_generic_sharable_impl() takes an additional
+       argument specifying whether to treat type variables as reference
+       types.
+
+2008-06-17  Mark Probst  <mark.probst@gmail.com>
+
+       * mini.h: Removed obsolete prototypes.
+
+2008-06-17  Mark Probst  <mark.probst@gmail.com>
+
+       * mini.c: Don't fail generic sharing for initobj and sizeof - we
+       already handle them.
+
+2008-06-17  Mark Probst  <mark.probst@gmail.com>
+
+       * mini.h, mini-trampolines.c, tramp-alpha.c, tramp-amd64.c,
+       tramp-arm.c, tramp-hppa.c, tramp-ia64.c, tramp-mips.c,
+       tramp-ppc.c, tramp-s390.c, tramp-s390x.c, tramp-sparc.c,
+       tramp-x86.c: Added a MonoGenericContext* argument to
+       mono_arch_get_unbox_trampoline() so that it can call other
+       functions which require it.
+
 2008-06-17  Mark Probst  <mark.probst@gmail.com>
 
        * mini.h, mini-trampolines.c, mini-amd64.c, mini-x86.c,