2010-05-19 Zoltan Varga * ppc/ppc-codegen.h (ppc_load_func): Fix ilp32 support. 2010-03-30 Zoltan Varga * arm/*.sh: Remove bash dependency. 2009-08-14 Zoltan Varga * arm/arm-codegen.h: Add armv6 MOVW/MOVT. 2009-07-03 Jerry Maine Contributed under the terms of the MIT/X11 license by Jerry Maine . * amd64/amd64-codegen.h: Added missing code gen marco for single packed square root. Fri Jul 24 16:54:13 CEST 2009 Steven Munroe This patch is contributed under the terms of the MIT/X11 license * arch/ppc/ppc-codegen.h (ppc_ha): Define high adjusted conversion to support combining addis for bits 32-47 with signed load/store diplacements for bits 48-63. (ppc_fcfidx, ppc_fctidx, ppc_fctidzx): Share with PPC32. These instructions are availble to 32-bit programs on 64-bit hardware and 32-bit both starting with PowerISA V2.01. [__mono_ppc64__]: Define ppc_mftgpr and ppc_mffgpr for Power6 native mode. [!__mono_ppc64__]: Define ppc_is_imm32 as constant true for ppc32. 2009-07-20 Zoltan Varga * amd64/amd64-codegen.h (amd64_sse_pminud_reg_reg): Fix the encoding of this instruction. 2009-07-13 Zoltan Varga * x86/x86-codegen.h: Applied patch from Marian Salaj . Fix encoding of PMINSW and PMINSD. Fixes #521662. 2009-06-22 Zoltan Varga * ppc/ppc-codegen.h: Rework the naming of the load/store macros, ldr/str now handle register sized quantities, while ldptr/stptr handle pointer sized quantities. 2009-06-20 Zoltan Varga * ppc/ppc-codegen.h: Fix the last change to avoid self-assignments inside macros. * ppc/ppc-codegen.h: Add ppc_ldr/ppc_str macros to store regsize quantities. Handle little endian host platforms in ppc_emit32. 2009-10-06 Jerry Maine Contributed under the terms of the MIT/X11 license by Jerry Maine . * amd64/amd64-codegen.h: Add marcos for coding two byte SIMD/SSE opcodes. Added comments to help tell the different types of SSE code gen marcos appart. 2009-04-06 Zoltan Varga * arm/arm-vfp-codegen.h: Add ARM_FSITOS/ARM_FSITOD. 2009-04-03 Zoltan Varga * amd64/amd64-codegen.h: Add macros for decoding the SIB byte. 2009-04-02 Zoltan Varga * arm/arm-vfp-codegen.h: Add missing VFP codegen macros. 2009-03-06 Zoltan Varga * arm/tramp.c: Include a change from the debian patches. Avoid #include-ing a file in the middle of a function. 2009-02-27 Zoltan Varga * arm/{arm_fpamacros.h, arm_vfpmacros.h}: Remove these files, they are autogenerated. 2009-02-02 Mark Probst Contributed under the terms of the MIT/X11 license by Steven Munroe . * ppc/ppc-codegen.h: Make operand order and case consistent (assembler order) for ppc_load_reg_update, ppc_load_multiple_regs, ppc_store_multiple_regs, ppc_lwz, ppc_lhz, ppc_lbz, ppc_stw,ppc_sth, ppc_stb, ppc_stwu, ppc_lbzu, ppc_lfdu, ppc_lfsu, ppc_lfsux, ppc_lfsx, ppc_lha, ppc_lhau, ppc_lhzu, ppc_lmw, ppc_lwzu, ppc_stbu, ppc_stfdu, ppc_stfsu, ppc_sthu, ppc_stmw. Use "i" or "ui" instead of "d" for immediated operands to immediate arthimetic and logical instructions in macros ppc_addi, ppc_addis, ppc_ori, ppc_addic, ppc_addicd, ppc_andid, ppc_andisd. [__mono_ppc64__]: Make operand order and case consistent (assembler order) for ppc_load_multiple_regs, ppc_store_multiple_regs. Simplify the DS form and make them consistent with D forms for ppc_load_reg, ppc_load_reg_update, ppc_store_reg, ppc_store_reg_update. ppc_ld, ppc_lwa, ppc_ldu, ppc_std, ppc_stdu. Define ppc_lwax and ppc_lwaux. 2009-01-19 Rodrigo Kumpera * x86/x86-codegen.h: Add x86_movd_xreg_membase. 2008-12-19 Mark Probst * ppc/ppc-codegen.h: Fixed the argument order for lwzu in ppc_load_reg_update. 2008-12-12 Mark Mason * mips/mips-codegen.h: Changes to support n32. 2008-12-10 Mark Probst * ppc/ppc-codegen.h: A few new macros for the final PPC/PPC64 merge. 2008-12-05 Mark Probst * ppc/ppc-codegen.h: ppc_load_func must use ppc_load_sequence. Added ppc_compare_log. 2008-12-05 Mark Probst * ppc/ppc-codegen.h: Added ppc_load_func for PPC32. Added ppc_load/store_multiple_regs and ppc_compare_reg_imm. 2008-12-02 Mark Probst * ppc/ppc-codegen.h: Opcodes for floating point conversions from 64 bit integers. Code submitted by andreas.faerber@web.de at https://bugzilla.novell.com/show_bug.cgi?id=324134 under the X11/MIT license. 2008-11-28 Mark Probst * ppc/ppc-codegen.h: #define for the maximum length of a load sequence. 2008-11-21 Mark Probst * ppc/ppc-codegen.h: Make ppc_is_[u]imm16() work with 64 bit values. 2008-11-20 Rodrigo Kumpera * x86/x86-codegen.h: Add X86_SSE_MOVHPD_REG_MEMBASE and renamed MOVS to MOVSD. 2008-11-20 Rodrigo Kumpera * x86/x86-codegen.h: Add X86_SSE_MOVS_ reg/membase variants. * x86/x86-codegen.h: Add x86_sse_alu_pd_reg_membase_imm. * x86/x86-codegen.h: Sort the x86_sse_alu_* macros decently. 2008-11-20 Mark Probst * ppc/ppc-codegen.h: Use ppc_load_reg instead of ppc_ld in ppc_load_func to fix the 2 bit shift. 2008-11-20 Mark Probst * ppc/ppc-codegen.h: 64 bit division opcodes. Code submitted by andreas.faerber@web.de at https://bugzilla.novell.com/show_bug.cgi?id=324134 under the X11/MIT license. 2008-11-20 Zoltan Varga * arm/Makefile.am (libmonoarch_arm_la_SOURCES): Don't build tramp.c, it is only used by the interpreter. 2008-11-20 Rodrigo Kumpera * x86/x86-codegen.h: Add PEXTR B/W/D. 2008-11-18 Rodrigo Kumpera * x86/x86-codegen.h: Add PINSR B/W/D. 2008-11-18 Mark Probst * ppc/ppc-codegen.h: Macro for nop added. 2008-11-18 Mark Probst * ppc/ppc-codegen.h: PPC64 code generation macros. Based on code submitted by andreas.faerber@web.de at https://bugzilla.novell.com/show_bug.cgi?id=324134 under the X11/MIT license. 2008-11-18 Mark Probst * ppc/ppc-codegen.h: A few fixes and additions. Based on code submitted by andreas.faerber@web.de at https://bugzilla.novell.com/show_bug.cgi?id=324134 under the X11/MIT license. 2008-11-17 Rodrigo Kumpera * x86/x86-codegen.h: Fix comment about the version of PCMPGTQ. * x86/x86-codegen.h: Add movsd constant and x86_sse_alu_sd_membase_reg macro. 2008-11-17 Rodrigo Kumpera * x86/x86-codegen.h: Add X86_SSE_MOVHPD_MEMBASE_REG constant and x86_sse_alu_pd_membase_reg/x86_sse_alu_membase_reg macros. 2008-11-15 Andreas Faerber * ppc/test.c: Add support for Mac OS X. Code is contributed under MIT/X11 license. 2008-11-13 Rodrigo Kumpera * x86/x86-codegen.h: Remove not used macro x86_pshufd_reg_reg. 2008-11-04 Rodrigo Kumpera * x86/x86-codegen.h: Add store nta. 2008-11-03 Rodrigo Kumpera * x86/x86-codegen.h: Add prefetch instruction and x86_sse_alu_reg_membase macro. 2008-10-28 Rodrigo Kumpera * x86/x86-codegen.h: Add long version of the packed integer ops. 2008-10-27 Rodrigo Kumpera * x86/x86-codegen.h: Add movddup. 2008-10-24 Rodrigo Kumpera * x86/x86-codegen.h: Add signed pack with saturation. 2008-10-24 Rodrigo Kumpera * x86/x86-codegen.h: Add signed packed mul high. 2008-10-23 Rodrigo Kumpera * x86/x86-codegen.h: Add signed packed max, min, add/sub with saturation and compare greater. 2008-10-20 Rodrigo Kumpera * x86/x86-codegen.h: Add multiply and store high. 2008-10-17 Rodrigo Kumpera * x86/x86-codegen.h: Add packed int shuffle. 2008-10-16 Rodrigo Kumpera * x86/x86-codegen.h: Add packed int compare equals and psabw. 2008-10-15 Rodrigo Kumpera * x86/x86-codegen.h: Add packed int max/min/avg/shuffle and extract mask. 2008-10-14 Rodrigo Kumpera * x86/x86-codegen.h: Add movsldup and movshdup. 2008-10-13 Rodrigo Kumpera * x86/x86-codegen.h: Add remaining FP sse1 ops. Add sse ps encoding with imm operand. Add remaining sse1 ops. 2008-10-12 Rodrigo Kumpera * x86/x86-codegen.h: Add macro for sse41 ops. Add defined for pack ops, dword shifts/mul/pack. 2008-10-11 Zoltan Varga * amd64/amd64-codegen.h (amd64_jump_code_size): Fix the 64 bit support. 2008-10-10 Zoltan Varga * amd64/amd64-codegen.h (amd64_jump_code_size): Handle non 32-bit targets. 2008-10-09 Rodrigo Kumpera * x86/x86-codegen.h: Add macros for sse shift, pack, unpack, saturated math and packed byte/word/dword math. 2008-10-03 Rodrigo Kumpera * x86/x86-codegen.h: Add macros for SSE instructions. 2008-09-27 Mark Probst * ppc/ppc-codegen.h: A few typecasts to fix compiler warnings. 2008-09-07 Mark Probst * ppc/ppc-codegen.h (ppc_load): Inserted cast to fix some warnings. 2008-06-16 Mark Probst * amd64/amd64-codegen.h: Removed extraneous parenthesis in a macro nobody uses. 2008-06-06 Zoltan Varga * amd64/amd64-codegen.h (amd64_padding_size): Rewrite this to use the instructions recommended by the amd64 manual. 2008-04-19 Zoltan Varga * amd64/amd64-codegen.h (amd64_is_imm32): Use gint64 instead of glong because of win64. 2008-03-13 Geoff Norton * arch/arm/tramp.c: Dont compile this on PLATFORM_MACOSX 2008-02-18 Zoltan Varga * amd64/amd64-codegen.h (amd64_movsxd_reg_mem): New codegen macro. 2008-02-14 Zoltan Varga * amd64/amd64-codegen.h (amd64_alu_membase8_imm_size): New codegen macro. 2008-02-08 Zoltan Varga * arm/arm-codegen.h: Fix the ordering of arguments for some load/store opcodes so they are consistent. 2008-01-24 Zoltan Varga * Makefile.am (SUBDIRS): Or if INTERP_SUPPORTED is true. * Makefile.am (SUBDIRS): Only set this on arm. 2007-11-20 Zoltan Varga * amd64/amd64-codegen.h (amd64_alu_reg_imm_size): Prefer the smaller instruction encoding. 2007-11-03 David S. Miller * sparc/sparc-codegen.h (sparc_set32, sparc_set): A plain sethi can be used if the constant value only has the top 22 bits set. 2007-11-01 Geoff Norton * x86/Makefile.am: Only compile tramp.c if INTERP_SUPPORTED is true Fixes the build on Leopard. 2007-11-01 Geoff Norton * ppc/Makefile.am: Only compile tramp.c if INTERP_SUPPORTED is true Fixes the build on Leopard. 2007-10-26 Jonathan Chambers * amd64/amd64-codegen.h: Begin Win64 port. Use AMD64_ARG_REG# defines to access param registers. Replace long usage with gsize as sizeof(long) != sizeof(void*) on Win64. Code is contributed under MIT/X11 license. 2007-10-09 Zoltan Varga * amd64/amd64-codegen.h (amd64_jump_membase_size): Remove an unneccesary rex prefix which trips up valgrind. 2007-07-14 Zoltan Varga * amd64/amd64-codegen.h: Remove some unused rex prefixes. Wed Jul 4 15:29:07 CEST 2007 Paolo Molaro * x86/x86-codegen.h: added minimal sse instructions currently needed by the JIT. 2007-06-13 Randolph Chung * hppa/hppa-codegen.h: Update with more instructions. * hppa/tramp.c: Disable for linux since we don't support the interpreter. 2007-05-20 Zoltan Varga * amd64/amd64-codegen.h (amd64_call_reg): Remove a got prefix which isn't needed. 2007-04-23 Zoltan Varga * alpha/alpha-codegen.h: More alpha port work from Sergey Tikhonov . Mon Mar 12 17:07:32 CET 2007 Paolo Molaro * amd64/amd64-codegen.h: removed some useless size rex prefixes. Wed Jan 24 21:00:40 CET 2007 Paolo Molaro * arm/arm-codegen.h: fixed encoding of short/byte load/store instructions with negative immediate offsets. Mon Nov 20 17:36:45 CET 2006 Paolo Molaro * arm/arm-codegen.h: added suppot for thumb interworking instructions. Wed Nov 15 16:56:53 CET 2006 Paolo Molaro * mips/*: fixes by Mark E Mason . 2006-09-12 Zoltan Varga * alpha/alpha-codegen.h: More alpha updates from Sergey Tikhonov . Tue Sep 12 13:09:56 CEST 2006 Paolo Molaro * arm/*: VFP floating point format code generation support. 2006-09-12 Zoltan Varga * ia64/ia64-codegen.h: Add xmpy_l/u pseudo ops. 2006-07-19 Zoltan Varga * amd64/amd64-codegen.h: Fix amd64_mov_mem_reg. * alpha/alpha-codegen.h alpha/test.c alpha/tramp.c: Applied patch from Sergey Tikhonov . Updates to alpha support. Thu Jun 15 16:59:36 CEST 2006 Paolo Molaro * ppc/ppc-codegen.h: reduce noisy build warnings by casting to the more commonly used unsigned char type (from johannes@sipsolutions.net (Johannes Berg)). 2006-05-14 Zoltan Varga * ia64/ia64-codegen.h (ia64_fetchadd8_acq_hint_pred): Fix encoding of this opcode. 2006-04-21 Zoltan Varga * Makefile.am (SUBDIRS): Revert the last change as arm depends on the old behaviour. 2006-04-12 Zoltan Varga * sparc/sparc-codegen.h (sparc_inst_i): New disassembly macro. 2006-04-04 Zoltan Varga * Makefile.am (SUBDIRS): Avoid compiling subdirs needed by the interpreter. 2005-12-22 Zoltan Varga * sparc/sparc-codegen.h (sparc_membar): Add membar instruction. 2005-10-30 Zoltan Varga * ia64/ia64-codegen.h (ia64_m17): Fix a warning. 2005-10-16 Zoltan Varga * amd64/amd64-codegen.h (AMD64_CALLEE_SAVED_REGS): Add %rbp. 2005-09-27 Raja R Harinath * arm/dpiops.sh, arm/fpaops.h: Output to stdout. * arm/Makefile.am (arm_dpimacros.h, arm_fpamacros.h): Update. Fix for srcdir != builddir. 2005-09-11 Zoltan Varga * ia64/ia64-codegen.h (ia64_unw_pop_frames): New unwind macro. 2005-09-10 Zoltan Varga * ia64/ia64-codegen.h: Remove 'manual' emitting of instructions. Integrate emission of unwind directives into the assembly macros. 2005-09-04 Zoltan Varga * ia64/ia64-codegen.h (ia64_no_stop): New macro. 2005-08-27 Zoltan Varga * ia64/ia64-codegen.h: Fix some bugs. * ia64/codegen.c: Update to work with latest ia64-codegen.h 2005-08-26 Zoltan Varga * ia64/Makefile.am: Distribute ia64-codegen.h. 2005-08-21 Zoltan Varga * ia64/ia64-codegen.h: Improve ins scheduling and fix some bugs. 2005-08-17 Zoltan Varga * ia64/ia64-codegen.h: Add dependency information for all instructions. 2005-07-30 Zoltan Varga * ia64/ia64-codegen.h: Ongoing IA64 work. Wed Jul 20 18:01:54 BST 2005 Paolo Molaro * arm/*: more codegen macros. 2005-07-18 Zoltan Varga * ia64/ia64-codegen.h (ia64_is_adds_imm): Ongoing IA64 work. 2005-06-23 Zoltan Varga * ia64/ia64-codegen.h: Add some new pseudo ops. 2005-06-19 Zoltan Varga * ia64/ia64-codegen.h: Fix encoding of ia64_fclass. 2005-06-12 Zoltan Varga * ia64/ia64-codegen.h: Ongoing IA64 work. 2005-06-09 Zoltan Varga * ia64/ia64-codegen.h: Ongoing IA64 work. 2005-05-30 Zoltan Varga * ia64/codegen.c: Fix it after latest changes. 2005-05-29 Zoltan Varga * ia64/ia64-codegen.h: Ongoing IA64 work. * ia64/ia64-codegen.h: Ongoing IA64 work. 2005-05-28 Zoltan Varga * ia64/ia64-codegen.h: Ongoing IA64 work. * ia64/ia64-codegen.h: Ongoing IA64 work. * ia64/ia64-codegen.h: Ongoing IA64 work. 2005-05-26 Zoltan Varga * ia64/ia64-codegen.h: Ongoing IA64 work. 2005-05-22 Zoltan Varga * ia64/ia64-codegen.h: Ongoing IA64 work. * ia64/ia64-codegen.h: Ongoing IA64 work. * ia64/ia64-codegen.h: Ongoing IA64 work. 2005-05-21 Zoltan Varga * ia64/ia64-codegen.h: Ongoing IA64 work. 2005-05-19 Zoltan Varga * ia64/ia64-codegen.h ia64/codegen.c: Ongoing ia64 work. 2005-05-18 Zoltan Varga * ia64/ia64-codegen.h (ia64_codegen_init): Rename macro parameter. 2005-05-14 Zoltan Varga * Makefile.am: Only compile libmonoarch if the interpreter is compiled. * ia64/ia64-codegen.h: Add IA64 code generation macros. * Makefile.am: Add ia64 subdir. 2005-05-05 Zoltan Varga * alpha/tramp.c: Applied patch from Jakub Bogusz . 2005-03-28 Zoltan Varga * amd64/amd64-codegen.h: Avoid emitting a rex in some places. 2005-03-15 Zoltan Varga * amd64/amd64-codegen.h (amd64_emit_rex): Emit a rex when accessing the byte registers. * amd64/amd64-codegen.h (AMD64_BYTE_REGS): Add AMD64_BYTE_REGS macro. 2005-03-14 Zoltan Varga * amd64/amd64-codegen.h: Add missing AMD64_XMM7. 2005-03-13 Zoltan Varga * amd64/amd64-codegen.h: Remove some unneccesary REXes. 2005-03-08 Zoltan Varga * amd64/amd64-codegen.h (amd64_sse_cvtsi2sd_reg_reg_size): Add _size variants to some sse2 macros. * amd64/amd64-codegen.h (amd64_sse_cvtsd2si_reg_reg): Make this convert to a 64 bit value. 2005-03-06 Zoltan Varga * amd64/amd64-codegen.h: Add some SSE2 instructions. 2005-02-20 Zoltan Varga * amd64/amd64-codegen.h: Add xadd instructions. * amd64/amd64-codegen.h (amd64_jump_code_size): Do not emit a rex. 2004-11-25 Zoltan Varga * amd64/amd64-codegen.h: Updates to support the PIC changes. Fri Nov 19 17:29:22 CET 2004 Paolo Molaro * ppc/ppc-codegen.h: counter reg decrement branch values (patch by Geoff Norton ). 2004-11-16 Patrik Torstensson * x86/x86-codegen.h: added opcodes for xadd instructions 2004-11-15 Zoltan Varga * amd64/x86-64-codegen.h: Get rid of this. 2004-08-30 Zoltan Varga * amd64/amd64-codegen.h (amd64_imul_reg_membase_size): Fix REX generation. 2004-08-29 Zoltan Varga * amd64/amd64-codegen.h: More SSE work. * amd64/amd64-codegen.h: Add SSE2 instructions. 2004-08-21 Zoltan Varga * amd64/amd64-codegen.h (X86_IS_BYTE_REG): Redefine X86_IS_BYTE_REG since under amd64, all 16 registers have a low part. 2004-08-16 Zoltan Varga * x86/x86-codegen.h: Add macros for accessing the mod/rm byte. 2004-07-30 Zoltan Varga * amd64/amd64-codegen.h: Ongoing JIT work. 2004-07-29 Ben Maurer * x86/x86-codegen.h: Add opcodes for cmp BYTE PTR [eax], imm 2004-07-28 Zoltan Varga * amd64/amd64-codegen.h: Ongoing JIT work. 2004-07-24 Zoltan Varga * amd64/amd64-codegen.h: Ongoing JIT work. 2004-07-23 Zoltan Varga * amd64/amd64-codegen.h: Ongoing JIT work. 2004-07-23 zovarga * amd64/amd64-codegen.h: Ongoing JIT work. 2004-06-30 Zoltan Varga * sparc/sparc-codegen.h: Add SPARC64 support. 2004-05-07 Bernie Solomon * ppc/ppc-codegen.h: remove GCC-ism in ppc_emit32 2004-04-29 Bernie Solomon * ppc/tramp.c: use sizeof (stackval), fix delegate tramp frame layout for Apple 2004-04-26 David Waite * unknown.c: modify to have content for defined platforms (to avoid ISO C warning) 2004-03-29 Bernie Solomon * amd64/tramp.c: * arm/tramp.c: * hppa/tramp.c: * ppc/tramp.c: * s390/tramp.c: * sparc/tramp.c: * x86/tramp.c: remove child from MonoInvocation as it isn't used. * hppa/hppa-codegen.h: fix displacements in FP instrs 2004-03-23 Bernie Solomon * hppa/hppa-codegen.h: created * hppa/tramp.c: changed style to be more like other platforms. * hppa/Makefile.am: add hppa-codegen.h 2004-03-16 Zoltan Varga * sparc/sparc-codegen.h: Add v9 branches with prediction. 2004-03-15 Bernie Solomon * sparc/sparc-codegen.h: tweak sparc_mov_reg_reg so Sun's dis command recognizes it. 2004-03-15 Zoltan Varga * sparc/sparc-codegen.h: Add some v9 instructions. 2004-03-11 Zoltan Varga * sparc/sparc-codegen.h: Ongoing sparc work. 2004-03-07 Duncan Mak * Makefile.am: Removed the reference to 'x86-64'. This was the cause of the missing Mono daily tarballs, 'make dist' wasn't working. We do have an 'amd64' directory, but it doesn't make it in 'make dist'. 2004-02-19 Zoltan Varga * sparc/sparc-codegen.h: Fix lots of opcodes + add new ones. * sparc/tramp.c: Fix alignment of structures containing doubles. 2004-02-02 Zoltan Varga * sparc/tramp.c: Implement all floating point argument passing conventions in Sparc V8. Also fix structure passing in V8. Thu Nov 13 16:24:29 CET 2003 Paolo Molaro * ppc/ppc-codegen.h: fixed most of the incorrect macros from ct. 2003-10-31 Zoltan Varga * */tramp.c (mono_create_method_pointer): Rename to mono_arch_create_method_pointer, move common code to a new function in interp.c. * */tramp.c (mono_create_trampoline): Rename to mono_arch_create_trampoline for consistency. 2003-10-13 Bernie Solomon * x86/tramp.c: restore EDX after memcpy call 2003-10-13 Bernie Solomon * Makefile.am: add hppa subdir * hppa/tramp.c: add initial implementation - this is 64 bit only hppa/Makefile.am hppa/.cvsignore: added 2003-10-13 Bernie Solomon * sparc/sparc-codegen.h sparc/tramp.c: add initial implementation for V9 (64 bit), cover more 32 bit cases as well. 2003-09-03 Zoltan Varga * x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com). 2003-08-21 Zoltan Varga * x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com). Tue Jul 1 13:03:43 CEST 2003 Paolo Molaro * alpha/tramp.c: update from Laramie Leavitt (lar@leavitt.us). 2003-05-20 Dietmar Maurer * x86/x86-codegen.h (x86_set_reg): add an assertion - it does not work for all registers. Sat Feb 1 10:59:31 CET 2003 Paolo Molaro * alpha/*: update from Laramie. Mon Jan 27 12:49:10 CET 2003 Paolo Molaro * alpha/*: start of the port to the alpha architecture by Laramie Leavitt (). Tue Jan 21 17:29:53 CET 2003 Paolo Molaro * ppc/ppc-codegen.h: completed ppc native code generation by Taylor Christopher P . Fri Jan 17 21:14:18 CET 2003 Paolo Molaro * ppc/tramp.c: adapted to work for MacOSX (from a patch by John Duncan). 2002-11-11 Mark Crichton * sparc/tramp.c: Added some disassembly bits for debugging. 2002-10-02 Mark Crichton * sparc/tramp.c: More cleanup of the trampoline code. Still some problems with it w.r.t. delegates. 2002-09-25 Mark Crichton * sparc/tramp.c: Off by one error. Whoops. Trampoline code should now work properly. 2002-09-24 Mark Crichton * sparc/tramp.c: Works as well as the old code did. Cleanup is finished. The framework now for adding more type support is in, and should be a *lot* cleaner. 2002-09-22 Mark Crichton * sparc/tramp.c: Completely broke trampolining on SPARC processors. The code needed a nasty cleanup, so most of it is rewritten. It will be fixed. 2002-08-20 Mark Crichton * sparc/tramp.c (mono_create_trampoline): Now works on Sparc. Tested on an Ultra 2 running Linux. Mon Aug 5 19:21:19 CEST 2002 Paolo Molaro * x86/tramp.c: fix random memory read in mono_create_method_pointer. 2002-08-05 Dietmar Maurer * x86/tramp.c (mono_create_trampoline): fixed stack_size bug 2002-08-01 Dietmar Maurer * x86/tramp.c (mono_create_method_pointer): allocate space for value types. (mono_create_trampoline): also push the value type pointer for methods returning value types. (mono_create_method_pointer): support valuetype returns. 2002-07-31 Dietmar Maurer * x86/tramp.c: remove code to handle PInvoke because this is no longer needed. (mono_create_method_pointer): return method->addr for pinvoke methods Fri Jul 19 14:18:36 CEST 2002 Paolo Molaro * x86/tramp.c: fix float loads. Simple delegate marshaling fix. 2002-07-08 Radek Doulik * ppc/tramp.c: marshaling for SZARRAY 2002-07-05 Radek Doulik * ppc/tramp.c: removed magic hack Tue Jun 18 10:21:56 CEST 2002 Paolo Molaro * x86/tramp.c: marshal simple arrays correctly. 2002-05-27 Miguel de Icaza * x86/x86-codegen.h: Set the standard header format. 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.