+2005-1-20 Massimiliano Mantione <massi@ximian.com>
+
+ * ssapre.c: Turned usage of snprintf to GString.
+ * ssapre.h: disabled MONO_APPLY_SSAPRE_TO_SINGLE_METHOD
+ (I left it on by mistake in my previous commit).
+
+Thu Jan 20 12:00:45 CET 2005 Paolo Molaro <lupus@ximian.com>
+
+ * mini.c, cfold.c, basic-calls.cs: preserve side effects
+ on cond branch optimization (fixes bug# 71515).
+
+2005-1-20 Massimiliano Mantione <massi@ximian.com>
+
+ * abcremoval.c: Fixed bug 71062.
+ * abcremoval.h: Likewise.
+
+2005-1-20 Massimiliano Mantione <massi@ximian.com>
+
+ * mini.c: Added a new functionality to optimize_branches, the removal
+ of useless basic blocks, and fixed some problem in the removal of
+ critical edges; some utility functions added for both purposes.
+ * ssapre.c: Added complex expression support, and fixed bug 70637.
+ * ssapre.h: Likewise.
+ * ssapre-cee-ops.h: Added file with list of "CEE_*" opcodes
+ enabled in SSAPRE.
+ * ssapre-mini-ops.h: Likewise, but for "OP_*" opcodes.
+ * driver.c: Re-enabled SSAPRE.
+
+2005-01-19 Martin Baulig <martin@ximian.com>
+
+ * mini.c (mono_method_to_ir): Call mono_get_inflated_method() on
+ the result of mono_get_method_constrained().
+
+2005-01-18 Neale Ferguson <NealeFerguson@earthlink.net>
+
+ * exceptions-s390.c tramp-s390.c: Allocate code using the global code
+ manager.
+
+2005-01-18 Geoff Norton <gnorton@customerdna.com>
+
+ * jit-icalls.c (mono_llmult_ovf): Fix other overflow conditions to
+ be detected. Fixes #59296.
+
+2005-01-18 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini-amd64.c (mono_arch_output_basic_block): Remove some assertions
+ which can happen. Fixes #71361.
+
+2005-01-18 Zoltan Varga <vargaz@freemail.hu>
+
+ * exceptions-sparc.c tramp-sparc.c: Allocate code using the global code
+ manager.
+
+2005-01-17 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini.c (mono_create_jump_trampoline): Revert last change as it causes
+ appdomain-unload.exe to fail.
+
+ * mini.c: Fix some memory leaks.
+
+Mon Jan 17 16:16:23 CET 2005 Paolo Molaro <lupus@ximian.com>
+
+ * inssel.brg: handle the new size of rank, idepth, max_interface_id.
+ Fixed bug and sped up some codepaths.
+
+2005-01-17 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini.c: Fix some memory leaks.
+
+ * exceptions.cs basic-long.cs: Add test for checked ulong->int
+ conversion.
+
+ * inssel-long.brg: Implement long_conv_to_ovf_i4_un. Fixes #71319.
+
+ * inssel-long.brg: Fix conv.ovf.i8 when run on an int32. Fixes
+ #71320.
+
+ * iltests.il: Add regression test for #71320.
+
+2005-01-16 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini.c (mono_codegen): Fix installation of profiler hooks.
+
+ * mini-sparc.c mini-amd64.c: Don't allocate stack space for dead vars.
+
+Sun Jan 16 12:19:35 CET 2005 Paolo Molaro <lupus@ximian.com>
+
+ * mini.h, mini.c, cfold.c: optimize access to enum
+ readonly fields, too. Eval conditional branches if possible
+ to perform unreachable code removal in more cases.
+
+2005-01-15 Zoltan Varga <vargaz@freemail.hu>
+
+ * tramp-amd64.c exceptions-amd64.c: Use the new global code manager.
+
+ * mini.c (mono_global_codeman_reserve): New function to allocate code memory from a global
+ code manager.
+
+ * tramp-x86.c mini-x86.c exceptions-x86.c: Allocate all code memory so mono works with
+ WinXP DEP. Fixes #71244.
+
+2005-01-14 Zoltan Varga <vargaz@freemail.hu>
+
+ * inssel.brg: Allways convert CEE_CONV_OVF_I4 to a move on 64 bit platforms. Fixes #71236.
+
+2005-01-13 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini-x86.c (mono_arch_output_basic_block): Fix OP_ATOMIC_ADD_NEW_I4.
+
+2005-01-11 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini-exceptions.c exceptions-ppc.c aot.c: Cope with MonoJitInfo
+ changes.
+
+ * mini.h: Bump AOT version.
+
+ * mini.h (MonoCompile): Change exvar to a hash table.
+
+ * mini.c: Allocate a separate exvar for each handler block.
+
+ * mini.c: Get rid of the computation of filter_lengths, its not needed.
+
+ * mini.c inssel.brg: Change OP_THROW_OR_NULL to compare the current
+ ex var with the pending exception and only throw if the two are equal.
+ Fixes #68552.
+
+ * exceptions.cs: Add tests for rethrow and nested catch clauses.
+
+ * mini-x86.c: Fix warnings.
+
+ * Makefile.am (common_sources): Move mini-exceptions.c here as it is
+ used by all the ports now.
+
+ * aot.c: Add write-symbols and save-temps options.
+
+2005-01-10 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini-x86.c: Add support for returning structs in registers from pinvoke functions on WIN32.
+
+Mon Jan 10 16:11:16 EST 2005 Neale Ferguson <nealeferguson@earthlink.net>
+
+ * mini-ops.h, inssel-s390.brg, cpu-s390.md: Support OP_ATOMIC__xxx
+ operations.
+
+ * tramp-s390.c: Check vtable slot belongs to the domain.
+
+ * mini-exceptions.c, exceptions-s390.c: Standardize exception handling
+ as per other platforms.
+
+ * mini-s390.c, mini-s390.h: Enable out-of-line bblock support.
+
+Mon Jan 10 18:53:05 CET 2005 Paolo Molaro <lupus@ximian.com>
+
+ * driver.c: we don't run the Main() code in a subthread anymore.
+
+Mon Jan 10 17:54:16 CET 2005 Paolo Molaro <lupus@ximian.com>
+
+ * mini.c: added experimental rtc support in the statistical
+ profiler: if the user has the permission, more accurate statistics
+ are gathered. Run with: MONO_RTC=4096 mono --profiler=default:stat ....
+ The MONO_RTC value must be restricted to what the linux rtc allows:
+ power of two from 64 to 8192 Hz.
+
+2005-01-10 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini-x86.c (mono_arch_emit_exceptions): Fix #71121.
+
+Mon Jan 10 05:20:49 EST 2005 Paolo Molaro <lupus@ximian.com>
+
+ * mini-ppc.c: better icache flush for smp.
+
+2005-01-09 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini-amd64.c (emit_move_return_value): Fix memory leak.
+
+ * mini-x86.c (get_call_info): Add the get_call_info () code from the
+ amd64 port, not yet used.
+
+2005-01-07 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini.c (mono_method_to_ir): Disable inlining of ldfld wrappers with
+ a struct type.
+
+2005-01-07 Sebastien Pouliot <sebastien@ximian.com>
+
+ * driver.c: Added --security option to activate the security manager.
+ Right now this will allow code generation for declarative demands and
+ is disabled when AOT is specified.
+ * mini.c: Add code generation for declarative security demands.
+ * mini.h: Add mono_use_security_manager as an extern gboolean.
+
+2005-01-07 Zoltan Varga <vargaz@freemail.hu>
+
+ * aot.c (mono_compile_assembly): Speed up compilation a bit by
+ emitting more dense assembly code.
+
+ * mini-sparc.c mini-sparc.h exceptions-sparc.c: Enable optimized corlib
+ exception throwing stuff.
+
+2005-01-06 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini-sparc.c (mono_arch_emit_exceptions): Fix typo in previous patch. Remove
+ dead code.
+
+ * mini-amd64.c (mono_arch_emit_exceptions): Remove duplicate epilog stuff
+ left in by mistake.
+
+ * driver.c (EXCLUDED_FROM_ALL): Disable SSAPRE until bug #70637 is
+ fixed.
+
+ * mini-sparc.h mini-sparc.c: Enable out-of-line bblock support.
+
+ * tramp-*.c: Only patch vtable slots if the object is in the current
+ domain. Fixes appdomain-unload.exe.
+
+ * mini-amd64.c mini-amd64.h: Enable out-of-line bblock support.
+
+ * mini-amd64.c (mono_arch_local_regalloc): Port regalloc fix from
+ x86 branch.
+
+2005-01-05 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini.c (reverse_branch_op): New helper function.
+
+ * mini.c (optimize_branches): Run the new optimization only on
+ platforms which support it. Also reverse all kinds of branches.
+
+ * mini.h (MonoBasicBlock): Add 'out_of_line' field.
+
+ * mini.c (mono_method_to_ir): Set 'out_of_line' for bblocks which have
+ a throw statement.
+
+ * mini.c (optimize_branches): Reverse not-equals branches if the false
+ bblock is a throw. This happens a lot of time with argument checking in
+ corlib.
+
+ * mini.c (mono_codegen): Add support for placing basic blocks after
+ the function epilogue.
+
+ * mini-x86.c mini-x86.h: Add support for placing basic blocks after the
+ function epilogue.
+
+2005-01-05 Miguel de Icaza <miguel@ximian.com>
+
+ * mini.c (setup_stat_profiler): Only set this up if the platform
+ supports ITIMER_PROF.
+
+2005-01-05 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini-x86.c (mono_arch_local_regalloc): Fix a bug introduced by the
+ previous patch.
+
+ * inssel.brg: Fix a warning.
+
+Wed Jan 5 16:40:18 CET 2005 Paolo Molaro <lupus@ximian.com>
+
+ * mini.c: added support for statistical profiler
+ (run with: --profile=default:stat).
+
+2005-01-04 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini-x86.h (MONO_ARCH_ENABLE_EMIT_STATE_OPT): Enable this on x86.
+
+ * mini-x86.c cpu-pentium.md: More fixes for usage of global registers.
+
+ * mini-amd64.c (mono_arch_local_regalloc): Port some regalloc fixes
+ related to global registers from the amd64 port.
+
+2005-01-03 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini.c (mono_method_to_ir): Handle MONO_CLASSCONST.
+
+ * mini-amd64.c (mono_arch_local_regalloc): Fix some regalloc problems
+ with global registers.
+ (mono_arch_output_basic_block): Fix SWITCH in the AOT case.
+
+ * aot.c (emit_method_code): Fix the 'method emitted as' messages.
+
+2004-12-31 Zoltan Varga <vargaz@freemail.hu>
+
+ * debug-mini.c (encode_value): Fix off-by-one.
+
+ * aot.c (encode_value): Likewise.
+
+ * mini.c (mono_method_to_ir): Disable AOT for methods containing LDPTR.
+
+2004-12-30 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini.c linear-scan.c: Add a workaround for the mcs crash when using
+ AOT.
+
+ * aot.c (mono_aot_load_method): Free up patch info if no longer needed.
+
+ * aot.c (emit_method_info): Increase size of temp buffer.
+
+ * mini-x86.c cpu-pentium.md mini.c: Load fp constants differently in
+ the AOT case.
+
+2004-12-28 Zoltan Varga <vargaz@freemail.hu>
+
+ * aot.c (emit_method_info): Fix build.
+
+ * aot.c: Further rework of the AOT file format to reduce the size of
+ the method info data.
+
+ * mini.h: Bump AOT file format version.
+
+2004-12-27 Martin Baulig <martin@ximian.com>
+
+ * mini.c (mini_get_method): New static method; call
+ mono_get_method_full() and mono_get_inflated_method().
+ (mono_method_to_ir): Use mini_get_method() instead of
+ mono_get_method_full().
+
+2004-12-26 Patrik Torstensson <patrik.torstensson@gmail.com>
+
+ * mini-x86.c (atomic ops): fixed bug interlocked bug #70784.
+
+2004-12-25 Zoltan Varga <vargaz@freemail.hu>
+
+ * inssel.brg (ldind_to_load_membase): Handle CEE_LDIND_I8.
+
+ * inssel-amd64.brg: Add some optimization rules.
+
+2004-12-24 Ben Maurer <bmaurer@ximian.com>
+
+ * aot.c: Remove the use of MonoGHashTable and other GC stuff. The
+ standard not GC'd stuff is fine.
+
+2004-12-24 Zoltan Varga <vargaz@freemail.hu>
+
+ * aot.c: Rework the AOT file format to get rid of most of the global
+ symbols. This reduces the size of the mscorlib.dll.so by 1MB.
+
+ * mini.h: Bump AOT file format version.
+
+2004-12-23 Zoltan Varga <vargaz@freemail.hu>
+
+ * mini.h: Bump AOT file format version.
+
+ * aot.c (mono_aot_is_got_entry): New function to determine if an
+ address is inside a GOT.
+
+ * aot.c mini-x86.c tramp-x86.c: Make all patches use the GOT.
+
+ * cpu-pentium.md: Increase the maximum size of some instructions which
+ might involve a got access.
+
+ * mini.c (get_method_from_ip): Another debug helper function.
+
+ * mini.c: Call mono_get_got_var () in a couple places. Handle the case
+ when got var accesses are created during the decompose phase.
+
+ * mini-sparc.c: Change mono_compile_aot to cfg->compile_aot.
+
+ * mini.h mini.c mini-x86.c aot.c mini-sparc.c: Add a 'compile_corlib'
+ argument mini_compile_method and to MonoCompile, and use this to
+ determine whenever a given method is compiled for AOT. This allows the
+ other methods compiled during AOT compilation to be free of AOT stuff,
+ so the backends does not need to add special support for them by
+ creating a fake GOT etc.
+
+ * mini-x86.c (mono_arch_patch_code): Remove fake got stuff as it is no
+ longer needed.
+
+2004-12-21 Ben Maurer <bmaurer@ximian.com>
+
+ * mini.c (mono_method_to_ir): It turns out that some of the
+ x-appdomain wrappers are lax with types, so just ignore this for
+ all wrappers.
+
+ * inssel.brg (OP_CHECK_ARRAY_TYPE): Optimize this by only looking
+ at the vtable->klass. If it is non-shared code we can just use the
+ vtable.
+
+Tue Dec 21 17:43:06 CET 2004 Paolo Molaro <lupus@ximian.com>
+
+ * mini-ppc.c: access MonoDomain from tls, too.
+
+2004-12-21 Sebastien Pouliot <sebastien@ximian.com>
+
+ * declsec.c: Removed unused variable (and related warning ;-)
+
+2004-12-21 Ben Maurer <bmaurer@ximian.com>
+
+ * iltests.il: New test for LDELEMA on an array of ref types.
+
+ * mini.c (CEE_LDELEMA): We need to emit OP_CHECK_ARRAY_TYPE for
+ all ldelema's on reftypes.
+ (check_call_signature): Remove the OP_CHECK_ARRAY_TYPE from here,
+ it was the wrong place to put it.
+
+ * mini-x86.c (mono_arch_output_basic_block): Just use ecx as the
+ register to pop to make this cleaner, at the request of Paolo.
+
2004-12-20 Ben Maurer <bmaurer@ximian.com>
* mini-ops.h (OP_GETHASHCODE): New op.