2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mono / mini / ChangeLog
index d0e8ac4b9d9d14e75bc9fb51d01aac0253cb62a2..2e531f7e5f9c0a967f083d1f8ed18b431bd0a8de 100644 (file)
@@ -1,3 +1,347 @@
+2005-07-06  Martin Baulig  <martin@ximian.com>
+
+       * mini.c
+       (mono_jit_compile_method_inner): Call mono_get_inflated_method().
+       (mono_jit_runtime_invoke): Likewise.
+
+2005-07-05  Zoltan Varga  <vargaz@freemail.hu>
+
+       * aot.c (mono_compile_assembly): Allocate the GOT in the .bss segment
+       on x86 too.
+       
+       * aot.c: Add new mono_aot_get_method_from_token () function to load AOT methods
+       without loading their metadata. Reorganize the file format so exception handling+
+       debug info is kept separate from normal method info. Create MonoJitInfo 
+       structures for methods lazily.
+
+       * tramp-x86.c (x86_aot_trampoline): Use the new from_token method to avoid
+       loading metadata.
+       (x86_class_init_trampoline): Patch AOT class init trampolines too.
+
+       * mini.c (mini_init): Install the new mono_aot_find_jit_info hook.
+
+       * mini.c (mono_method_to_ir): Reduce the number of class init trampoline calls
+       in AOT code.
+
+       * mini.h: Bump AOT file version.
+
+2005-07-04  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini-x86.c (peephole_pass): Fix the loadi1/loadi2 rules.
+
+2005-07-01  Raja R Harinath  <rharinath@novell.com>
+
+       * Makefile.am (check-local): Call semdel-wrapper.
+
+2005-06-29  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini-x86.c: Revert the last change as it seems to break the build..
+
+2005-06-28  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini-x86.c (peephole_pass): Fix the loadi1/loadi2 rules.
+       
+       * mini-x86.c (mono_arch_cpu_init): Fix setting of fp precision in the VC build.
+
+2005-06-27  Ben Maurer  <bmaurer@ximian.com>
+
+       * mini.c (NEW_AOTCONST): make sure to call mono_get_got_var
+       outside of the macro, so strange stuff doesn't happen with gcc4
+       (NEW_AOTCONST_TOKEN): Likewise.
+
+2005-06-28  Martin Baulig  <martin@ximian.com>
+
+       * mini.c (mini_class_is_system_array): New static method; use this
+       instead of `klass->parent == mono_defaults.array_class' everywhere
+       since this also works for the new generic array class.
+
+2005-06-26  Ben Maurer  <bmaurer@ximian.com>
+
+       * inssel.brg: Remove warnings.
+
+2005-06-24  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini-ia64.c: Ongoing IA64 work.
+
+       * basic-float.cs: Add float->i1 conversion test.
+
+       * iltests.il: Add conv.u4 test.
+
+2005-06-23  Zoltan Varga  <vargaz@freemail.hu>
+
+       * inssel-long.brg: Fix bug caused by last change.
+
+2005-06-23  Geoff Norton  <gnorton@customerdna.com>
+
+       * mini-x86.h: Add __APPLE__ to the SC_* redefines with the other 
+       BSDs.  Allows the x86 JIT to work on OSX86
+
+2005-06-22  Zoltan Varga  <vargaz@freemail.hu>
+
+       * inssel-long.brg: Use OP_LSHR_UN_IMM instead of OP_SHR_UN_IMM in
+       u4->i8 conversion.
+
+       * mini-ia64.c: Ongoing IA64 work.
+
+2005-06-19  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini-ia64.c: Ongoing IA64 work.
+
+       * driver.c: Clean up jit_code_hash as well when using --regression.
+
+       * inssel-long.brg: Fix long->i4/u4 conversion rules.
+
+       * basic-long.cs: Add tests for long->u4 conversion.
+
+2005-06-18  Ben Maurer  <bmaurer@ximian.com>
+
+       * mini.c: Take mono_get_domainvar out of macros. This makes sure
+       that we do not depend on undefined C behavior: the order stuff
+       gets evaluated within an expression. Fixes mono when compiled on
+       GCC 4.
+
+2005-06-18  Zoltan Varga  <vargaz@freemail.hu>
+
+       * *-ia64.*: Ongoing IA64 work.
+
+       * aot.c: Lower memory usage while loading AOT methods.
+
+       * tramp-x86.c: Avoid allocating+freeing MonoJitInfo structures.
+
+       * mini.h: Bump AOT file format version.
+
+2005-06-17  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini.c (mono_method_to_ir): Allow STACK_PTR as input to SWITCH.
+
+2005-06-16  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * declsec.c: Fixed APTC to check for FullTrust on caller assembly (and
+       not on callee assembly). Fixed some comments.
+
+2005-06-16  Zoltan Varga  <vargaz@freemail.hu>
+
+       * aot.c (mono_compile_assembly): Mark the "methods" symbol as a function so
+       it gets proper disassembly.
+       (emit_method_info): Remove some dead code.
+
+       * mini.c (mini_method_compile): Allways allocate the GOT var in
+       mono_method_to_ir for emulating opcodes.
+
+2005-06-13  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini.c (mono_jit_free_method): Remove the method from the JitInfo table
+       before freeing the code memory. Fixes #74990.
+
+       * objects.cs: Add regression test for #74992.
+
+       * liveness.c: Extend live ranges of arguments to the beginning of the
+       method. Fixes #74992.
+
+       * exceptions-ia64.c mini-ia64.h: Modify ip during exception handling
+       so it points into the faulting instruction.
+
+2005-06-12  Zoltan Varga  <vargaz@freemail.hu>
+
+       * jit-icalls.c (mono_imul_ovf): Add exception handling.
+
+       * *-ia64.*: Ongoing IA64 work.
+
+       * mini.c (mini_init): Fix signature of mono_delegate_ctor.
+
+2005-06-11  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini-ia64.h exceptions-ia64.c: Ongoing IA64 work.
+
+       * *-ia64.*: Ongoing IA64 work.
+
+2005-06-10  Zoltan Varga  <vargaz@freemail.hu>
+
+       * basic-long.cs: Add tests for add/sub.ovf.
+
+       * basic.cs: Add tests for sub.ovf.
+
+       * *-ia64.*: Ongoing IA64 work.
+
+2005-06-09  Zoltan Varga  <vargaz@freemail.hu>
+
+       * *-ia64.*: Ongoing IA64 work.
+
+       * basic.cs: Add conv.ovf.i4.un test.
+
+2005-06-09  Massimiliano Mantione  <massi@ximian.com>
+
+       * mini.c: (remove_block_if_useless) Fixed bug 75061.
+       
+2005-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * mini.c: no SIGUSR2 on windows. Remove it for PLATFORM_WIN32.
+
+2005-06-07  Zoltan Varga  <vargaz@freemail.hu>
+
+       * *-ia64.*: Ongoing IA64 work.
+
+2005-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * trace.[ch]:
+       * mini.c: added the ability to toggle trace on/off using SIGUSR2.
+
+2005-06-04  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini-ia64.c mini-ia64.h: Fix cleanup of memory stack.
+
+2005-06-03  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini-amd64.c (emit_call): Fix yet another bug in the near call optimization.
+
+       * mini-amd64.c (amd64_patch): Add an assert to check that the destination
+       of a call is callable by a near call.
+
+2005-05-31  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini-ia64.c: Ongoing IA64 work.
+
+2005-05-29  Zoltan Varga  <vargaz@freemail.hu>
+
+       * genmdesc.c: Make the generated array non-static.
+
+       * inssel-long.brg: Fix LSHR_IMM rule.
+
+       * *-ia64.*: Ongoing IA64 work.
+
+       * *-ia64.*: Ongoing IA64 work.
+
+2005-05-28  Zoltan Varga  <vargaz@freemail.hu>
+
+       * *-ia64.*: Ongoing IA64 work.
+
+       * *-ia64.*: Ongoing IA64 work.
+       
+       * mini-ia64.c: Ongoing IA64 work.
+
+       * *-ia64.* jit-icalls.c mini-codegen.c: Ongoing IA64 work.
+
+2005-05-28  Zoltan Varga  <vargaz@freemail.hu>
+
+       * objects.cs basic-calls.cs: Move some tests to objects.cs.
+       
+       * objects.cs basic-long.cs: Move some tests to objects.cs.
+
+2005-05-26  Zoltan Varga  <vargaz@freemail.hu>
+
+       * *-ia64.*: Ongoing IA64 work.
+
+       * iltests.il: Add a new test.
+
+       * mini.c (mono_method_to_ir): Initialize valuetypes when created using
+       newobj. Fixes #75042.
+
+2005-05-22  Zoltan Varga  <vargaz@freemail.hu>
+
+       * *-ia64.*: Ongoing IA64 work.
+       
+       * *-ia64.*: Ongoing IA64 work.
+       
+       * *-ia64.*: Ongoing IA64 work.
+
+       * basic.cs objects.cs: Move tests accessing static variables as well.
+
+       * basic.cs objects.cs: Move test_0_pin_string to objects.cs.
+
+2005-05-21  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini.c (SIG_HANDLER_SIGNATURE): Fix warning.
+
+       * driver.c: Always print failed tests.
+
+       * mini-codegen.c: Use cfg->frame_reg instead of a macro for the
+       frame pointer.
+
+       * *ia64*: Ongoing IA64 work.
+
+2005-05-20  Zoltan Varga  <vargaz@freemail.hu>
+
+       * basic.cs: Add tests for add.ovf. Fix warnings.
+
+2005-05-18  Miguel de Icaza  <miguel@novell.com>
+
+       * driver.c (mono_main): Avoid crash if no argument is passed to
+       --break;  Do not use g_error, but f_printf.   And fix all other
+       ocurrences of the same crash.
+
+2005-05-17  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini.h mini.c: Generalize the existing uses of the MONO_DEBUG env variable
+       and add a new one: aborting when a SIGSEGV is raised while in unmanaged code.
+       Fixes #74742.
+
+2005-05-14  Zoltan Varga  <vargaz@freemail.hu>
+
+       * *-ia64.*: Add beginnings of IA64 backend.
+
+       * Makefile.am mini-arch.h mini-codegen.c: Add IA64 support.     
+
+2005-05-13  Zoltan Varga  <vargaz@freemail.hu>
+
+       * inssel-long.brg: Add missing ulong->{i1, i2} checked conversions.
+       Fixes #74925.
+
+       * basic-long.cs exceptions.cs: Add new tests. Fix some warnings.
+
+       * mini-amd64.c: Fix a warning.
+
+2005-05-10  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini-amd64.c (mono_arch_output_basic_block): Fix stack space leakage
+       in float_neg. Fixes #74897.
+
+       * mini-amd64.c (emit_call): Fix another near call bug.
+
+2005-05-06  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * declsec.c: Keep the appdomain information in the structure. Added a 
+       missing "return FALSE" for Unmanaged if FullTrust is set (or else the
+       value gets overwritten).
+       * declsec.h: Set the default MonoArray for the the stack to 6. Added
+       an MonoAppDomain member to MonoSecurityFrame.
+       * mini-exceptions.c: Do not use a glist to keep GC allocated objects
+       used in the stack walk. Now use a MonoArray which grow (double) when
+       it gets full.
+
+2005-05-05  Lluis Sanchez Gual  <lluis@novell.com>
+
+       * mini.c: Re-enabled runtime cleanup, since running threads should
+       now properly stop when exiting.
+
+2005-05-05  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini-codegen.c: New file contaning the arch-independent local
+       register allocator. Not used by any architectures yet.
+
+       * mini.h linear-scan.c: Merge some changes from the 
+       mini-xp-local-regalloc branch.
+
+2005-04-28  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini-amd64.c (emit_call): Fix calls to native functions when the
+       runtime is compiled as a shared library. Fixes #74756.
+
+       * mini.c (mono_method_to_ir): Assert if ldsfld and friends are used
+       on a literal field. Fixes #74751.
+
+2005-04-25  Raja R Harinath  <rharinath@novell.com>
+
+       * Makefile.am (RUNTIME): Add MONO_CFG_DIR.
+
+2005-04-23  Zoltan Varga  <vargaz@freemail.hu>
+
+       * objects.cs: Add missing null casting test.
+
+2005-04-22  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mini-exceptions.c (mono_find_jit_info): Fix native offset calculation
+       in wrapper methods. Also rename 'address' variable to 'offset'.
+
 2005-04-20  Zoltan Varga  <vargaz@freemail.hu>
 
        * mini.c debug-mini.c aot.c tramp-x86.c driver.c: Fix some gcc 4.0