DiffLoader didn't handle encoded name and caused mismatch between .NET.
[mono-project/dkf.git] / mono / arch / ChangeLog
blob231f796c8ebc662cd4531ca0f4520023edf98bfc
1 2010-05-19  Zoltan Varga  <vargaz@gmail.com>
3         * ppc/ppc-codegen.h (ppc_load_func): Fix ilp32 support.
5 2010-03-30  Zoltan Varga  <vargaz@gmail.com>
7         * arm/*.sh: Remove bash dependency.
9 2009-08-14  Zoltan Varga  <vargaz@gmail.com>
11         * arm/arm-codegen.h: Add armv6 MOVW/MOVT.
13 2009-07-03  Jerry Maine  <crashfourit@gmail.com>
14         
15         Contributed under the terms of the MIT/X11 license by
16         Jerry Maine <crashfourit@gail.com>.
18         * amd64/amd64-codegen.h: Added missing code gen marco for single packed square root.
20 Fri Jul 24 16:54:13 CEST 2009 Steven Munroe  <munroesj@us.ibm.com>
22         This patch is contributed under the terms of the MIT/X11 license
23         
24         * arch/ppc/ppc-codegen.h (ppc_ha): Define high adjusted
25         conversion to support combining addis for bits 32-47 with
26         signed load/store diplacements for bits 48-63.
27         (ppc_fcfidx, ppc_fctidx, ppc_fctidzx): Share with PPC32.
28         These instructions are availble to 32-bit programs on 64-bit
29         hardware and 32-bit both starting with PowerISA V2.01.
30         [__mono_ppc64__]: Define ppc_mftgpr and ppc_mffgpr for Power6
31         native mode.
32         [!__mono_ppc64__]: Define ppc_is_imm32 as constant true for
33         ppc32.
35 2009-07-20  Zoltan Varga  <vargaz@gmail.com>
37         * amd64/amd64-codegen.h (amd64_sse_pminud_reg_reg): Fix the encoding
38         of this instruction.
40 2009-07-13  Zoltan Varga  <vargaz@gmail.com>
42         * x86/x86-codegen.h: Applied patch from Marian Salaj <salo3@atlas.cz>.
43         Fix encoding of PMINSW and PMINSD. Fixes #521662.
45 2009-06-22  Zoltan Varga  <vargaz@gmail.com>
47         * ppc/ppc-codegen.h: Rework the naming of the load/store macros,
48         ldr/str now handle register sized quantities, while ldptr/stptr handle
49         pointer sized quantities.
51 2009-06-20  Zoltan Varga  <vargaz@gmail.com>
53         * ppc/ppc-codegen.h: Fix the last change to avoid self-assignments inside
54         macros.
55         
56         * ppc/ppc-codegen.h: Add ppc_ldr/ppc_str macros to store regsize quantities.
57         Handle little endian host platforms in ppc_emit32.
59 2009-10-06  Jerry Maine  <crashfourit@gmail.com>
60         
61         Contributed under the terms of the MIT/X11 license by
62         Jerry Maine <crashfourit@gail.com>.
64         * amd64/amd64-codegen.h: Add marcos for coding two byte SIMD/SSE opcodes.
65         Added comments to help tell the different types of SSE code gen marcos appart.
67 2009-04-06  Zoltan Varga  <vargaz@gmail.com>
69         * arm/arm-vfp-codegen.h: Add ARM_FSITOS/ARM_FSITOD.
71 2009-04-03  Zoltan Varga  <vargaz@gmail.com>
73         * amd64/amd64-codegen.h: Add macros for decoding the SIB byte.
75 2009-04-02  Zoltan Varga  <vargaz@gmail.com>
77         * arm/arm-vfp-codegen.h: Add missing VFP codegen macros.
79 2009-03-06  Zoltan Varga  <vargaz@gmail.com>
81         * arm/tramp.c: Include a change from the debian patches. Avoid #include-ing
82         a file in the middle of a function.
84 2009-02-27  Zoltan Varga  <vargaz@gmail.com>
86         * arm/{arm_fpamacros.h, arm_vfpmacros.h}: Remove these files, they are
87         autogenerated.
89 2009-02-02  Mark Probst  <mark.probst@gmail.com>
91         Contributed under the terms of the MIT/X11 license by Steven
92         Munroe <munroesj@us.ibm.com>.
94         * ppc/ppc-codegen.h: Make operand order and case consistent
95         (assembler order) for ppc_load_reg_update, ppc_load_multiple_regs,
96         ppc_store_multiple_regs, ppc_lwz, ppc_lhz, ppc_lbz,
97         ppc_stw,ppc_sth, ppc_stb, ppc_stwu, ppc_lbzu, ppc_lfdu, ppc_lfsu,
98         ppc_lfsux, ppc_lfsx, ppc_lha, ppc_lhau, ppc_lhzu, ppc_lmw,
99         ppc_lwzu, ppc_stbu, ppc_stfdu, ppc_stfsu, ppc_sthu, ppc_stmw.  Use
100         "i" or "ui" instead of "d" for immediated operands to immediate
101         arthimetic and logical instructions in macros ppc_addi, ppc_addis,
102         ppc_ori, ppc_addic, ppc_addicd, ppc_andid, ppc_andisd.
103         [__mono_ppc64__]: Make operand order and case consistent
104         (assembler order) for ppc_load_multiple_regs,
105         ppc_store_multiple_regs.  Simplify the DS form and make them
106         consistent with D forms for ppc_load_reg, ppc_load_reg_update,
107         ppc_store_reg, ppc_store_reg_update. ppc_ld, ppc_lwa, ppc_ldu,
108         ppc_std, ppc_stdu.  Define ppc_lwax and ppc_lwaux.
110 2009-01-19 Rodrigo Kumpera  <rkumpera@novell.com>
112         * x86/x86-codegen.h: Add x86_movd_xreg_membase.
114 2008-12-19  Mark Probst  <mark.probst@gmail.com>
116         * ppc/ppc-codegen.h: Fixed the argument order for lwzu in
117         ppc_load_reg_update.
119 2008-12-12  Mark Mason  <mmason@upwardaccess.com>
121         * mips/mips-codegen.h: Changes to support n32.
122         
123 2008-12-10  Mark Probst  <mark.probst@gmail.com>
125         * ppc/ppc-codegen.h: A few new macros for the final PPC/PPC64
126         merge.
128 2008-12-05  Mark Probst  <mark.probst@gmail.com>
130         * ppc/ppc-codegen.h: ppc_load_func must use ppc_load_sequence.
131         Added ppc_compare_log.
133 2008-12-05  Mark Probst  <mark.probst@gmail.com>
135         * ppc/ppc-codegen.h: Added ppc_load_func for PPC32.  Added
136         ppc_load/store_multiple_regs and ppc_compare_reg_imm.
138 2008-12-02  Mark Probst  <mark.probst@gmail.com>
140         * ppc/ppc-codegen.h: Opcodes for floating point conversions from
141         64 bit integers.
143         Code submitted by andreas.faerber@web.de at
144         https://bugzilla.novell.com/show_bug.cgi?id=324134 under the
145         X11/MIT license.
147 2008-11-28  Mark Probst  <mark.probst@gmail.com>
149         * ppc/ppc-codegen.h: #define for the maximum length of a load
150         sequence.
152 2008-11-21  Mark Probst  <mark.probst@gmail.com>
154         * ppc/ppc-codegen.h: Make ppc_is_[u]imm16() work with 64 bit
155         values.
157 2008-11-20 Rodrigo Kumpera  <rkumpera@novell.com>
159         * x86/x86-codegen.h: Add X86_SSE_MOVHPD_REG_MEMBASE and renamed MOVS to MOVSD.
161 2008-11-20 Rodrigo Kumpera  <rkumpera@novell.com>
163         * x86/x86-codegen.h: Add X86_SSE_MOVS_ reg/membase variants.
165         * x86/x86-codegen.h: Add x86_sse_alu_pd_reg_membase_imm.
167         * x86/x86-codegen.h: Sort the x86_sse_alu_* macros decently.
169 2008-11-20  Mark Probst  <mark.probst@gmail.com>
171         * ppc/ppc-codegen.h: Use ppc_load_reg instead of ppc_ld in
172         ppc_load_func to fix the 2 bit shift.
174 2008-11-20  Mark Probst  <mark.probst@gmail.com>
176         * ppc/ppc-codegen.h: 64 bit division opcodes.
178         Code submitted by andreas.faerber@web.de at
179         https://bugzilla.novell.com/show_bug.cgi?id=324134 under the
180         X11/MIT license.
182 2008-11-20  Zoltan Varga  <vargaz@gmail.com>
184         * arm/Makefile.am (libmonoarch_arm_la_SOURCES): Don't build tramp.c, it is only
185         used by the interpreter.
187 2008-11-20 Rodrigo Kumpera  <rkumpera@novell.com>
189         * x86/x86-codegen.h: Add PEXTR B/W/D.
191 2008-11-18 Rodrigo Kumpera  <rkumpera@novell.com>
193         * x86/x86-codegen.h: Add PINSR B/W/D.
195 2008-11-18  Mark Probst  <mark.probst@gmail.com>
197         * ppc/ppc-codegen.h: Macro for nop added.
199 2008-11-18  Mark Probst  <mark.probst@gmail.com>
201         * ppc/ppc-codegen.h: PPC64 code generation macros.
203         Based on code submitted by andreas.faerber@web.de at
204         https://bugzilla.novell.com/show_bug.cgi?id=324134 under the
205         X11/MIT license.
207 2008-11-18  Mark Probst  <mark.probst@gmail.com>
209         * ppc/ppc-codegen.h: A few fixes and additions.
211         Based on code submitted by andreas.faerber@web.de at
212         https://bugzilla.novell.com/show_bug.cgi?id=324134 under the
213         X11/MIT license.
215 2008-11-17  Rodrigo Kumpera  <rkumpera@novell.com>
217         * x86/x86-codegen.h: Fix comment about the version of PCMPGTQ.
219         * x86/x86-codegen.h: Add movsd constant and x86_sse_alu_sd_membase_reg
220         macro.
222 2008-11-17  Rodrigo Kumpera  <rkumpera@novell.com>
224         * x86/x86-codegen.h: Add X86_SSE_MOVHPD_MEMBASE_REG constant
225         and x86_sse_alu_pd_membase_reg/x86_sse_alu_membase_reg macros.
227 2008-11-15  Andreas Faerber  <andreas.faerber@web.de>
229         * ppc/test.c: Add support for Mac OS X.
231         Code is contributed under MIT/X11 license.
233 2008-11-13  Rodrigo Kumpera  <rkumpera@novell.com>
235         * x86/x86-codegen.h: Remove not used macro x86_pshufd_reg_reg.
237 2008-11-04  Rodrigo Kumpera  <rkumpera@novell.com>
239         * x86/x86-codegen.h: Add store nta.
241 2008-11-03  Rodrigo Kumpera  <rkumpera@novell.com>
243         * x86/x86-codegen.h: Add prefetch instruction
244         and x86_sse_alu_reg_membase macro.
246 2008-10-28  Rodrigo Kumpera  <rkumpera@novell.com>
248         * x86/x86-codegen.h: Add long version of the packed integer
249         ops.
251 2008-10-27  Rodrigo Kumpera  <rkumpera@novell.com>
253         * x86/x86-codegen.h: Add movddup.
255 2008-10-24  Rodrigo Kumpera  <rkumpera@novell.com>
257         * x86/x86-codegen.h: Add signed pack with saturation.
259 2008-10-24  Rodrigo Kumpera  <rkumpera@novell.com>
261         * x86/x86-codegen.h: Add signed packed mul high.
263 2008-10-23  Rodrigo Kumpera  <rkumpera@novell.com>
265         * x86/x86-codegen.h: Add signed packed max, min, add/sub with saturation
266         and compare greater.
268 2008-10-20  Rodrigo Kumpera  <rkumpera@novell.com>
270         * x86/x86-codegen.h: Add multiply and store high.
272 2008-10-17  Rodrigo Kumpera  <rkumpera@novell.com>
274         * x86/x86-codegen.h: Add packed int shuffle.
276 2008-10-16  Rodrigo Kumpera  <rkumpera@novell.com>
278         * x86/x86-codegen.h: Add packed int compare equals and
279         psabw.
281 2008-10-15  Rodrigo Kumpera  <rkumpera@novell.com>
283         * x86/x86-codegen.h: Add packed int max/min/avg/shuffle and extract mask.
285 2008-10-14  Rodrigo Kumpera  <rkumpera@novell.com>
287         * x86/x86-codegen.h: Add movsldup and movshdup.
289 2008-10-13  Rodrigo Kumpera  <rkumpera@novell.com>
291         * x86/x86-codegen.h: Add remaining FP sse1 ops.
292         Add sse ps encoding with imm operand.
293         Add remaining sse1 ops.
295 2008-10-12  Rodrigo Kumpera  <rkumpera@novell.com>
297         * x86/x86-codegen.h: Add macro for sse41 ops.
298         Add defined for pack ops, dword shifts/mul/pack.
300 2008-10-11  Zoltan Varga  <vargaz@gmail.com>
302         * amd64/amd64-codegen.h (amd64_jump_code_size): Fix the 64 bit support.
304 2008-10-10  Zoltan Varga  <vargaz@gmail.com>
306         * amd64/amd64-codegen.h (amd64_jump_code_size): Handle non 32-bit targets.
308 2008-10-09  Rodrigo Kumpera  <rkumpera@novell.com>
310         * x86/x86-codegen.h: Add macros for sse shift, pack, unpack,
311         saturated math and packed byte/word/dword math.
313 2008-10-03  Rodrigo Kumpera  <rkumpera@novell.com>
315         * x86/x86-codegen.h: Add macros for SSE instructions.
317 2008-09-27  Mark Probst  <mark.probst@gmail.com>
319         * ppc/ppc-codegen.h: A few typecasts to fix compiler warnings.
321 2008-09-07  Mark Probst  <mark.probst@gmail.com>
323         * ppc/ppc-codegen.h (ppc_load): Inserted cast to fix some
324         warnings.
326 2008-06-16  Mark Probst  <mark.probst@gmail.com>
328         * amd64/amd64-codegen.h: Removed extraneous parenthesis in a macro
329         nobody uses.
331 2008-06-06  Zoltan Varga  <vargaz@gmail.com>
333         * amd64/amd64-codegen.h (amd64_padding_size): Rewrite this to use the
334         instructions recommended by the amd64 manual.
336 2008-04-19  Zoltan Varga  <vargaz@gmail.com>
338         * amd64/amd64-codegen.h (amd64_is_imm32): Use gint64 instead of glong because of
339         win64.
341 2008-03-13  Geoff Norton  <gnorton@novell.com>
343         * arch/arm/tramp.c:  Dont compile this on PLATFORM_MACOSX
345 2008-02-18  Zoltan Varga  <vargaz@gmail.com>
347         * amd64/amd64-codegen.h (amd64_movsxd_reg_mem): New codegen macro.
349 2008-02-14  Zoltan Varga  <vargaz@gmail.com>
351         * amd64/amd64-codegen.h (amd64_alu_membase8_imm_size): New codegen macro.
353 2008-02-08  Zoltan Varga  <vargaz@gmail.com>
355         * arm/arm-codegen.h: Fix the ordering of arguments for some load/store opcodes
356         so they are consistent.
358 2008-01-24  Zoltan Varga  <vargaz@gmail.com>
360         * Makefile.am (SUBDIRS): Or if INTERP_SUPPORTED is true.
361         
362         * Makefile.am (SUBDIRS): Only set this on arm.
364 2007-11-20  Zoltan Varga  <vargaz@gmail.com>
366         * amd64/amd64-codegen.h (amd64_alu_reg_imm_size): Prefer the smaller 
367         instruction encoding.
369 2007-11-03  David S. Miller  <davem@davemloft.net>
371        * sparc/sparc-codegen.h (sparc_set32, sparc_set): A plain sethi
372        can be used if the constant value only has the top 22 bits set.
374 2007-11-01  Geoff Norton  <gnorton@novell.com>
376         * x86/Makefile.am:  Only compile tramp.c if INTERP_SUPPORTED is true
377         Fixes the build on Leopard.
379 2007-11-01  Geoff Norton  <gnorton@novell.com>
381         * ppc/Makefile.am:  Only compile tramp.c if INTERP_SUPPORTED is true
382         Fixes the build on Leopard.
384 2007-10-26  Jonathan Chambers <joncham@gmail.com>
386         * amd64/amd64-codegen.h: Begin Win64 port. Use AMD64_ARG_REG#
387         defines to access param registers. Replace long usage with
388         gsize as sizeof(long) != sizeof(void*) on Win64.
390         Code is contributed under MIT/X11 license.
392 2007-10-09  Zoltan Varga  <vargaz@gmail.com>
394         * amd64/amd64-codegen.h (amd64_jump_membase_size): Remove an unneccesary
395         rex prefix which trips up valgrind.
397 2007-07-14  Zoltan Varga  <vargaz@gmail.com>
399         * amd64/amd64-codegen.h: Remove some unused rex prefixes.
401 Wed Jul 4 15:29:07 CEST 2007 Paolo Molaro <lupus@ximian.com>
403         * x86/x86-codegen.h: added minimal sse instructions currently
404         needed by the JIT.
406 2007-06-13  Randolph Chung  <tausq@debian.org>
408         * hppa/hppa-codegen.h: Update with more instructions.
409         * hppa/tramp.c: Disable for linux since we don't support the
410         interpreter.
412 2007-05-20  Zoltan Varga  <vargaz@gmail.com>
414         * amd64/amd64-codegen.h (amd64_call_reg): Remove a got prefix which isn't needed.
416 2007-04-23  Zoltan Varga  <vargaz@gmail.com>
418         * alpha/alpha-codegen.h: More alpha port work from 
419         Sergey Tikhonov <tsv@solvo.ru>.
421 Mon Mar 12 17:07:32 CET 2007 Paolo Molaro <lupus@ximian.com>
423         * amd64/amd64-codegen.h: removed some useless size rex prefixes.
425 Wed Jan 24 21:00:40 CET 2007 Paolo Molaro <lupus@ximian.com>
427         * arm/arm-codegen.h: fixed encoding of short/byte load/store
428         instructions with negative immediate offsets.
430 Mon Nov 20 17:36:45 CET 2006 Paolo Molaro <lupus@ximian.com>
432         * arm/arm-codegen.h: added suppot for thumb interworking instructions.
434 Wed Nov 15 16:56:53 CET 2006 Paolo Molaro <lupus@ximian.com>
436         * mips/*: fixes by Mark E Mason <mark.e.mason@broadcom.com>.
438 2006-09-12  Zoltan Varga  <vargaz@gmail.com>
440         * alpha/alpha-codegen.h: More alpha updates from Sergey Tikhonov <tsv@solvo.ru>.
442 Tue Sep 12 13:09:56 CEST 2006 Paolo Molaro <lupus@ximian.com>
444         * arm/*: VFP floating point format code generation support.
446 2006-09-12  Zoltan Varga  <vargaz@gmail.com>
448         * ia64/ia64-codegen.h: Add xmpy_l/u pseudo ops.
450 2006-07-19  Zoltan Varga  <vargaz@gmail.com>
452         * amd64/amd64-codegen.h: Fix amd64_mov_mem_reg.
454         * alpha/alpha-codegen.h alpha/test.c alpha/tramp.c: Applied patch from 
455         Sergey Tikhonov <tsv@solvo.ru>. Updates to alpha support.
457 Thu Jun 15 16:59:36 CEST 2006 Paolo Molaro <lupus@ximian.com>
459         * ppc/ppc-codegen.h: reduce noisy build warnings by
460         casting to the more commonly used unsigned char type
461         (from johannes@sipsolutions.net (Johannes Berg)).
463 2006-05-14  Zoltan Varga  <vargaz@gmail.com>
465         * ia64/ia64-codegen.h (ia64_fetchadd8_acq_hint_pred): Fix encoding of this
466         opcode.
468 2006-04-21  Zoltan Varga  <vargaz@gmail.com>
470         * Makefile.am (SUBDIRS): Revert the last change as arm depends on the old
471         behaviour.
473 2006-04-12  Zoltan Varga  <vargaz@gmail.com>
475         * sparc/sparc-codegen.h (sparc_inst_i): New disassembly macro.
477 2006-04-04  Zoltan Varga  <vargaz@gmail.com>
479         * Makefile.am (SUBDIRS): Avoid compiling subdirs needed by the
480         interpreter.
482 2005-12-22  Zoltan Varga  <vargaz@gmail.com>
484         * sparc/sparc-codegen.h (sparc_membar): Add membar instruction.
486 2005-10-30  Zoltan Varga  <vargaz@gmail.com>
488         * ia64/ia64-codegen.h (ia64_m17): Fix a warning.
490 2005-10-16  Zoltan Varga  <vargaz@freemail.hu>
492         * amd64/amd64-codegen.h (AMD64_CALLEE_SAVED_REGS): Add %rbp.
494 2005-09-27  Raja R Harinath  <rharinath@novell.com>
496         * arm/dpiops.sh, arm/fpaops.h: Output to stdout.
497         * arm/Makefile.am (arm_dpimacros.h, arm_fpamacros.h): Update.  Fix
498         for srcdir != builddir.
500 2005-09-11  Zoltan Varga  <vargaz@gmail.com>
502         * ia64/ia64-codegen.h (ia64_unw_pop_frames): New unwind macro.
504 2005-09-10  Zoltan Varga  <vargaz@gmail.com>
506         * ia64/ia64-codegen.h: Remove 'manual' emitting of instructions. 
507         Integrate emission of unwind directives into the assembly macros.
509 2005-09-04  Zoltan Varga  <vargaz@gmail.com>
511         * ia64/ia64-codegen.h (ia64_no_stop): New macro.
513 2005-08-27  Zoltan Varga  <vargaz@gmail.com>
515         * ia64/ia64-codegen.h: Fix some bugs.
517         * ia64/codegen.c: Update to work with latest ia64-codegen.h
519 2005-08-26  Zoltan Varga  <vargaz@gmail.com>
521         * ia64/Makefile.am: Distribute ia64-codegen.h.
523 2005-08-21  Zoltan Varga  <vargaz@freemail.hu>
525         * ia64/ia64-codegen.h: Improve ins scheduling and fix some bugs.
527 2005-08-17  Zoltan Varga  <vargaz@freemail.hu>
529         * ia64/ia64-codegen.h: Add dependency information for all instructions.
531 2005-07-30  Zoltan Varga  <vargaz@freemail.hu>
533         * ia64/ia64-codegen.h: Ongoing IA64 work.
535 Wed Jul 20 18:01:54 BST 2005 Paolo Molaro <lupus@ximian.com>
537         * arm/*: more codegen macros.
539 2005-07-18  Zoltan Varga  <vargaz@freemail.hu>
541         * ia64/ia64-codegen.h (ia64_is_adds_imm): Ongoing IA64 work.
543 2005-06-23  Zoltan Varga  <vargaz@freemail.hu>
545         * ia64/ia64-codegen.h: Add some new pseudo ops.
547 2005-06-19  Zoltan Varga  <vargaz@freemail.hu>
549         * ia64/ia64-codegen.h: Fix encoding of ia64_fclass.
551 2005-06-12  Zoltan Varga  <vargaz@freemail.hu>
553         * ia64/ia64-codegen.h: Ongoing IA64 work.
555 2005-06-09  Zoltan Varga  <vargaz@freemail.hu>
557         * ia64/ia64-codegen.h: Ongoing IA64 work.
559 2005-05-30  Zoltan Varga  <vargaz@freemail.hu>
561         * ia64/codegen.c: Fix it after latest changes.
563 2005-05-29  Zoltan Varga  <vargaz@freemail.hu>
565         * ia64/ia64-codegen.h: Ongoing IA64 work.
566         
567         * ia64/ia64-codegen.h: Ongoing IA64 work.
569 2005-05-28  Zoltan Varga  <vargaz@freemail.hu>
571         * ia64/ia64-codegen.h: Ongoing IA64 work.
572         
573         * ia64/ia64-codegen.h: Ongoing IA64 work.
575         * ia64/ia64-codegen.h: Ongoing IA64 work.
577 2005-05-26  Zoltan Varga  <vargaz@freemail.hu>
579         * ia64/ia64-codegen.h: Ongoing IA64 work.
581 2005-05-22  Zoltan Varga  <vargaz@freemail.hu>
583         * ia64/ia64-codegen.h: Ongoing IA64 work.
584         
585         * ia64/ia64-codegen.h: Ongoing IA64 work.
587         * ia64/ia64-codegen.h: Ongoing IA64 work.
589 2005-05-21  Zoltan Varga  <vargaz@freemail.hu>
591         * ia64/ia64-codegen.h: Ongoing IA64 work.
593 2005-05-19  Zoltan Varga  <vargaz@freemail.hu>
595         * ia64/ia64-codegen.h ia64/codegen.c: Ongoing ia64 work.
597 2005-05-18  Zoltan Varga  <vargaz@freemail.hu>
599         * ia64/ia64-codegen.h (ia64_codegen_init): Rename macro parameter.
601 2005-05-14  Zoltan Varga  <vargaz@freemail.hu>
603         * Makefile.am: Only compile libmonoarch if the interpreter is compiled.
605         * ia64/ia64-codegen.h: Add IA64 code generation macros.
607         * Makefile.am: Add ia64 subdir.
609 2005-05-05  Zoltan Varga  <vargaz@freemail.hu>
611         * alpha/tramp.c: Applied patch from Jakub Bogusz <qboosh@pld-linux.org>.
613 2005-03-28  Zoltan Varga  <vargaz@freemail.hu>
615         * amd64/amd64-codegen.h: Avoid emitting a rex in some places.
617 2005-03-15  Zoltan Varga  <vargaz@freemail.hu>
619         * amd64/amd64-codegen.h (amd64_emit_rex): Emit a rex when accessing the
620         byte registers.
621         
622         * amd64/amd64-codegen.h (AMD64_BYTE_REGS): Add AMD64_BYTE_REGS macro.
624 2005-03-14  Zoltan Varga  <vargaz@freemail.hu>
626         * amd64/amd64-codegen.h: Add missing AMD64_XMM7.
628 2005-03-13  Zoltan Varga  <vargaz@freemail.hu>
630         * amd64/amd64-codegen.h: Remove some unneccesary REXes.
632 2005-03-08  Zoltan Varga  <vargaz@freemail.hu>
634         * amd64/amd64-codegen.h (amd64_sse_cvtsi2sd_reg_reg_size): Add _size
635         variants to some sse2 macros.
637         * amd64/amd64-codegen.h (amd64_sse_cvtsd2si_reg_reg): Make this convert
638         to a 64 bit value.
640 2005-03-06  Zoltan Varga  <vargaz@freemail.hu>
642         * amd64/amd64-codegen.h: Add some SSE2 instructions.
644 2005-02-20  Zoltan Varga  <vargaz@freemail.hu>
646         * amd64/amd64-codegen.h: Add xadd instructions.
647         
648         * amd64/amd64-codegen.h (amd64_jump_code_size): Do not emit a rex.
650 2004-11-25  Zoltan Varga  <vargaz@freemail.hu>
652         * amd64/amd64-codegen.h: Updates to support the PIC changes.
654 Fri Nov 19 17:29:22 CET 2004 Paolo Molaro <lupus@ximian.com>
656         * ppc/ppc-codegen.h: counter reg decrement branch values
657         (patch by Geoff Norton <gnorton@customerdna.com>).
659 2004-11-16  Patrik Torstensson <patrik.torstensson@gmail.com>
661         * x86/x86-codegen.h: added opcodes for xadd instructions
663 2004-11-15  Zoltan Varga  <vargaz@freemail.hu>
665         * amd64/x86-64-codegen.h: Get rid of this.
667 2004-08-30  Zoltan Varga  <vargaz@freemail.hu>
669         * amd64/amd64-codegen.h (amd64_imul_reg_membase_size): Fix REX
670         generation.
672 2004-08-29  Zoltan Varga  <vargaz@freemail.hu>
674         * amd64/amd64-codegen.h: More SSE work.
675         
676         * amd64/amd64-codegen.h: Add SSE2 instructions.
678 2004-08-21  Zoltan Varga  <vargaz@freemail.hu>
680         * amd64/amd64-codegen.h (X86_IS_BYTE_REG): Redefine X86_IS_BYTE_REG
681         since under amd64, all 16 registers have a low part.
683 2004-08-16  Zoltan Varga  <vargaz@freemail.hu>
685         * x86/x86-codegen.h: Add macros for accessing the mod/rm byte.
687 2004-07-30  Zoltan Varga  <vargaz@freemail.hu>
689         * amd64/amd64-codegen.h: Ongoing JIT work.
691 2004-07-29  Ben Maurer  <bmaurer@ximian.com>
693         * x86/x86-codegen.h: Add opcodes for cmp BYTE PTR [eax], imm
695 2004-07-28  Zoltan Varga  <vargaz@freemail.hu>
697         * amd64/amd64-codegen.h: Ongoing JIT work.
699 2004-07-24  Zoltan Varga  <vargaz@freemail.hu>
701         * amd64/amd64-codegen.h: Ongoing JIT work.
703 2004-07-23  Zoltan Varga  <vargaz@freemail.hu>
705         * amd64/amd64-codegen.h: Ongoing JIT work.
707 2004-07-23  zovarga  <vargaz@freemail.hu>
709         * amd64/amd64-codegen.h: Ongoing JIT work.
711 2004-06-30  Zoltan Varga  <vargaz@freemail.hu>
713         * sparc/sparc-codegen.h: Add SPARC64 support.
715 2004-05-07  Bernie Solomon  <bernard@ugsolutions.com>
717         * ppc/ppc-codegen.h: remove GCC-ism in ppc_emit32
719 2004-04-29  Bernie Solomon  <bernard@ugsolutions.com>
721         * ppc/tramp.c: use sizeof (stackval), fix
722         delegate tramp frame layout for Apple
724 2004-04-26  David Waite <mass@akuma.org>
726         * unknown.c: modify to have content for defined platforms (to
727         avoid ISO C warning)
729 2004-03-29  Bernie Solomon  <bernard@ugsolutions.com>
731         * amd64/tramp.c:
732         * arm/tramp.c:
733         * hppa/tramp.c:
734         * ppc/tramp.c:
735         * s390/tramp.c:
736         * sparc/tramp.c:
737         * x86/tramp.c:
738         remove child from MonoInvocation as it isn't used.
740         * hppa/hppa-codegen.h:
741         fix displacements in FP instrs
743 2004-03-23  Bernie Solomon  <bernard@ugsolutions.com>
745         * hppa/hppa-codegen.h: created
747         * hppa/tramp.c: changed style to be more like
748         other platforms.
750         * hppa/Makefile.am: add hppa-codegen.h
752 2004-03-16  Zoltan Varga  <vargaz@freemail.hu>
754         * sparc/sparc-codegen.h: Add v9 branches with prediction.
756 2004-03-15  Bernie Solomon  <bernard@ugsolutions.com>
758         * sparc/sparc-codegen.h: tweak sparc_mov_reg_reg
759         so Sun's dis command recognizes it.
761 2004-03-15  Zoltan Varga  <vargaz@freemail.hu>
763         * sparc/sparc-codegen.h: Add some v9 instructions.
765 2004-03-11  Zoltan Varga  <vargaz@freemail.hu>
767         * sparc/sparc-codegen.h: Ongoing sparc work.
769 2004-03-07  Duncan Mak  <duncan@ximian.com>
771         * Makefile.am: Removed the reference to 'x86-64'. This was the cause
772         of the missing Mono daily tarballs, 'make dist' wasn't working.
773         
774         We do have an 'amd64' directory, but it doesn't make it in 'make
775         dist'.
777 2004-02-19  Zoltan Varga  <vargaz@freemail.hu>
779         * sparc/sparc-codegen.h: Fix lots of opcodes + add new ones.
781         * sparc/tramp.c: Fix alignment of structures containing doubles.
783 2004-02-02  Zoltan Varga  <vargaz@freemail.hu>
785         * sparc/tramp.c: Implement all floating point argument passing conventions in
786         Sparc V8. Also fix structure passing in V8.
788 Thu Nov 13 16:24:29 CET 2003 Paolo Molaro <lupus@ximian.com>
790         * ppc/ppc-codegen.h: fixed most of the incorrect macros from ct.
792 2003-10-31  Zoltan Varga  <vargaz@freemail.hu>
794         * */tramp.c (mono_create_method_pointer): Rename to 
795         mono_arch_create_method_pointer, move common code to a new function in
796         interp.c.
798         * */tramp.c (mono_create_trampoline): Rename to 
799         mono_arch_create_trampoline for consistency.
800         
801 2003-10-13  Bernie Solomon  <bernard@ugsolutions.com>
803         * x86/tramp.c: restore EDX after memcpy call
805 2003-10-13  Bernie Solomon  <bernard@ugsolutions.com>
807         * Makefile.am: add hppa subdir 
809         * hppa/tramp.c: add initial implementation - this is 64 bit only
810         hppa/Makefile.am hppa/.cvsignore: added
812 2003-10-13  Bernie Solomon  <bernard@ugsolutions.com>
814         * sparc/sparc-codegen.h sparc/tramp.c: add initial implementation
815         for V9 (64 bit), cover more 32 bit cases as well.
817 2003-09-03  Zoltan Varga  <vargaz@freemail.hu>
819         * x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com).
821 2003-08-21  Zoltan Varga  <vargaz@freemail.hu>
823         * x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com).
825 Tue Jul 1 13:03:43 CEST 2003 Paolo Molaro <lupus@ximian.com>
827         * alpha/tramp.c: update from Laramie Leavitt (lar@leavitt.us).
829 2003-05-20  Dietmar Maurer  <dietmar@ximian.com>
831         * x86/x86-codegen.h (x86_set_reg): add an assertion - it does
832         not work for all registers.
834 Sat Feb 1 10:59:31 CET 2003 Paolo Molaro <lupus@ximian.com>
836         * alpha/*: update from Laramie.
838 Mon Jan 27 12:49:10 CET 2003 Paolo Molaro <lupus@ximian.com>
840         * alpha/*: start of the port to the alpha architecture by
841         Laramie Leavitt (<lar@leavitt.us>).
843 Tue Jan 21 17:29:53 CET 2003 Paolo Molaro <lupus@ximian.com>
845         * ppc/ppc-codegen.h: completed ppc native code generation by
846         Taylor Christopher P <ct@cs.clemson.edu>.
848 Fri Jan 17 21:14:18 CET 2003 Paolo Molaro <lupus@ximian.com>
850         * ppc/tramp.c: adapted to work for MacOSX (from a patch by 
851         John Duncan).
853 2002-11-11  Mark Crichton  <crichton@gimp.org>
855         * sparc/tramp.c: Added some disassembly bits for debugging.
857 2002-10-02  Mark Crichton  <crichton@gimp.org>
859         * sparc/tramp.c: More cleanup of the trampoline code.  Still some
860         problems with it w.r.t. delegates.
862 2002-09-25  Mark Crichton  <crichton@gimp.org>
864         * sparc/tramp.c: Off by one error.  Whoops.  Trampoline code should
865         now work properly.
867 2002-09-24  Mark Crichton  <crichton@gimp.org>
869         * sparc/tramp.c: Works as well as the old code did.  Cleanup is
870         finished.  The framework now for adding more type support is in,
871         and should be a *lot* cleaner.
872         
873 2002-09-22  Mark Crichton  <crichton@gimp.org>
875         * sparc/tramp.c: Completely broke trampolining on SPARC processors.
876         The code needed a nasty cleanup, so most of it is rewritten.
877         It will be fixed.
879 2002-08-20  Mark Crichton <crichton@gimp.org>
881         * sparc/tramp.c (mono_create_trampoline): Now works on Sparc.  Tested
882         on an Ultra 2 running Linux.
884 Mon Aug 5 19:21:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
886         * x86/tramp.c: fix random memory read in mono_create_method_pointer.
888 2002-08-05  Dietmar Maurer  <dietmar@ximian.com>
890         * x86/tramp.c (mono_create_trampoline): fixed stack_size bug
892 2002-08-01  Dietmar Maurer  <dietmar@ximian.com>
894         * x86/tramp.c (mono_create_method_pointer): allocate space for
895         value types.
896         (mono_create_trampoline): also push the value type pointer for
897         methods returning value types.
898         (mono_create_method_pointer): support valuetype returns.
900 2002-07-31  Dietmar Maurer  <dietmar@ximian.com>
902         * x86/tramp.c: remove code to handle PInvoke because this is no
903         longer needed.
904         (mono_create_method_pointer): return method->addr for pinvoke methods
906 Fri Jul 19 14:18:36 CEST 2002 Paolo Molaro <lupus@ximian.com>
908         * x86/tramp.c: fix float loads. Simple delegate marshaling fix.
910 2002-07-08  Radek Doulik  <rodo@ximian.com>
912         * ppc/tramp.c: marshaling for SZARRAY
914 2002-07-05  Radek Doulik  <rodo@ximian.com>
916         * ppc/tramp.c: removed magic hack
918 Tue Jun 18 10:21:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
920         * x86/tramp.c: marshal simple arrays correctly.
922 2002-05-27  Miguel de Icaza  <miguel@ximian.com>
924         * x86/x86-codegen.h: Set the standard header format.
926 2002-05-23  Dietmar Maurer  <dietmar@ximian.com>
928         * x86/tramp.c (mono_create_method_pointer): removed the magic
929         trick to store the function pointer in the prolog and use the same
930         mechanism as in the jit.
932 2002-05-13  Radek Doulik  <rodo@ximian.com>
934         * ppc/tramp.c (emit_save_parameters): fix I8 parameters
936 2002-05-06  Sergey Chaban  <serge@wildwestsoftware.com>
938         * x86/x86-codegen.h: added missing shifts;
939         8-bit ALU operations (reg-reg);
940         macro for FPU ops with integer operand;
941         FIST macro (without pop);
943 Mon Apr 22 12:57:31 CEST 2002 Paolo Molaro <lupus@ximian.com>
945         * x86/x86-codegen.h: added loop instructions and made x86_patch fully
946         useful.
948 2002-04-20  Dietmar Maurer  <dietmar@ximian.com>
950         * x86/tramp.c (mono_create_trampoline): support internalcall
951         String constructors
953 Sat Apr 6 16:29:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
955         * x86/tramp.c: fix advancement of argument position on the stack.
957 Sat Mar 16 19:12:57 CET 2002 Paolo Molaro <lupus@ximian.com>
959         * x86/tramp.c: increase default allocated size for trampolines
960         and assert on overflow.
962 2002-03-14  Dietmar Maurer  <dietmar@ximian.com>
964         * x86/tramp.c (mono_create_trampoline): dont use fld/fst to copy
965         R8 values
967 Mon Mar 11 16:14:29 CET 2002 Paolo Molaro <lupus@ximian.com>
969         * x86/x86-codegen.h: addex x86_clear_reg() and changed
970         x86_mov_reg_imm() to not check for imm == 0.
972 Thu Feb 28 12:34:21 CET 2002 Paolo Molaro <lupus@ximian.com>
974         * x86/tramp.c: start handling of more complex marshaling stuff.
976 2002-02-25  Sergey Chaban  <serge@wildwestsoftware.com>
978         * arm: added ARM support code.
979         * Makefile.am: added arm to DIST_SUBDIRS.
981 2002-02-24  Radek Doulik  <rodo@ximian.com>
983         * ppc/tramp.c (mono_create_method_pointer): basic delegates
984         implementation, it works for simple delegates now and I am already
985         pretty close to have it working for every delegates, but I am
986         going to sleep and finish it tomorrow?
987         (mono_create_method_pointer): implements delegates with parameters
988         and return value
990 2002-02-22  Jeffrey Stedfast  <fejj@ximian.com>
992         * sparc/tramp.c (mono_create_trampoline): Much tinkering to get
993         the opcodes more correct. Still needs a lot of work.
995 2002-02-19  Radek Doulik  <rodo@ximian.com>
997         * ppc/tramp.c (emit_save_parameters): don't start saving 64bit values to
998         even registers
999         added stack saving for most arguments
1001 Tue Feb 19 20:19:38 CET 2002 Paolo Molaro <lupus@ximian.com>
1003         * x86/tramp.c: avoid pointer arthmetric (pointed out by Serge).
1005 2002-02-17  Radek Doulik  <rodo@ximian.com>
1007         * ppc/tramp.c: fixed minimal stack size, fixed string parameters,
1008         fix byte and half word parameters 
1009         (mono_string_new_wrapper): new helper function, cut&pasted from
1010         x86, modified to check for NULL text to avoid branching in
1011         generated code
1012         (calculate_sizes): updated for string retval changes
1013         (emit_call_and_store_retval): updated for string retval
1015         * ppc/ppc-codegen.h (ppc_mr): added lhz, lbz, sth
1017 2002-02-16  Radek Doulik  <rodo@ximian.com>
1019         * ppc/tramp.c (emit_call_and_store_retval): support U2, I2, CHAR
1021 Mon Feb 11 18:40:04 CET 2002 Paolo Molaro <lupus@ximian.com>
1023         * sparc/*: sparc codegen header and some untested trampoline code.
1025 Mon Feb 11 12:32:35 CET 2002 Paolo Molaro <lupus@ximian.com>
1027         * x86/tramp.c: fix handling of multiple marshaleed strings.
1028         * x86/x86-codegen.h: some code to patch branch displacements.
1030 Fri Feb 1 16:03:00 CET 2002 Paolo Molaro <lupus@ximian.com>
1032         * x86/tramp.c, ppc/tramp.c: implement mono_method_pointer_get ().
1034 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
1036         * x86/tramp.c (mono_create_trampoline): Do not try to create a
1037         mono_string_new if the return value from the PInvoke code is
1038         NULL. 
1040 Mon Jan 14 11:50:16 CET 2002 Paolo Molaro <lupus@ximian.com>
1042         * x86/x86-codegen.c: added overflow condition code and some aliases
1043         for the other ccs.
1045 Thu Jan 10 21:01:08 CET 2002 Paolo Molaro <lupus@ximian.com>
1047         * x86/tramp.c: mono_create_trampoline (): the runtime argument is
1048         needed to handle correctly delegates, the previous change in handling
1049         the string return type broke them.
1051 Tue Jan  8 22:38:41 MST 2002 Matt Kimball <matt@kimball.net>
1052         
1053         * x86/tramp.c: handle strings returned from functions in external 
1054         libraries by converting to a Mono string object after the pinvoke'd 
1055         function returns
1056         
1057 Sat Jan 5 15:51:06 CET 2002 Paolo Molaro <lupus@ximian.com>
1059         * x86/tramp.c: handle short integer return types.
1061 Thu Dec 20 20:13:07 CET 2001 Paolo Molaro <lupus@ximian.com>
1063         * x86/tramp.c: fix create_method_pointer() to pass the arguments
1064         correctly and add check for overflow.
1066 Thu Dec 13 15:56:53 CET 2001 Paolo Molaro <lupus@ximian.com>
1068         * x86/x86-codegen.h: x86_mov_memindex_imm() added.
1069         
1070 2001-11-29  Radek Doulik  <rodo@ximian.com>
1072         * ppc/tramp.c: use r12 which is volatile instead of non-volatile
1073         r14 to avoid saving
1075         * Makefile.am (libmonoarch_la_LIBADD): added ppc to DIST_SUBDIRS
1076         generate libmonoarch for ppc
1078 Tue Nov 27 15:24:07 CET 2001 Paolo Molaro <lupus@ximian.com>
1080         * x96/x86-codegen.c: x86_lea_memindex() added.
1082 Thu Nov 15 17:41:01 CET 2001 Paolo Molaro <lupus@ximian.com>
1084         * x86/tramp.c: handle enums with underlying type different from int32.
1086 Wed Nov 14 19:21:26 CET 2001 Paolo Molaro <lupus@ximian.com>
1088         * x86/tramp.c: handle boolean as a return value.
1089         * x96/x86-codegen.c: x86_widen_memindex() added.
1091 2001-11-07  Miguel de Icaza  <miguel@ximian.com>
1093         * x86/tramp.c: Include stdlib to kill warning.
1095 Mon Oct 22 15:20:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
1097         * x86/tramp.c: handle boolean, u1 and i1 as return values.
1099 Wed Oct 10 16:07:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
1101         * x86/x86-codegen.c: added x86_set_{reg,mem,membase}.
1103 Mon Oct 8 16:13:07 CEST 2001 Paolo Molaro <lupus@ximian.com>
1105         * x86/tramp.c: remove mono_get_ansi_string () and use
1106         mono_string_to_utf8 () instead.
1108 Thu Oct 4 19:09:13 CEST 2001 Paolo Molaro <lupus@ximian.com>
1110         * x86/tramp.c: allow marshalling valuetypes if they are
1111         4 bytes long.
1113 Mon Oct 1 18:48:27 CEST 2001 Paolo Molaro <lupus@ximian.com>
1115         * x86/tramp.c: fix thinko (s/SUB/ADD/) in stack adjustment
1116         and avoid a couple of unnecessary instructions.
1118 Fri Sep 28 19:43:12 CEST 2001 Paolo Molaro <lupus@ximian.com>
1120         * x86/tramp.c: marshal valuetypes that are enums.
1122 Thu Sep 27 15:34:37 CEST 2001 Paolo Molaro <lupus@ximian.com>
1124         * x86/x86-codegen.h: in memindex operand you can use X86_NOBASEREG
1125         as basereg.
1127 Wed Sep 26 16:29:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
1129         * x86/x86-codegen.h: added memindex addressing mode encoding
1130         (and mov to/from register opcodes).
1132 Mon Sep 24 18:49:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
1134         * x86/tramp.c: don't change a MONO_TYPE_STRING to a char*
1135         when it's an argument to an internalcall.
1137 Sun Sep 23 13:44:57 CEST 2001 Paolo Molaro <lupus@ximian.com>
1139         * x86/tramp.c: handle MONO_TYPE_CLASS in trampolines.
1141 2001-09-21  Dietmar Maurer  <dietmar@ximian.com>
1143         * x86/x86-codegen.h (x86_breakpoint): added.
1145 Tue Sep 18 13:23:59 CEST 2001 Paolo Molaro <lupus@ximian.com>
1147         * x86/x86-codegen.h: remove C++ comments.
1149 2001-09-17  Dietmar Maurer  <dietmar@ximian.com>
1151         * x86/x86-codegen.h (x86_alu_reg_reg): replaced src/dest
1153 Mon Sep 10 17:26:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
1155         * Makefile.am, x86/Makefile.am: conditional compile logic
1156         to make porting to different targets easier.
1158 Fri Sep 7 18:43:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
1160         * x86/x86-codegen.h: fixes and x86_mov_membase_imm ().
1161         * x86/tramp.c: implemented mono_create_method_pointer ():
1162         creates a native pointer to a method implementation that can be 
1163         used as a normal C callback.
1165 Thu Sep 6 15:38:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
1167         * x86/x86-codegen.h: added x86_rdtsc() and fixes.
1168         * x86/tramp.c: create trampolines to call pinvoke methods.
1169         * x86/Makefile.am: create a libmonoarch convenience library.
1171 Mon Aug 27 09:29:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
1173         * x86/x86-codegen.h: fix x86_call_code (). x86_mov_regp_reg () added.
1175 Sat Aug 18 12:40:32 CEST 2001 Paolo Molaro <lupus@ximian.com>
1177         * x86/x86-codegen.h: fix a couple of buglets and add x86_regp_emit().
1179 Wed Aug 8 15:30:05 CEST 2001 Paolo Molaro <lupus@ximian.com>
1181         * x86/x86-codegen.h, x86/test.c: added x86 code emitter with
1182         test.