+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,
+ mini-alpha.c, mini-arm.c, mini-ia64.c, mini-ppc.c:
+ mono_arch_get_this_arg_from_call() takes a
+ MonoGenericSharingContext* as well.
+
+2008-06-17 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c: Factor out code for emitting unbox into emit_unbox() and
+ implement generic sharing of unbox.
+
+2008-06-17 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c: Don't compute the vtable to determine whether a field is
+ special static, because it might not work for open types.
+
+2008-06-17 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c: Removed the unused token_type and token_source arguments
+ from get_runtime_generic_context_ptr().
+
+2008-06-17 Marek Habersack <mhabersack@novell.com>
+
+ * mini.c (ADD_BINOP): fix the build
+
+2008-06-16 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c (ADD_BINOP): When operating on a native int and an int32, insert
+ a widening op.
+
+2008-06-16 Mark Probst <mark.probst@gmail.com>
+
+ * mini.h: Removed class relations enum that's not used anymore.
+
+2008-06-16 Mark Probst <mark.probst@gmail.com>
+
+ * tramp-x86.c, tramp-amd64.c: Slot access code for MRGCTXs.
+
+ * mini-trampolines.c: Distinguish between RGCTXs and MRGCTXs in
+ the lazy fetch trampoline access code.
+
+2008-06-15 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-codegen.c (mono_local_regalloc): Add some micro optimizations.
+
+2008-06-14 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c: Fix some soft-float bugs. Fixes #378735 and #398348.
+
+ * mini.h (MONO_INST_LIST_ENTRY): Fix warnings on arm.
+
+ * mini.c (mono_method_to_ir): Check call signature for NEWOBJ as well.
+
+2008-06-13 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-x86.c inssel-x86.brg cpu-x86.md: Implement unsigned min/max
+ intrinsics.
+
+ * mini-ops.h: Add MIN/MAX_UN opcodes.
+
+ * mini-amd64.c inssel-amd64.brg cpu-amd64.md: Implement unsigned min/max
+ intrinsics.
+
+ * basic-math.cs: Add more min/max tests.
+
+ * inssel.brg: Remove the OP_MIN/OP_MAX rules. Fix a warning.
+
+2008-06-13 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c: Small fix in the prologue of emit_castclass.
+
+2008-06-13 Zoltan Varga <vargaz@gmail.com>
+
+ * inssel.brg: Remove the OP_MIN/OP_MAX rules. Fix a warning.
+
+ * mini.c (mini_get_inst_for_method): Remove the Min/Max intrinsics, they
+ do not work even for unsigned types. Fixes #400014.
+
+ * basic-math.cs: Add regression tests for unsigned Min/Max.
+
+2008-06-13 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c: Added additional context_used argument to several
+ functions, which will be needed for sharing generic methods. Use
+ GET_RGCTX macro wherever appropriate. Declare only one
+ context_used in mono_method_to_ir().
+
+2008-06-13 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c, generic-sharing.c: Removed generic class relations.
+
+ * mini.c, tramp-amd64.c, tramp-x86.c: Additional arguments to
+ functions due to MRGCTX changes.
+
+2008-06-13 Mark Probst <mark.probst@gmail.com>
+
+ * inssel.brg, inssel-long.brg, inssel-long32.brg, mini-ops.h,
+ graph.c, local-propagation.c, aliasing.c: New opcodes for calls
+ with calculated IMT.
+
+ * mini.c: Generic sharing of calls via generic interfaces.
+
+ * jit-icalls.c, jit-icalls.h: Helper function for compiling a
+ generic method with non-constant MonoGenericContext*. Instead,
+ the context is taken out of the method itself.
+
+2008-06-13 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c: Generic sharing of ldvirtftn.
+
+2008-06-13 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c: Generic sharing of ldftn.
+
+2008-06-13 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c: Do pass VTable/RGCTX argument to static generic methods.
+
+2008-06-13 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c: Generic sharing of the special case of ldtoken followed
+ by a call to GetTypeFromHandle.
+
+2008-06-13 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c: Generic sharing of box for nullable types.
+
+2008-06-13 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-s390x.c (add_stackParm): Fix computation of offsets when arguments
+ are passed on the stack. Fixes #324807.
+
+2008-06-12 Bill Holmes <billholmes54@gmail.com>
+
+ * mini-amd64.c:add_valuetype: Adding Winx64 code to fill the ArgInfo
+ for the ArgValuetypeAddrInIReg case.
+
+ * mini-amd64.c:mono_arch_allocate_vars: Adding a case for
+ ArgValuetypeAddrInIReg to avoid asserts. Code needs to be added here.
+
+ * mini-amd64.c: mono_arch_call_opcode: Adding Winx64 code for an ArgInfo of
+ type ArgValuetypeAddrInIReg. The code emitted will copy the argument to a
+ local variable and pass the local variable by reference to the called method.
+
+ * mini-amd64.c: mono_arch_emit_prolog: Adjust the stack for calls to
+ mono_jit_thread_attach and mono_get_lmf_addr for Winx64.
+
+ Contributed under MIT/X11 license.
+
+2008-06-10 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * debug-mini.c (mono_debug_free_method_jit_info): Moved to metadata/mono-debug.c.
+
+ * debug-mini.c (mono_debug_print_vars): Release memory after printing
+ everything.
+
+2008-06-10 Martin Baulig <martin@ximian.com>
+
+ * debug-mini.c
+ (mono_debug_close_method): Check whether `cfg->epilogue_begin != NULL'.
+
+2008-06-09 Kornél Pál <kornelpal@gmail.com>
+
+ * main.c: Add and set argv [argc] to NULL to match C specification that fixes
+ possible error when no arguments are passed.
+
+ Contributed under MIT/X11 license.
+
+2008-06-09 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * mini-exceptions.c (ves_icall_get_trace): Skip source locations
+ where the file name is NULL.
+
+2008-06-09 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c: Fix s390 build.
+
+2008-06-08 Zoltan Varga <vargaz@gmail.com>
+
+ * trace.c (mono_trace_parse_options): Fix warnings.
+
+ * mini-amd64.c: Revert most of the last patch for now as it breaks the build.
+
+2008-06-07 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c (remove_block_if_useless): Avoid printing the method name.
+
+ * mini.c: Remove needless setting of ins->cil_code which is now done by
+ MONO_INST_NEW.
+
+ * mini-amd64.c: Add some code to avoid saving callee saved registers in the
+ LMF. Not yet used.
+
+ * tramp-amd64.c (mono_arch_patch_callsite): Tell valgrind to discard the
+ translated code after it has been patched.
+
+2008-06-06 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-amd64.c (emit_call_body): Align the call displacement to 4 bytes to
+ avoid problems during code patching on SMP systems.
+ (emit_call): Avoid adding a patch info which is already added by
+ emit_call_body.
+ (mono_arch_emit_exceptions): Ditto.
+
+2008-06-05 Zoltan Varga <vargaz@gmail.com>
+
+ * tramp-*.c (mono_arch_get_unbox_trampoline): No need to check for ret->byref,
+ MONO_TYPE_ISSTRUCT already checks for it.
+
+2008-06-05 Bill Holmes <billholmes54@gmail.com>
+
+ * mini-amd64.c:merge_argument_class_from_type: When marshaling
+ structs with floats on Winx64 the float registers are not used.
+ The integer registers are always used..
+ * mini-amd64.c:add_valuetype: When marshaling structs on Winx64
+ only one register will be used and only if the size of the struct
+ is 1,2,4, or 8 bytes.
+
+ * tramp-amd64.c : Adjusting size used for mono_global_codeman_reserve
+ to work for Winx64.
+
+ Contributed under MIT/X11 license.
+
+2008-06-05 Martin Baulig <martin@ximian.com>
+
+ * debug-debugger.c (debugger_lookup_class): Also call
+ mono_class_setup_methods() here; we're only called from RTI.
+
+2008-06-05 Andreas Färber <andreas.faerber@web.de>
+
+ * mini.c (mini_init): Add DTrace probes ves-init-{begin,end}.
+ (mini_method_compile) Add DTrace probes method-compile-{begin,end}.
+ * Makefile.am (libmono_la_LIBADD,libmono_static_la_LIBADD,mono_LDADD):
+ Post-process object files and add dtrace-generated object, if necessary.
+
+ Contributed under MIT/X11 license.
+
+2008-06-04 Mark Probst <mark.probst@gmail.com>
+
+ * inssel.brg, mini-ops.h: Added opcode for unboxcast with computed
+ element class.
+
+ * mini.c: Generic sharing for unbox.any and castclass.
+
+2008-06-04 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c: Ignore tailcall prefix in shared generic code and when
+ doing calls which require a vtable/rgctx argument.
+
+2008-06-04 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c: Don't free the JIT info.
+
+ * driver.c: Changes in the JIT info table testing code.
+
+2008-06-03 Zoltan Varga <vargaz@gmail.com>
+
+ * tramp-arm.c (mono_arch_create_trampoline_code): Check for thread
+ interruption. Fix some warnings.
+
+ * tramp-*.c (mono_arch_create_trampoline_code): Call the _force_ variant of
+ interruption_checkpoint.
+
+Tue Jun 3 13:07:03 CEST 2008 Paolo Molaro <lupus@ximian.com>
+
+ * jit.h, mini.h, trace.c, driver.c: introduce an API to enable tracing
+ from embedding applications.
+
+2008-06-02 William Holmes <billholmes54@gmail.com>
+
+ * mini-amd64.c : Correcting some of the issues for Winx64 dealing with
+ reserving 32 bytes on the stack when making calls.
+
+ Contributed under MIT/X11 license.
+
+2008-06-01 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-arm.c (mono_arch_output_basic_block): Merge some small fixes from
+ the linear IL branch.
+
+ * driver.c: Print out more information for --version on arm.
+
+2008-05-30 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-amd64.c (mono_arch_emit_prolog): Increase max_offset when processing
+ bb_exit instead, since out of line bblocks might not actually be emitted
+ out-of-line.
+
+ * mini-amd64.c (mono_arch_emit_prolog): Increase bb->max_offset by the
+ maximum epilog size for out of line bblocks if tracing is enabled.
+
+ * iltests.il.in: Merge tests/long-shift.regalloc.il into this file.
+
+2008-05-28 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * arrays.cs: Regression tests for allocating arrays with negative sizes.
+
+2008-05-28 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-x86.h mini-x86.c inssel-x86.brg cpu-x86.md: Add support for
+ CAS instrinsics. Optimize the implementation of the ATOMIC_EXCHANGE
+ opcodes.
+
+2008-05-27 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c (mini_get_inst_for_method): Add support for CAS instrinsics when
+ the 'value' to store is a constant.
+
+ * mini-ops.h: Add OP_ATOMIC_CAS_IMM opcodes.
+
+ * mini-amd64.c (mono_arch_output_basic_block): Optimize the the implementation
+ of ATOMIC_EXCHANGE opcodes, add support for the CAS opcodes.
+
+2008-05-26 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c generic-sharing.c jit-icalls.c aot-compiler.c: Use accessor functions
+ for accessing method->generic_container.
+
+2008-05-24 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c (mono_method_check_inlining): Avoid creating vtables if possible.
+
+ * mini.c (SIG_HANDLER_SIGNATURE): Fix sparc build too.
+
+ * mini.c (SIG_HANDLER_SIGNATURE): Fix IA64 build.
+
+ * mini.c (mono_jit_compile_method_inner): Avoid a crash if mono_class_vtable ()
+ fails.
+
+2008-05-23 Zoltan Varga <vargaz@gmail.com>
+
+ * driver.c (mono_main): Set mono_setup_vtable_in_class_init to FALSE.
+
+ * mini.c: Handle the case when mono_class_vtable () fails.
+
+2008-05-23 Massimiliano Mantione <massi@ximian.com>
+ * mini.c (sigprof_signal_handler): Support call chains (backtrace) in
+ the stat profiler.
+
+2008-05-22 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c, jit-icalls.c, jit-icalls.h: Make generic sharing work
+ together with domain sharing.
+
+2008-05-22 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c: Treat callvirts to final methods like non-virtual calls
+ when doing generic sharing, i.e. look them up in the runtime
+ generic context.
+
+2008-05-22 Mark Probst <mark.probst@gmail.com>
+
+ * inssel.brg, mini-ops.h: Added opcodes for mkrefany and refanyval
+ with computed types (for generic sharing).
+
+ * mini.c: Generic sharing for mkrefany and refanyval.
+
+2008-05-22 Zoltan Varga <vargaz@gmail.com>
+
+ * inssel.brg (mini_emit_virtual_call): Avoid constructing a generic vtable if
+ possible.
+
+ * mini-trampolines.c (mono_magic_trampoline): Avoid calling setup_methods () in
+ the generic sharing code.
+
+ * mini-trampolines.c (mono_magic_trampoline): Call mono_class_setup_methods ()
+ when needed.
+
+2008-05-21 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.h: Remove the declaration of mono_aot_init_vtable ().
+
+2008-05-21 C.J. Adams-collier <cjac@colliertech.org>
+
+ * driver.c: updated copyright date
+
2008-05-21 Zoltan Varga <vargaz@gmail.com>
* aot-runtime.c mini.c: Remove the AOT init_vtable stuff as it is no longer
+
+