Add and use compare-and-branch macros to support architectures that
[mono.git] / mono / mini / ChangeLog
index ee933744899a212032211adb1f608110e7e5e23a..076c8b618a44c7c0839d3baeef7859a8b77c2f0d 100644 (file)
@@ -1,3 +1,296 @@
+2006-11-21  Mark Mason  <mason@broadcom.com>
+
+       * inssel.brg: Add and use compare-and-branch macros to support
+       architectures that do not have condition code registers (ie. MIPS).
+       * *-mips.{c,brg,md}: Fix copyright statements
+
+2006-11-20  Mark Mason  <mason@broadcom.com>
+
+       * Makefile.am: remove mini-codegen.c from list of MIPS sources
+       * mini.c: Allow GET_CONTEXT to be specified by the arch port
+       * mini.h: Added declaration for mono_print_ins()
+       * mini-codegen.c: added ins_spec initializer for MIPS
+       * mini-codegen.c (mono_call_inst_add_outarg_reg): added asserts for
+       vreg to be virtual and hreg to be non-virtual.
+       * mini-codegen.c (mono_spillvar_offset): assert if MIPS - spilling
+       is not yet working/implemented correctly.
+       * mini-codegen.c (print_ins): rename to mono_print_ins(), make
+       non-static, fixup calls to print_ins() from other parts in the file.
+
+2006-11-20  Mark Mason  <mason@broadcom.com>
+
+       * basic-calls.cs: added tests for passing structures as arguments
+       to calls.
+
+Mon Nov 20 19:40:11 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * inssel-long32.brg: optimize signed division by power of two.
+
+Mon Nov 20 17:37:58 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini-arm.c: added support for interworking with thumb code
+       (mono must be still be built using the ARM instruction encoding).
+
+2006-11-19  Miguel de Icaza  <miguel@novell.com>
+
+       * mini.c (type_from_op): Separate the conditions for OP_EQ as the
+       verifier has different rules for it.   Fixes a few verifier issues
+       in the test suite.
+
+       * mini-exceptions.c (mono_handle_native_sigsegv): Put the message
+       at the end, so people know what happened.
+
+Thu Nov 16 14:07:18 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * brach-opts.c: in optimize_exception_target() make sure we
+       are in a catch clause (fixes bug #79871).
+
+Thu Nov 16 12:42:13 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * jit-icalls.c, jit-icalls.h, mini-arm.c, mini.c:
+       more soft-float support fixes.
+
+Wed Nov 15 18:45:47 GMT 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini-arm.c, inssel-arm.brg: ABI fix for longs and doubles
+       that are passed half on the stack and half in registers.
+
+Wed Nov 15 17:00:27 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini-ops.h, mini-arch.h, helpers.c, Makefile.am:
+       more mips integration work from Mark E Mason 
+       <mark.e.mason@broadcom.com>.
+
+Wed Nov 15 16:34:03 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * exceptions-mips.c, inssel-mips.brg, mini-mips.h,
+       cpu-mips.md, inssel-long32-mips.brg, mini-mips.c,
+       tramp-mips.c: added sources for the mips port, not
+       integrated in the build yet. Contributed by
+       Mark E Mason <mark.e.mason@broadcom.com>.
+
+2006-11-14  Neale Ferguson <neale@sinenomine.net>
+
+       * mini-s390[x].c (is_regsize_var): Support PTR/FNPTR too.
+
+Tue Nov 14 16:06:37 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * Makefile.am, inssel-float.brg, inssel-softfloat.brg:
+       put the soft-float rules in its own file since it seems to
+       break s390 compilation.
+
+Mon Nov 13 15:54:38 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini-arm.c: fixed wrnings.
+
+Fri Nov 10 19:18:32 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini-arm.c, mini-arm.h, cpu-arm.md, inssel-float.brg,
+       inssel-arm.brg: ARM support for soft-float.
+
+Fri Nov 10 18:38:15 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini.c, jit-icalls.c, jit-icalls.h: added first cut at handling
+       loads and stores of 32 bit fp values.
+
+2006-11-10  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-sparc.c (is_regsize_var): Support PTR/FNPTR too.
+
+       * tramp-sparc.c (mono_arch_patch_callsite): Fix this function so it actually
+       works. Fixes #79852 and #79463.
+
+Thu Nov 9 16:56:13 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini.c, mini-codegen.c, jit-icalls.c, jit-icalls.h:
+       more soft-float support WIP and fixes.
+
+Wed Nov 8 16:40:02 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini-arm.c: some VFP updates.
+
+Tue Nov 7 19:45:51 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini-exceptions.c: 0 is a valid local var offset in some
+       architectures, don't assert (bug #78508).
+
+Tue Nov 7 18:17:52 GMT 2006 Paolo Molaro <lupus@ximian.com>
+
+       * exceptions-arm.c: fixed off by one error in stack walk code.
+
+Tue Nov 7 11:27:26 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini.h, mini.c: more precise tracking of type load exceptions.
+
+2006-11-03  Robert Jordan  <robertj@gmx.net>
+
+       * Makefile.am: [WIN32] Add monow.exe target.
+       * driver.c: [WIN32] Don't detach the console when debugging.
+       Fixes bug #79797.
+       
+2006-10-30  Miguel de Icaza  <miguel@novell.com>
+
+       * tramp-x86.c (mono_arch_patch_delegate_trampoline): Eliminate warning.
+
+2006-10-23  Zoltan Varga  <vargaz@gmail.com>
+
+       * aot-compiler.c (emit_method_info): Add a case missed earlier.
+
+       * driver.c (mini_regression): Fix --regression with AOT.
+
+       * aot-compiler.c (emit_method_info): Fix AOT on amd64.
+
+2006-10-17  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini.c (GET_CONTEXT): Correct the definition of this for sparc/linux.
+
+       * mini-sparc.h: Don't use sigaction on sparc/linux.
+
+       * exceptions-sparc.c: Call mono_arch_flush_icache () in a couple of places.
+
+       * mini-sparc.c (mono_sparc_flushw): Call mono_arch_flush_icache ().
+
+       * mini-exceptions.c: Add proper include files for getpid ().
+
+2006-10-16  Zoltan Varga  <vargaz@gmail.com>
+
+       * aot-runtime.c (mono_aot_get_method): Change this to return the native code
+       address instead of a MonoJitInfo* to avoid decoding the exception info for the
+       method.
+
+       * aot-runtime.c aot-compiler.c: Use uint16 instead of uint32 entries in the
+       name cache to reduce its size.
+
+       * mini.h (MONO_AOT_FILE_VERSION): Bump aot file format version.
+
+2006-10-15  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-x86.c: Save/restore the current LMF structure more efficiently using
+       the mono_lmf TLS variable.
+
+       * exceptions-x86.c (mono_arch_find_jit_info): Only access lmf->method in 
+       trampoline lmf frames.  
+
+       * mini-sparc.h (MONO_ARCH_ENABLE_EMIT_STATE_OPT): Define this on sparc as well.
+
+2006-10-14  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-amd64.c: Save/restore the current LMF structure more efficiently using
+       the mono_lmf TLS variable.
+
+       * mini-exceptions.c: Access the LMF structure through accessors.
+
+       * mini.c: Allow the backends the option for storing the lmf in a dedicated TLS 
+       variable instead of in jit_tls->lmf.
+
+       * mini-x86.c mini-amd64.c: Update after lmf->lmf_addr name change.
+       
+       * exceptions-amd64.c (mono_arch_find_jit_info): Only access lmf->method in 
+       trampoline lmf frames.
+
+       * mini-amd64.c (mono_arch_emit_prolog): Do not set lmf->method as it is not needed.
+
+2006-10-12  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini.c trace.c mini-x86.c: Revert these too.
+       
+       * mini.c trace.c mini-x86.c: Remove warning workarounds after the mono_type_size ()
+       signature change.
+
+Tue Oct 10 11:35:20 CEST 2006 Paolo Molaro <lupus@ximian.com>
+
+       * genmdesc.c: removed now dead code.
+
+2006-10-09  Robert Jordan <robertj@gmx.net>
+
+       * mini.c: Disable the CrashReporter on MacOS X; Fixes #74869
+
+Mon Oct 9 17:06:41 CEST 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini.h: do not leave gaps in the opcode values.
+
+Mon Oct 9 16:08:51 CEST 2006 Paolo Molaro <lupus@ximian.com>
+
+       * jit-icalls.h: flag functions as internal here, too.
+
+Mon Oct 9 15:58:18 CEST 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini.h, aliasing.h, declsec.h, regalloc.h, trace.h: mark internal
+       functions with the internal attribute.
+
+Mon Oct 9 15:52:45 CEST 2006 Paolo Molaro <lupus@ximian.com>
+
+       * aot-compiler.c: fclose the file descriptor in the profile read loop.
+
+Fri Oct 6 16:01:38 CEST 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini.c, jit-icalls.c, inssel-float.brg: beginnings of support
+       for soft-float.
+
+2006-10-05  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-x86.c (emit_load_volatile_arguments): New function to handle arguments of
+       tail calls as on other platforms.
+
+       * mini.c (mono_method_to_ir): Fix a few tailcall problems. Fixes #79557.
+
+       * iltests.il: Add a few tailcall tests.
+
+Tue Oct 3 16:33:08 CEST 2006 Paolo Molaro <lupus@ximian.com>
+
+       * driver.c: fix loop for old compilers (bug #79521).
+
+2006-10-02  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini-exceptions.c (ves_icall_get_trace): Remove debug printf.
+
+       * aot-runtime.c (mono_aot_get_class_from_name): Avoid a memory allocation.
+
+       * aot-compiler.c: Add a new option 'metadata-only' to only emit the cached
+       metadata without any code.
+
+       * mini-exceptions.c (mono_handle_native_sigsegv): Add some code to print out
+       more precise debugging information using gdb.
+
+2006-09-30  Zoltan Varga  <vargaz@gmail.com>
+
+       * inssel-ia64.brg: Make the helper methods static.
+
+Thu Sep 28 16:40:07 CEST 2006 Paolo Molaro <lupus@ximian.com>
+
+       * inssel-x86.brg: make the helper methods static.
+
+Thu Sep 28 16:31:32 CEST 2006 Paolo Molaro <lupus@ximian.com>
+
+       * inssel-amd64.brg, mini-amd64.c: small cleanup, use inst_call.
+
+Thu Sep 28 15:36:07 CEST 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini.c: updates for monoburg changes.
+       * inssel.brg: make a few helper functions static as they should.
+
+2006-09-27  Zoltan Varga  <vargaz@gmail.com>
+
+       * Makefile.am: Move mini-codegen.c to common_sources.
+
+Wed Sep 27 15:07:08 CEST 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini.h: instroduce inst_call in MonoInst for use in OUTARG
+       instructions.
+       * Makefile.am, cpu-g4.md, inssel-ppc.brg, mini-codegen.c, mini-ppc.c,
+       mini-ppc.h: port to use the common local register allocator.
+
+2006-09-26  Zoltan Varga  <vargaz@gmail.com>
+
+       * mini.h: Remove the comment too then.
+
+Tue Sep 26 14:02:58 CEST 2006 Paolo Molaro <lupus@ximian.com>
+
+       * mini.h: put back backend.data which is to be used shortly and
+       doesn't increase the size of MonoInst. If any 64 bit arch aligned
+       pointers on 4 byte boundaries it'd have much bigger issues running
+       and you can ifdef it out anyway.
+
 2006-09-26  Zoltan Varga  <vargaz@gmail.com>
 
        * mini.h (MonoInst): Remove backend.data field since it is unused and increases