2002-05-23 Dietmar Maurer * x86/tramp.c (mono_create_method_pointer): removed the magic trick to store the function pointer in the prolog and use the same mechanism as in the jit. 2002-05-13 Radek Doulik * ppc/tramp.c (emit_save_parameters): fix I8 parameters 2002-05-06 Sergey Chaban * x86/x86-codegen.h: added missing shifts; 8-bit ALU operations (reg-reg); macro for FPU ops with integer operand; FIST macro (without pop); Mon Apr 22 12:57:31 CEST 2002 Paolo Molaro * x86/x86-codegen.h: added loop instructions and made x86_patch fully useful. 2002-04-20 Dietmar Maurer * x86/tramp.c (mono_create_trampoline): support internalcall String constructors Sat Apr 6 16:29:40 CEST 2002 Paolo Molaro * x86/tramp.c: fix advancement of argument position on the stack. Sat Mar 16 19:12:57 CET 2002 Paolo Molaro * x86/tramp.c: increase default allocated size for trampolines and assert on overflow. 2002-03-14 Dietmar Maurer * x86/tramp.c (mono_create_trampoline): dont use fld/fst to copy R8 values Mon Mar 11 16:14:29 CET 2002 Paolo Molaro * x86/x86-codegen.h: addex x86_clear_reg() and changed x86_mov_reg_imm() to not check for imm == 0. Thu Feb 28 12:34:21 CET 2002 Paolo Molaro * x86/tramp.c: start handling of more complex marshaling stuff. 2002-02-25 Sergey Chaban * arm: added ARM support code. * Makefile.am: added arm to DIST_SUBDIRS. 2002-02-24 Radek Doulik * ppc/tramp.c (mono_create_method_pointer): basic delegates implementation, it works for simple delegates now and I am already pretty close to have it working for every delegates, but I am going to sleep and finish it tomorrow? (mono_create_method_pointer): implements delegates with parameters and return value 2002-02-22 Jeffrey Stedfast * sparc/tramp.c (mono_create_trampoline): Much tinkering to get the opcodes more correct. Still needs a lot of work. 2002-02-19 Radek Doulik * ppc/tramp.c (emit_save_parameters): don't start saving 64bit values to even registers added stack saving for most arguments Tue Feb 19 20:19:38 CET 2002 Paolo Molaro * x86/tramp.c: avoid pointer arthmetric (pointed out by Serge). 2002-02-17 Radek Doulik * ppc/tramp.c: fixed minimal stack size, fixed string parameters, fix byte and half word parameters (mono_string_new_wrapper): new helper function, cut&pasted from x86, modified to check for NULL text to avoid branching in generated code (calculate_sizes): updated for string retval changes (emit_call_and_store_retval): updated for string retval * ppc/ppc-codegen.h (ppc_mr): added lhz, lbz, sth 2002-02-16 Radek Doulik * ppc/tramp.c (emit_call_and_store_retval): support U2, I2, CHAR Mon Feb 11 18:40:04 CET 2002 Paolo Molaro * sparc/*: sparc codegen header and some untested trampoline code. Mon Feb 11 12:32:35 CET 2002 Paolo Molaro * x86/tramp.c: fix handling of multiple marshaleed strings. * x86/x86-codegen.h: some code to patch branch displacements. Fri Feb 1 16:03:00 CET 2002 Paolo Molaro * x86/tramp.c, ppc/tramp.c: implement mono_method_pointer_get (). 2002-01-23 Miguel de Icaza * x86/tramp.c (mono_create_trampoline): Do not try to create a mono_string_new if the return value from the PInvoke code is NULL. Mon Jan 14 11:50:16 CET 2002 Paolo Molaro * x86/x86-codegen.c: added overflow condition code and some aliases for the other ccs. Thu Jan 10 21:01:08 CET 2002 Paolo Molaro * x86/tramp.c: mono_create_trampoline (): the runtime argument is needed to handle correctly delegates, the previous change in handling the string return type broke them. Tue Jan 8 22:38:41 MST 2002 Matt Kimball * x86/tramp.c: handle strings returned from functions in external libraries by converting to a Mono string object after the pinvoke'd function returns Sat Jan 5 15:51:06 CET 2002 Paolo Molaro * x86/tramp.c: handle short integer return types. Thu Dec 20 20:13:07 CET 2001 Paolo Molaro * x86/tramp.c: fix create_method_pointer() to pass the arguments correctly and add check for overflow. Thu Dec 13 15:56:53 CET 2001 Paolo Molaro * x86/x86-codegen.h: x86_mov_memindex_imm() added. 2001-11-29 Radek Doulik * ppc/tramp.c: use r12 which is volatile instead of non-volatile r14 to avoid saving * Makefile.am (libmonoarch_la_LIBADD): added ppc to DIST_SUBDIRS generate libmonoarch for ppc Tue Nov 27 15:24:07 CET 2001 Paolo Molaro * x96/x86-codegen.c: x86_lea_memindex() added. Thu Nov 15 17:41:01 CET 2001 Paolo Molaro * x86/tramp.c: handle enums with underlying type different from int32. Wed Nov 14 19:21:26 CET 2001 Paolo Molaro * x86/tramp.c: handle boolean as a return value. * x96/x86-codegen.c: x86_widen_memindex() added. 2001-11-07 Miguel de Icaza * x86/tramp.c: Include stdlib to kill warning. Mon Oct 22 15:20:14 CEST 2001 Paolo Molaro * x86/tramp.c: handle boolean, u1 and i1 as return values. Wed Oct 10 16:07:24 CEST 2001 Paolo Molaro * x86/x86-codegen.c: added x86_set_{reg,mem,membase}. Mon Oct 8 16:13:07 CEST 2001 Paolo Molaro * x86/tramp.c: remove mono_get_ansi_string () and use mono_string_to_utf8 () instead. Thu Oct 4 19:09:13 CEST 2001 Paolo Molaro * x86/tramp.c: allow marshalling valuetypes if they are 4 bytes long. Mon Oct 1 18:48:27 CEST 2001 Paolo Molaro * x86/tramp.c: fix thinko (s/SUB/ADD/) in stack adjustment and avoid a couple of unnecessary instructions. Fri Sep 28 19:43:12 CEST 2001 Paolo Molaro * x86/tramp.c: marshal valuetypes that are enums. Thu Sep 27 15:34:37 CEST 2001 Paolo Molaro * x86/x86-codegen.h: in memindex operand you can use X86_NOBASEREG as basereg. Wed Sep 26 16:29:36 CEST 2001 Paolo Molaro * x86/x86-codegen.h: added memindex addressing mode encoding (and mov to/from register opcodes). Mon Sep 24 18:49:01 CEST 2001 Paolo Molaro * x86/tramp.c: don't change a MONO_TYPE_STRING to a char* when it's an argument to an internalcall. Sun Sep 23 13:44:57 CEST 2001 Paolo Molaro * x86/tramp.c: handle MONO_TYPE_CLASS in trampolines. 2001-09-21 Dietmar Maurer * x86/x86-codegen.h (x86_breakpoint): added. Tue Sep 18 13:23:59 CEST 2001 Paolo Molaro * x86/x86-codegen.h: remove C++ comments. 2001-09-17 Dietmar Maurer * x86/x86-codegen.h (x86_alu_reg_reg): replaced src/dest Mon Sep 10 17:26:06 CEST 2001 Paolo Molaro * Makefile.am, x86/Makefile.am: conditional compile logic to make porting to different targets easier. Fri Sep 7 18:43:06 CEST 2001 Paolo Molaro * x86/x86-codegen.h: fixes and x86_mov_membase_imm (). * x86/tramp.c: implemented mono_create_method_pointer (): creates a native pointer to a method implementation that can be used as a normal C callback. Thu Sep 6 15:38:00 CEST 2001 Paolo Molaro * x86/x86-codegen.h: added x86_rdtsc() and fixes. * x86/tramp.c: create trampolines to call pinvoke methods. * x86/Makefile.am: create a libmonoarch convenience library. Mon Aug 27 09:29:00 CEST 2001 Paolo Molaro * x86/x86-codegen.h: fix x86_call_code (). x86_mov_regp_reg () added. Sat Aug 18 12:40:32 CEST 2001 Paolo Molaro * x86/x86-codegen.h: fix a couple of buglets and add x86_regp_emit(). Wed Aug 8 15:30:05 CEST 2001 Paolo Molaro * x86/x86-codegen.h, x86/test.c: added x86 code emitter with test.