+2007-07-19 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c: Removed the MonoLoaderErrorKind enum and replaced it
+ with the MONO_EXCEPTION_ defines.
+
+2007-07-17 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-amd64.c (mono_arch_find_imt_method): Handle mov reg,IMM64 case. Fixes
+ #82117.
+
+ * mini-amd64.c (mono_arch_find_imt_method): Add some debug code to help find out
+ the cause of an assertion.
+
+Mon Jul 16 19:31:21 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+ * mini.c, jit-icalls.c: mono_get_inflated_method() is obsolete,
+ removed.
+
+2007-07-15 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-amd64.c (mono_arch_build_imt_thunk): Remove the non-32bit MonoMethod
+ assert. Should fix #82103.
+
+2007-07-14 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-exceptions.c (mono_jit_walk_stack_from_ctx): Use MONO_CONTEXT_GET_SP ()
+ here too. Fixes #82095.
+
+ * mini-amd64.c (mono_arch_build_imt_thunk): Add support for non-32bit MonoMethod
+ addresses.
+
+ * mini-amd64.c (mono_arch_get_vcall_slot_addr): Add a couple asserts.
+
+ * mini-amd64.h: Enable IMT for amd64.
+
+ * mini-amd64.c (mono_arch_build_imt_thunk): Optimize IMT thunk size.
+
+2007-07-12 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-amd64.c (mono_arch_get_vcall_slot_addr): Add support for IMT call sequences.
+
+2007-07-12 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c (check_linkdemand, mono_method_to_ir): Abort compilation
+ as soon as check_linkdemand sets an exception_type.
+
+Thu Jul 12 12:18:22 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+ * mini-x86.c: fixed offsets for IMT call sequence.
+ * mini-x86.h: enable IMT again.
+
+2007-07-11 Zoltan Varga <vargaz@gmail.com>
+
+ * trace.c (mono_trace_enter_method): Decode MonoType too.
+
+ * mini-amd64.c (mono_arch_get_vcall_slot_addr): Handle signed displacements too.
+
+ * mini.h mini-x86.h mini-trampolines.c: Change the signature of mono_arch_find_imt_method () to pass the calling code address too.
+
+ * mini-amd64.c: Add preliminary IMT implementation.
+
+Wed Jul 11 18:21:30 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+ * mini-x86.c: adjusted mono_arch_get_vcall_slot_addr () to
+ understand the new IMT-base interface invocation (thanks to
+ Daniel Nauck for the report and the remote debugging session).
+
+Wed Jul 11 14:54:39 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+ * mini-x86.c: size and speed optimizations for the IMT bsearch.
+
+2007-07-11 Zoltan Varga <vargaz@gmail.com>
+
+ * Makefile.am (aotcheck): Make this actually use the AOTed code.
+
+Wed Jul 11 12:41:32 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+ * mini-trampolines.c: implement AOT IMT support.
+ * mini-x86.h: enable IMT support for wider testing.
+
+2007-07-10 Zoltan Varga <vargaz@gmail.com>
+
+ * inssel.brg (emit_imt_argument): Add aot support here.
+
+ * aot-runtime.c (decode_patch_info): Fix reading of MONO_PATCH_INFO_METHOD.
+
+Tue Jul 10 17:50:58 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+ * mini-x86.c, mini-x86.h, tramp-x86.c: x86 arch-specific changes
+ of the IMT implementation, partially from massi, with my
+ implementation of the bsearch sequence. Disabled by default until
+ the AOT code is implemented.
+
+2007-07-10 Zoltan Varga <vargaz@gmail.com>
+
+ * cpu-x86.md: The source argument of sext_i1/i2 must by a byte reg.
+
+ * inssel-x86.brg: Add reg:ldind.i1(regvar) rules. Fixes #82056.
+
+Tue Jul 10 17:33:12 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+ * inssel.brg, mini.c, mini.h, mini-trampolines.c:
+ arch-independent IMT JIT code from Massimiliano
+ Mantione (massi@ximian.com) with small cleanups from me.
+
+Tue Jul 10 13:07:24 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+ * Makefile.am: fix svn invocation to get the svn revision to be
+ independent of the local language (build fix).
+
+2007-07-09 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c (inline_method): Reset cfg->exception_type if the
+ inlining is aborted. Fixes: 82049.
+
+Mon Jul 9 17:26:47 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+ * mini.c: remove assert from exception handling code when exception_ptr
+ is not set.
+
+2007-07-05 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c (mono_codegen): Add an assert.
+
+ * mini-x86.c (mono_arch_emit_prolog): Allocate space for the profiler method
+ enter and leave code.
+ * mini-amd64.c (mono_arch_emit_prolog): Likewise.
+
+Thu Jul 5 20:12:52 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+ * mini-ppc.c: fixed memory corruption for localloc(0)
+ (bug #81852).
+
+2007-07-05 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c: Fix warnings.
+
+Wed Jul 4 15:30:36 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+ * optflags-def.h, mini-x86.c: added sse2 optimization flag and use it
+ to emit better double->int conversions.
+
+Tue Jul 3 19:42:16 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+ * mini.c: the provided Min/Max optimizations are valid for unisgned
+ ints.
+
+2007-07-03 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * mini.c (can_access_method, can_access_field): methods moved to metadata/class.c and renamed to mono_method_can_access_method and mono_method_can_acesss_field
+
+2007-06-28 Miguel de Icaza <miguel@novell.com>
+
+ * mini.c (mono_running_on_valgrind): Add support for reporting the
+ method and its boundaries to valgrind.
+
+2007-06-28 Martin Baulig <martin@ximian.com>
+
+ * debug-debugger.h (MonoDebuggerInfo): Added `debugger_version'.
+
+2007-06-25 Zoltan Varga <vargaz@gmail.com>
+
+ * ssa.c (visit_inst): Add support for OP_BR. Fixes #81946.
+
+ * generic.2.cs: Add new test case.
+
+2007-06-25 Martin Baulig <martin@ximian.com>
+
+ Merged the `debugger-dublin' branch.
+
+ * debug-mini.c
+ (mono_debugger_insert_method_breakpoint): New public method.
+ (mono_debugger_remove_method_breakpoint): Likewise.
+ (mono_debugger_check_breakpoints): New static method.
+ (mono_debug_close_method): Call mono_debugger_check_breakpoints().
+
+ * debug-debugger.h (MonoDebuggerInfo):
+ Renamed (to keep backward compatibility in the vtable):
+ `insert_breakpoint' -> `old_insert_breakpoint'.
+ `remove_breakpoint' -> `old_remove_breakpoint'.
+ `create_string' -> `old_create_string'.
+ `lookup_class' -> `old_lookup_class'.
+ `lookup_type' -> removed; changed into a dummy field.
+ `lookup_assembly' -> `old_lookup_assembly'.
+ Added (same functionality, but different signature):
+ `create_string', `lookup_class', `lookup_assembly'
+ Added new:
+ `get_method_addr_or_bpt', `remove_method_breakpoint',
+ `runtime_class_init'.
+
+ * debug-debugger.c: Merged the `debugger-dublin' branch.
+
+2007-06-23 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-amd64.c (peephole_pass_1): Optimize away moves at the beginning of the bb as
+ well.
+ (peephole_pass): Likewise.
+
+Fri Jun 22 09:17:08 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+ * driver.c: hopefully make setaffinity work also for ancient
+ versions of linux.
+
+2007-06-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * driver.c : win32 build fix.
+
+Thu Jun 21 19:24:03 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+ * driver.c: check for the MONO_NO_SMP env var and bind to a single
+ processor if it is set.
+
+2007-06-21 Martin Baulig <martin@ximian.com>
+
+ * debug-mini.h: New file.
+
+ * debug-mini.c
+ (mono_debugger_insert_breakpoint_full): Moved here from
+ ../metadata/mono-debug-debugger.c.
+ (mono_debugger_remove_breakpoint): Likewise.
+ (mono_debugger_breakpoint_callback): Likewise.
+
+2007-06-15 Raja R Harinath <rharinath@novell.com>
+
+ * jit-icalls.c (mono_helper_compile_generic_method): Update to
+ changes in MonoGenericClass.
+
+2007-06-14 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-codegen.c (mono_opcode_to_type): Fix ia64 build.
+
+2007-06-14 Raja R Harinath <rharinath@novell.com>
+
+ * jit-icalls.c (mono_helper_compile_generic_method): Update to
+ removal of MonoGenericMethod.
+
+Thu Jun 14 12:42:04 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+ * mini-exceptions.c: hooks for the exception events profiling API.
+
+2007-06-14 Randolph Chung <tausq@debian.org>
+
+ * Makefile.ma: Add hppa target.
+ * mini-arch.h: Include mini-hppa.h
+ * cpu-hppa.md, exceptions-hppa.c, inssel-hppa.brg, mini-hppa.c,
+ mini-hppa.h, tramp-hppa.c: New files for 32-bit HPPA port.
+ Contributed under the X11 license (http://bugzilla.ximian.com/show_bug.cgi?id=81866).
+
+2007-06-14 Randolph Chung <tausq@debian.org>
+
+ * inssel.brg: Add rules for "chained" compare-branch operations so that
+ a single compare op can affect multiple branches. Adjust cost for
+ OP_CEQ/OP_CGT/OP_CGT_UN/OP_CLT/OP_CLT_UN.
+ * inssel-long32.brg: Update rules to use compare-branch macros. Adjust
+ cost for some rules so that they can more easily be overridden by
+ per-arch rules (with fixes from lupus).
+ Contributed under the X11 license (http://bugzilla.ximian.com/show_bug.cgi?id=81866).
+
+2007-06-13 Randolph Chung <tausq@debian.org>
+
+ * mini-ops.h: Reorder branch ops so that they match the order of the
+ corresponding CEE_* ops. The code expects them this way.
+ Add new ops for HPPA target.
+ Contributed under the X11 license (http://bugzilla.ximian.com/show_bug.cgi?id=81866).
+
+2007-06-13 Randolph Chung <tausq@debian.org>
+
+ * mini-exceptions.c: Handle cases where the stack grows towards
+ larger addresses.
+ Contributed under the X11 license (http://bugzilla.ximian.com/show_bug.cgi?id=81866).
+
+Wed Jun 13 19:13:23 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+ * jit-icalls.c, mini.h, mini.c: added virtual generic invoke
+ counter.
+ * driver.c: explain where a non-matching corlib is found.
+
+2007-06-13 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c (print_jit_stats): Output dynamic code allocation stats.
+
+2007-06-10 Sanghyeon Seo <sanxiyn@gmail.com>
+
+ * mini-exceptions.c: Generate a method profile leave event during
+ an exception to ensure that the profiler gets notified.
+
+2007-06-07 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-amd64.c (peephole_pass): Merge some small changes from the linear-ir
+ branch.
+
+ * cpu-amd64.md: Add long_and/or/xor opcodes.
+
+2007-06-06 Wade Berrier <wberrier@novell.com>
+
+ * cpu-s390x.md (shr_imm): Correct the length of shr_imm instruction.
+ (./class/lib/monolite/mcs.exe:25498): WARNING **: wrong maximal instruction
+ length of instruction shr_imm (expected 8, got 10)
+
+2007-06-06 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-ia64.c (mono_arch_output_basic_block): Really fix the build.
+
+2007-06-06 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c, driver.c: Changed MonoDomain.jit_code_hash to a
+ MonoInternalHashTable again (fixed bug in the internal hash table
+ code).
+
+2007-06-06 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c, driver.c: Reverted the MonoInternalHashTable changes.
+ Have to figure out what makes it crash the SWF regression.
+
+2007-06-05 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-ia64.c (mono_arch_lowering_pass): Fix ia64 build.
+
+Tue Jun 5 17:40:04 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+ * mini.c: optimize out the type check when storing null in a
+ reference array.
+
+2007-06-04 Mark Probst <mark.probst@gmail.com>
+
+ * mini.c, driver.c: Changed MonoDomain.jit_code_hash to a
+ MonoInternalHashTable.
+
+Mon Jun 4 11:29:43 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+ * inssel.brg, mini.c, mini-ops.h: optimized Math.Mini/Max
+ signed integer methods.
+
+2007-06-02 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-x86.c (mono_arch_get_delegate_invoke_impl): Disable the static case
+ permanently since the current approach doesn't work.
+
+2007-06-02 Zoltan Varga <vargaz@gmail.com>
+
+ * inssel.brg (stmt): Only call delegate->invoke_impl if
+ MONO_ARCH_HAVE_CREATE_DELEGATE_TRAMPOLINE is defined.
+
+2007-06-01 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-amd64.c (mono_arch_output_basic_block): Unify div/rem opcodes and handle
+ the sreg2==rdx case.
+
+ * mini-amd64.c cpu-amd64.md: Correct length of r4const instruction and take into
+ account if it contains a rex prefix.
+ (peephole_pass): Handle OP_FMOVE as well.
+
+2007-06-01 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-x86.c (mono_arch_get_delegate_invoke_impl): Disable the static case for now
+ as it causes regressions.
+
+2007-05-31 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-x86.c (mono_arch_get_delegate_invoke_impl): Implement support for the
+ static case as well.
+
+ * tramp-ia64.c (mono_arch_create_trampoline_code): Fix ia64 build.
+
+ * mini-x86.c (mono_arch_get_delegate_invoke_impl): New arch dependent function.
+ (mono_arch_get_this_arg_from_call): Ditto.
+
+ * tramp-x86.c (mono_arch_patch_delegate_trampoline): Removed.
+
+ * inssel.brg (mini_emit_virtual_call): Call delegate->Invoke through the delegate's
+ invoke_impl field.
+
+ * mini-amd64.c (mono_arch_get_delegate_invoke_impl): New arch dependent function.
+ (mono_arch_get_this_arg_from_call): Ditto.
+
+ * tramp-amd64.c (mono_arch_patch_delegate_trampoline): Removed.
+
+ * mini-trampolines.c (mono_delegate_trampoline): Complete rewrite. On first call,
+ try to create optimized invoke code and use that for further invocations.
+ Otherwise, use the original mono_marshal_get_delegate_invoke () implementation.
+
+ * mini-x86.h mini-ia64.h: Remove MONO_ARCH_HAS_CREATE_DELEGATE_TRAMPOLINE for now.
+
+2007-05-29 Rodrigo Kumpera <kumpera@gmail.com>
+
+ * inssel.brg (mini_emit_virtual_call): Statically dispatch virtual calls to
+ sealed classes or methods.
+ *devirtualization.cs: tests for the new optimization
+
+2007-05-29 Zoltan Varga <vargaz@gmail.com>
+
+ * liveness.c (update_gen_kill_set): No need to set VOLATILE flags here, it is done
+ by the update_volatile () function.
+
+2007-05-27 Zoltan Varga <vargaz@gmail.com>
+
+ * driver.c (mono_main): Call g_thread_init () early since newer glib versions
+ require it.
+
+ * abcremoval.c (mono_perform_abc_removal): Avoid using alloca.
+
+2007-05-24 Jonathan Chambers <joncham@gmail.com>
+
+ * mini.c: Add configure checks for header files.
+ * mini-x86.c: Add configure checks for header files.
+ * trace.c: Add configure checks for header files.
+ * aot-runtime.c: Add configure checks for header files.
+ * aot-compiler.c: Add configure checks for header files.
+ * driver.c: Add configure checks for header files.
+ * mini-codegen.c: Add configure checks for header files.
+
+ Code is contributed under MIT/X11 license.
+
+2007-05-22 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-ia64.c (mono_arch_lowering_pass): Fix the handling of
+ icompare_imm -128 + op_iclt. Fixes #81703.
+
+2007-05-19 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-codegen.c (mono_local_regalloc): Fix long-shift-regalloc on amd64.
+
+2007-05-15 Massimiliano Mantione <massi@ximian.com>
+
+ * inssel.brg: added "mini_emit_load_intf_bit_reg_vtable", and used it
+ inside "mini_emit_isninst_iface_cast" and "mini_emit_castclass_iface"
+ so that all isinst checks now use "interface_bitmap".
+
+2007-05-15 Zoltan Varga <vargaz@gmail.com>
+
+ * cpu-amd64.md (jmp): Fix a warning.
+
+ * inssel.brg (CEE_SWITCH): Hopefully fix #80738.
+
+ * basic.cs: Add new regression test.
+
+ * basic.cs: Remove test which is now in basic-long.cs.
+
+ * mini-ia64.c (mono_arch_output_basic_block): Sign extend in CEE_CONV_I8/CEE_CONV_I.
+
+ * basic-long.cs: Add new test.
+
+2007-05-13 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-sparc.c (mono_spillvar_offset_float): Fix sparc build.
+
+2007-05-12 Zoltan Varga <vargaz@gmail.com>
+
+ * cpu-x86.md minix-86.c: Add a peephole_pass_1 () as on amd64.
+
+ * mini-x86.c (mono_arch_output_basic_block): Use mono_opcode_to_cond () in a few
+ places.
+
+ * mini-x86.c (mono_arch_emit_exceptions): Decrease the size of the exception
+ throwing code a bit.
+
+ * exceptions-x86.c (mono_arch_get_throw_corlib_exception): Decrease the size of
+ the exception throwing code a bit.
+
+ * mini-x86.c (get_call_info): Allocate result from a mempool.
+
+2007-05-11 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c (find_typespec_for_class): Fix the assert.
+
+ * mini.h (MONO_AOT_FILE_VERSION): Bump AOT file version.
+
+ * mini.h (MonoCompile): Add 'token_info_hash' field.
+
+ * mini.c: Save token->method associations during compilation so the AOT
+ compiler can use it.
+
+ * aot-compiler.c aot-runtime.c: Add support for compiling non-generic methods
+ which reference generic classes and methods.
+
+2007-05-10 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.h mini-<ARCH>.h: Get rid of MONO_ARCH_HAS_XP_LOCAL_REGALLOC.
+
+ * aot-compiler.c (compile_method): Fix a typo in a comment.
+
+ * aot-runtime.c (decode_cached_class_info): Skip generic types.
+
+ * aot-compiler.c: Add minimal support for AOTing generic code by skipping
+ everything generic.
+
+ * mini.c (mono_method_to_ir): Disable AOT when calling helper_compile_generic_method.
+
+2007-05-09 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.h (MonoCompile): Add 'args' field.
+
+ * mini.c (mono_compile_create_vars): Store variables representing the arguments
+ into cfg->args.
+
+ * mini-<ARCH>.c: Use cfg->args for accessing the method arguments.
+
+2007-05-08 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c (mono_compile_get_interface_var): Remove this unused function.
+
+ * mini-ops.h inssel.brg mini-<ARCH>.c: Add a new opcode for ckfinite as well.
+
+ * mini-ops.h: Introduce new opcodes used in the IR instead of the original CEE_
+ opcodes for some opcodes.
+
+ * mini.h *.brg *.c: Use the new opcodes.
+
+2007-05-08 Massimiliano Mantione <massi@ximian.com>
+
+ * mini.h: Bumped aot revision.
+
+ * inssel.brg: modified code generation of type checks for interfaces
+ to use the new "MonoClass.interface_bitmap" instead of the old
+ "MonoClass.interface_offsets".
+
2007-04-30 Zoltan Varga <vargaz@gmail.com>
* cpu-amd64.md (jmp): Increase the maximum size of the jmp opcode to 128.