1 2008-11-15 Andreas Faerber <andreas.faerber@web.de>
3 * ppc/test.c: Add support for Mac OS X.
5 Code is contributed under MIT/X11 license.
7 2008-11-13 Rodrigo Kumpera <rkumpera@novell.com>
9 * x86/x86-codegen.h: Remove not used macro x86_pshufd_reg_reg.
11 2008-11-04 Rodrigo Kumpera <rkumpera@novell.com>
13 * x86/x86-codegen.h: Add store nta.
15 2008-11-03 Rodrigo Kumpera <rkumpera@novell.com>
17 * x86/x86-codegen.h: Add prefetch instruction
18 and x86_sse_alu_reg_membase macro.
20 2008-10-28 Rodrigo Kumpera <rkumpera@novell.com>
22 * x86/x86-codegen.h: Add long version of the packed integer
25 2008-10-27 Rodrigo Kumpera <rkumpera@novell.com>
27 * x86/x86-codegen.h: Add movddup.
29 2008-10-24 Rodrigo Kumpera <rkumpera@novell.com>
31 * x86/x86-codegen.h: Add signed pack with saturation.
33 2008-10-24 Rodrigo Kumpera <rkumpera@novell.com>
35 * x86/x86-codegen.h: Add signed packed mul high.
37 2008-10-23 Rodrigo Kumpera <rkumpera@novell.com>
39 * x86/x86-codegen.h: Add signed packed max, min, add/sub with saturation
42 2008-10-20 Rodrigo Kumpera <rkumpera@novell.com>
44 * x86/x86-codegen.h: Add multiply and store high.
46 2008-10-17 Rodrigo Kumpera <rkumpera@novell.com>
48 * x86/x86-codegen.h: Add packed int shuffle.
50 2008-10-16 Rodrigo Kumpera <rkumpera@novell.com>
52 * x86/x86-codegen.h: Add packed int compare equals and
55 2008-10-15 Rodrigo Kumpera <rkumpera@novell.com>
57 * x86/x86-codegen.h: Add packed int max/min/avg/shuffle and extract mask.
59 2008-10-14 Rodrigo Kumpera <rkumpera@novell.com>
61 * x86/x86-codegen.h: Add movsldup and movshdup.
63 2008-10-13 Rodrigo Kumpera <rkumpera@novell.com>
65 * x86/x86-codegen.h: Add remaining FP sse1 ops.
66 Add sse ps encoding with imm operand.
67 Add remaining sse1 ops.
69 2008-10-12 Rodrigo Kumpera <rkumpera@novell.com>
71 * x86/x86-codegen.h: Add macro for sse41 ops.
72 Add defined for pack ops, dword shifts/mul/pack.
74 2008-10-11 Zoltan Varga <vargaz@gmail.com>
76 * amd64/amd64-codegen.h (amd64_jump_code_size): Fix the 64 bit support.
78 2008-10-10 Zoltan Varga <vargaz@gmail.com>
80 * amd64/amd64-codegen.h (amd64_jump_code_size): Handle non 32-bit targets.
82 2008-10-09 Rodrigo Kumpera <rkumpera@novell.com>
84 * x86/x86-codegen.h: Add macros for sse shift, pack, unpack,
85 saturated math and packed byte/word/dword math.
87 2008-10-03 Rodrigo Kumpera <rkumpera@novell.com>
89 * x86/x86-codegen.h: Add macros for SSE instructions.
91 2008-09-27 Mark Probst <mark.probst@gmail.com>
93 * ppc/ppc-codegen.h: A few typecasts to fix compiler warnings.
95 2008-09-07 Mark Probst <mark.probst@gmail.com>
97 * ppc/ppc-codegen.h (ppc_load): Inserted cast to fix some
100 2008-06-16 Mark Probst <mark.probst@gmail.com>
102 * amd64/amd64-codegen.h: Removed extraneous parenthesis in a macro
105 2008-06-06 Zoltan Varga <vargaz@gmail.com>
107 * amd64/amd64-codegen.h (amd64_padding_size): Rewrite this to use the
108 instructions recommended by the amd64 manual.
110 2008-04-19 Zoltan Varga <vargaz@gmail.com>
112 * amd64/amd64-codegen.h (amd64_is_imm32): Use gint64 instead of glong because of
115 2008-03-13 Geoff Norton <gnorton@novell.com>
117 * arch/arm/tramp.c: Dont compile this on PLATFORM_MACOSX
119 2008-02-18 Zoltan Varga <vargaz@gmail.com>
121 * amd64/amd64-codegen.h (amd64_movsxd_reg_mem): New codegen macro.
123 2008-02-14 Zoltan Varga <vargaz@gmail.com>
125 * amd64/amd64-codegen.h (amd64_alu_membase8_imm_size): New codegen macro.
127 2008-02-08 Zoltan Varga <vargaz@gmail.com>
129 * arm/arm-codegen.h: Fix the ordering of arguments for some load/store opcodes
130 so they are consistent.
132 2008-01-24 Zoltan Varga <vargaz@gmail.com>
134 * Makefile.am (SUBDIRS): Or if INTERP_SUPPORTED is true.
136 * Makefile.am (SUBDIRS): Only set this on arm.
138 2007-11-20 Zoltan Varga <vargaz@gmail.com>
140 * amd64/amd64-codegen.h (amd64_alu_reg_imm_size): Prefer the smaller
141 instruction encoding.
143 2007-11-03 David S. Miller <davem@davemloft.net>
145 * sparc/sparc-codegen.h (sparc_set32, sparc_set): A plain sethi
146 can be used if the constant value only has the top 22 bits set.
148 2007-11-01 Geoff Norton <gnorton@novell.com>
150 * x86/Makefile.am: Only compile tramp.c if INTERP_SUPPORTED is true
151 Fixes the build on Leopard.
153 2007-11-01 Geoff Norton <gnorton@novell.com>
155 * ppc/Makefile.am: Only compile tramp.c if INTERP_SUPPORTED is true
156 Fixes the build on Leopard.
158 2007-10-26 Jonathan Chambers <joncham@gmail.com>
160 * amd64/amd64-codegen.h: Begin Win64 port. Use AMD64_ARG_REG#
161 defines to access param registers. Replace long usage with
162 gsize as sizeof(long) != sizeof(void*) on Win64.
164 Code is contributed under MIT/X11 license.
166 2007-10-09 Zoltan Varga <vargaz@gmail.com>
168 * amd64/amd64-codegen.h (amd64_jump_membase_size): Remove an unneccesary
169 rex prefix which trips up valgrind.
171 2007-07-14 Zoltan Varga <vargaz@gmail.com>
173 * amd64/amd64-codegen.h: Remove some unused rex prefixes.
175 Wed Jul 4 15:29:07 CEST 2007 Paolo Molaro <lupus@ximian.com>
177 * x86/x86-codegen.h: added minimal sse instructions currently
180 2007-06-13 Randolph Chung <tausq@debian.org>
182 * hppa/hppa-codegen.h: Update with more instructions.
183 * hppa/tramp.c: Disable for linux since we don't support the
186 2007-05-20 Zoltan Varga <vargaz@gmail.com>
188 * amd64/amd64-codegen.h (amd64_call_reg): Remove a got prefix which isn't needed.
190 2007-04-23 Zoltan Varga <vargaz@gmail.com>
192 * alpha/alpha-codegen.h: More alpha port work from
193 Sergey Tikhonov <tsv@solvo.ru>.
195 Mon Mar 12 17:07:32 CET 2007 Paolo Molaro <lupus@ximian.com>
197 * amd64/amd64-codegen.h: removed some useless size rex prefixes.
199 Wed Jan 24 21:00:40 CET 2007 Paolo Molaro <lupus@ximian.com>
201 * arm/arm-codegen.h: fixed encoding of short/byte load/store
202 instructions with negative immediate offsets.
204 Mon Nov 20 17:36:45 CET 2006 Paolo Molaro <lupus@ximian.com>
206 * arm/arm-codegen.h: added suppot for thumb interworking instructions.
208 Wed Nov 15 16:56:53 CET 2006 Paolo Molaro <lupus@ximian.com>
210 * mips/*: fixes by Mark E Mason <mark.e.mason@broadcom.com>.
212 2006-09-12 Zoltan Varga <vargaz@gmail.com>
214 * alpha/alpha-codegen.h: More alpha updates from Sergey Tikhonov <tsv@solvo.ru>.
216 Tue Sep 12 13:09:56 CEST 2006 Paolo Molaro <lupus@ximian.com>
218 * arm/*: VFP floating point format code generation support.
220 2006-09-12 Zoltan Varga <vargaz@gmail.com>
222 * ia64/ia64-codegen.h: Add xmpy_l/u pseudo ops.
224 2006-07-19 Zoltan Varga <vargaz@gmail.com>
226 * amd64/amd64-codegen.h: Fix amd64_mov_mem_reg.
228 * alpha/alpha-codegen.h alpha/test.c alpha/tramp.c: Applied patch from
229 Sergey Tikhonov <tsv@solvo.ru>. Updates to alpha support.
231 Thu Jun 15 16:59:36 CEST 2006 Paolo Molaro <lupus@ximian.com>
233 * ppc/ppc-codegen.h: reduce noisy build warnings by
234 casting to the more commonly used unsigned char type
235 (from johannes@sipsolutions.net (Johannes Berg)).
237 2006-05-14 Zoltan Varga <vargaz@gmail.com>
239 * ia64/ia64-codegen.h (ia64_fetchadd8_acq_hint_pred): Fix encoding of this
242 2006-04-21 Zoltan Varga <vargaz@gmail.com>
244 * Makefile.am (SUBDIRS): Revert the last change as arm depends on the old
247 2006-04-12 Zoltan Varga <vargaz@gmail.com>
249 * sparc/sparc-codegen.h (sparc_inst_i): New disassembly macro.
251 2006-04-04 Zoltan Varga <vargaz@gmail.com>
253 * Makefile.am (SUBDIRS): Avoid compiling subdirs needed by the
256 2005-12-22 Zoltan Varga <vargaz@gmail.com>
258 * sparc/sparc-codegen.h (sparc_membar): Add membar instruction.
260 2005-10-30 Zoltan Varga <vargaz@gmail.com>
262 * ia64/ia64-codegen.h (ia64_m17): Fix a warning.
264 2005-10-16 Zoltan Varga <vargaz@freemail.hu>
266 * amd64/amd64-codegen.h (AMD64_CALLEE_SAVED_REGS): Add %rbp.
268 2005-09-27 Raja R Harinath <rharinath@novell.com>
270 * arm/dpiops.sh, arm/fpaops.h: Output to stdout.
271 * arm/Makefile.am (arm_dpimacros.h, arm_fpamacros.h): Update. Fix
272 for srcdir != builddir.
274 2005-09-11 Zoltan Varga <vargaz@gmail.com>
276 * ia64/ia64-codegen.h (ia64_unw_pop_frames): New unwind macro.
278 2005-09-10 Zoltan Varga <vargaz@gmail.com>
280 * ia64/ia64-codegen.h: Remove 'manual' emitting of instructions.
281 Integrate emission of unwind directives into the assembly macros.
283 2005-09-04 Zoltan Varga <vargaz@gmail.com>
285 * ia64/ia64-codegen.h (ia64_no_stop): New macro.
287 2005-08-27 Zoltan Varga <vargaz@gmail.com>
289 * ia64/ia64-codegen.h: Fix some bugs.
291 * ia64/codegen.c: Update to work with latest ia64-codegen.h
293 2005-08-26 Zoltan Varga <vargaz@gmail.com>
295 * ia64/Makefile.am: Distribute ia64-codegen.h.
297 2005-08-21 Zoltan Varga <vargaz@freemail.hu>
299 * ia64/ia64-codegen.h: Improve ins scheduling and fix some bugs.
301 2005-08-17 Zoltan Varga <vargaz@freemail.hu>
303 * ia64/ia64-codegen.h: Add dependency information for all instructions.
305 2005-07-30 Zoltan Varga <vargaz@freemail.hu>
307 * ia64/ia64-codegen.h: Ongoing IA64 work.
309 Wed Jul 20 18:01:54 BST 2005 Paolo Molaro <lupus@ximian.com>
311 * arm/*: more codegen macros.
313 2005-07-18 Zoltan Varga <vargaz@freemail.hu>
315 * ia64/ia64-codegen.h (ia64_is_adds_imm): Ongoing IA64 work.
317 2005-06-23 Zoltan Varga <vargaz@freemail.hu>
319 * ia64/ia64-codegen.h: Add some new pseudo ops.
321 2005-06-19 Zoltan Varga <vargaz@freemail.hu>
323 * ia64/ia64-codegen.h: Fix encoding of ia64_fclass.
325 2005-06-12 Zoltan Varga <vargaz@freemail.hu>
327 * ia64/ia64-codegen.h: Ongoing IA64 work.
329 2005-06-09 Zoltan Varga <vargaz@freemail.hu>
331 * ia64/ia64-codegen.h: Ongoing IA64 work.
333 2005-05-30 Zoltan Varga <vargaz@freemail.hu>
335 * ia64/codegen.c: Fix it after latest changes.
337 2005-05-29 Zoltan Varga <vargaz@freemail.hu>
339 * ia64/ia64-codegen.h: Ongoing IA64 work.
341 * ia64/ia64-codegen.h: Ongoing IA64 work.
343 2005-05-28 Zoltan Varga <vargaz@freemail.hu>
345 * ia64/ia64-codegen.h: Ongoing IA64 work.
347 * ia64/ia64-codegen.h: Ongoing IA64 work.
349 * ia64/ia64-codegen.h: Ongoing IA64 work.
351 2005-05-26 Zoltan Varga <vargaz@freemail.hu>
353 * ia64/ia64-codegen.h: Ongoing IA64 work.
355 2005-05-22 Zoltan Varga <vargaz@freemail.hu>
357 * ia64/ia64-codegen.h: Ongoing IA64 work.
359 * ia64/ia64-codegen.h: Ongoing IA64 work.
361 * ia64/ia64-codegen.h: Ongoing IA64 work.
363 2005-05-21 Zoltan Varga <vargaz@freemail.hu>
365 * ia64/ia64-codegen.h: Ongoing IA64 work.
367 2005-05-19 Zoltan Varga <vargaz@freemail.hu>
369 * ia64/ia64-codegen.h ia64/codegen.c: Ongoing ia64 work.
371 2005-05-18 Zoltan Varga <vargaz@freemail.hu>
373 * ia64/ia64-codegen.h (ia64_codegen_init): Rename macro parameter.
375 2005-05-14 Zoltan Varga <vargaz@freemail.hu>
377 * Makefile.am: Only compile libmonoarch if the interpreter is compiled.
379 * ia64/ia64-codegen.h: Add IA64 code generation macros.
381 * Makefile.am: Add ia64 subdir.
383 2005-05-05 Zoltan Varga <vargaz@freemail.hu>
385 * alpha/tramp.c: Applied patch from Jakub Bogusz <qboosh@pld-linux.org>.
387 2005-03-28 Zoltan Varga <vargaz@freemail.hu>
389 * amd64/amd64-codegen.h: Avoid emitting a rex in some places.
391 2005-03-15 Zoltan Varga <vargaz@freemail.hu>
393 * amd64/amd64-codegen.h (amd64_emit_rex): Emit a rex when accessing the
396 * amd64/amd64-codegen.h (AMD64_BYTE_REGS): Add AMD64_BYTE_REGS macro.
398 2005-03-14 Zoltan Varga <vargaz@freemail.hu>
400 * amd64/amd64-codegen.h: Add missing AMD64_XMM7.
402 2005-03-13 Zoltan Varga <vargaz@freemail.hu>
404 * amd64/amd64-codegen.h: Remove some unneccesary REXes.
406 2005-03-08 Zoltan Varga <vargaz@freemail.hu>
408 * amd64/amd64-codegen.h (amd64_sse_cvtsi2sd_reg_reg_size): Add _size
409 variants to some sse2 macros.
411 * amd64/amd64-codegen.h (amd64_sse_cvtsd2si_reg_reg): Make this convert
414 2005-03-06 Zoltan Varga <vargaz@freemail.hu>
416 * amd64/amd64-codegen.h: Add some SSE2 instructions.
418 2005-02-20 Zoltan Varga <vargaz@freemail.hu>
420 * amd64/amd64-codegen.h: Add xadd instructions.
422 * amd64/amd64-codegen.h (amd64_jump_code_size): Do not emit a rex.
424 2004-11-25 Zoltan Varga <vargaz@freemail.hu>
426 * amd64/amd64-codegen.h: Updates to support the PIC changes.
428 Fri Nov 19 17:29:22 CET 2004 Paolo Molaro <lupus@ximian.com>
430 * ppc/ppc-codegen.h: counter reg decrement branch values
431 (patch by Geoff Norton <gnorton@customerdna.com>).
433 2004-11-16 Patrik Torstensson <patrik.torstensson@gmail.com>
435 * x86/x86-codegen.h: added opcodes for xadd instructions
437 2004-11-15 Zoltan Varga <vargaz@freemail.hu>
439 * amd64/x86-64-codegen.h: Get rid of this.
441 2004-08-30 Zoltan Varga <vargaz@freemail.hu>
443 * amd64/amd64-codegen.h (amd64_imul_reg_membase_size): Fix REX
446 2004-08-29 Zoltan Varga <vargaz@freemail.hu>
448 * amd64/amd64-codegen.h: More SSE work.
450 * amd64/amd64-codegen.h: Add SSE2 instructions.
452 2004-08-21 Zoltan Varga <vargaz@freemail.hu>
454 * amd64/amd64-codegen.h (X86_IS_BYTE_REG): Redefine X86_IS_BYTE_REG
455 since under amd64, all 16 registers have a low part.
457 2004-08-16 Zoltan Varga <vargaz@freemail.hu>
459 * x86/x86-codegen.h: Add macros for accessing the mod/rm byte.
461 2004-07-30 Zoltan Varga <vargaz@freemail.hu>
463 * amd64/amd64-codegen.h: Ongoing JIT work.
465 2004-07-29 Ben Maurer <bmaurer@ximian.com>
467 * x86/x86-codegen.h: Add opcodes for cmp BYTE PTR [eax], imm
469 2004-07-28 Zoltan Varga <vargaz@freemail.hu>
471 * amd64/amd64-codegen.h: Ongoing JIT work.
473 2004-07-24 Zoltan Varga <vargaz@freemail.hu>
475 * amd64/amd64-codegen.h: Ongoing JIT work.
477 2004-07-23 Zoltan Varga <vargaz@freemail.hu>
479 * amd64/amd64-codegen.h: Ongoing JIT work.
481 2004-07-23 zovarga <vargaz@freemail.hu>
483 * amd64/amd64-codegen.h: Ongoing JIT work.
485 2004-06-30 Zoltan Varga <vargaz@freemail.hu>
487 * sparc/sparc-codegen.h: Add SPARC64 support.
489 2004-05-07 Bernie Solomon <bernard@ugsolutions.com>
491 * ppc/ppc-codegen.h: remove GCC-ism in ppc_emit32
493 2004-04-29 Bernie Solomon <bernard@ugsolutions.com>
495 * ppc/tramp.c: use sizeof (stackval), fix
496 delegate tramp frame layout for Apple
498 2004-04-26 David Waite <mass@akuma.org>
500 * unknown.c: modify to have content for defined platforms (to
503 2004-03-29 Bernie Solomon <bernard@ugsolutions.com>
512 remove child from MonoInvocation as it isn't used.
514 * hppa/hppa-codegen.h:
515 fix displacements in FP instrs
517 2004-03-23 Bernie Solomon <bernard@ugsolutions.com>
519 * hppa/hppa-codegen.h: created
521 * hppa/tramp.c: changed style to be more like
524 * hppa/Makefile.am: add hppa-codegen.h
526 2004-03-16 Zoltan Varga <vargaz@freemail.hu>
528 * sparc/sparc-codegen.h: Add v9 branches with prediction.
530 2004-03-15 Bernie Solomon <bernard@ugsolutions.com>
532 * sparc/sparc-codegen.h: tweak sparc_mov_reg_reg
533 so Sun's dis command recognizes it.
535 2004-03-15 Zoltan Varga <vargaz@freemail.hu>
537 * sparc/sparc-codegen.h: Add some v9 instructions.
539 2004-03-11 Zoltan Varga <vargaz@freemail.hu>
541 * sparc/sparc-codegen.h: Ongoing sparc work.
543 2004-03-07 Duncan Mak <duncan@ximian.com>
545 * Makefile.am: Removed the reference to 'x86-64'. This was the cause
546 of the missing Mono daily tarballs, 'make dist' wasn't working.
548 We do have an 'amd64' directory, but it doesn't make it in 'make
551 2004-02-19 Zoltan Varga <vargaz@freemail.hu>
553 * sparc/sparc-codegen.h: Fix lots of opcodes + add new ones.
555 * sparc/tramp.c: Fix alignment of structures containing doubles.
557 2004-02-02 Zoltan Varga <vargaz@freemail.hu>
559 * sparc/tramp.c: Implement all floating point argument passing conventions in
560 Sparc V8. Also fix structure passing in V8.
562 Thu Nov 13 16:24:29 CET 2003 Paolo Molaro <lupus@ximian.com>
564 * ppc/ppc-codegen.h: fixed most of the incorrect macros from ct.
566 2003-10-31 Zoltan Varga <vargaz@freemail.hu>
568 * */tramp.c (mono_create_method_pointer): Rename to
569 mono_arch_create_method_pointer, move common code to a new function in
572 * */tramp.c (mono_create_trampoline): Rename to
573 mono_arch_create_trampoline for consistency.
575 2003-10-13 Bernie Solomon <bernard@ugsolutions.com>
577 * x86/tramp.c: restore EDX after memcpy call
579 2003-10-13 Bernie Solomon <bernard@ugsolutions.com>
581 * Makefile.am: add hppa subdir
583 * hppa/tramp.c: add initial implementation - this is 64 bit only
584 hppa/Makefile.am hppa/.cvsignore: added
586 2003-10-13 Bernie Solomon <bernard@ugsolutions.com>
588 * sparc/sparc-codegen.h sparc/tramp.c: add initial implementation
589 for V9 (64 bit), cover more 32 bit cases as well.
591 2003-09-03 Zoltan Varga <vargaz@freemail.hu>
593 * x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com).
595 2003-08-21 Zoltan Varga <vargaz@freemail.hu>
597 * x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com).
599 Tue Jul 1 13:03:43 CEST 2003 Paolo Molaro <lupus@ximian.com>
601 * alpha/tramp.c: update from Laramie Leavitt (lar@leavitt.us).
603 2003-05-20 Dietmar Maurer <dietmar@ximian.com>
605 * x86/x86-codegen.h (x86_set_reg): add an assertion - it does
606 not work for all registers.
608 Sat Feb 1 10:59:31 CET 2003 Paolo Molaro <lupus@ximian.com>
610 * alpha/*: update from Laramie.
612 Mon Jan 27 12:49:10 CET 2003 Paolo Molaro <lupus@ximian.com>
614 * alpha/*: start of the port to the alpha architecture by
615 Laramie Leavitt (<lar@leavitt.us>).
617 Tue Jan 21 17:29:53 CET 2003 Paolo Molaro <lupus@ximian.com>
619 * ppc/ppc-codegen.h: completed ppc native code generation by
620 Taylor Christopher P <ct@cs.clemson.edu>.
622 Fri Jan 17 21:14:18 CET 2003 Paolo Molaro <lupus@ximian.com>
624 * ppc/tramp.c: adapted to work for MacOSX (from a patch by
627 2002-11-11 Mark Crichton <crichton@gimp.org>
629 * sparc/tramp.c: Added some disassembly bits for debugging.
631 2002-10-02 Mark Crichton <crichton@gimp.org>
633 * sparc/tramp.c: More cleanup of the trampoline code. Still some
634 problems with it w.r.t. delegates.
636 2002-09-25 Mark Crichton <crichton@gimp.org>
638 * sparc/tramp.c: Off by one error. Whoops. Trampoline code should
641 2002-09-24 Mark Crichton <crichton@gimp.org>
643 * sparc/tramp.c: Works as well as the old code did. Cleanup is
644 finished. The framework now for adding more type support is in,
645 and should be a *lot* cleaner.
647 2002-09-22 Mark Crichton <crichton@gimp.org>
649 * sparc/tramp.c: Completely broke trampolining on SPARC processors.
650 The code needed a nasty cleanup, so most of it is rewritten.
653 2002-08-20 Mark Crichton <crichton@gimp.org>
655 * sparc/tramp.c (mono_create_trampoline): Now works on Sparc. Tested
656 on an Ultra 2 running Linux.
658 Mon Aug 5 19:21:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
660 * x86/tramp.c: fix random memory read in mono_create_method_pointer.
662 2002-08-05 Dietmar Maurer <dietmar@ximian.com>
664 * x86/tramp.c (mono_create_trampoline): fixed stack_size bug
666 2002-08-01 Dietmar Maurer <dietmar@ximian.com>
668 * x86/tramp.c (mono_create_method_pointer): allocate space for
670 (mono_create_trampoline): also push the value type pointer for
671 methods returning value types.
672 (mono_create_method_pointer): support valuetype returns.
674 2002-07-31 Dietmar Maurer <dietmar@ximian.com>
676 * x86/tramp.c: remove code to handle PInvoke because this is no
678 (mono_create_method_pointer): return method->addr for pinvoke methods
680 Fri Jul 19 14:18:36 CEST 2002 Paolo Molaro <lupus@ximian.com>
682 * x86/tramp.c: fix float loads. Simple delegate marshaling fix.
684 2002-07-08 Radek Doulik <rodo@ximian.com>
686 * ppc/tramp.c: marshaling for SZARRAY
688 2002-07-05 Radek Doulik <rodo@ximian.com>
690 * ppc/tramp.c: removed magic hack
692 Tue Jun 18 10:21:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
694 * x86/tramp.c: marshal simple arrays correctly.
696 2002-05-27 Miguel de Icaza <miguel@ximian.com>
698 * x86/x86-codegen.h: Set the standard header format.
700 2002-05-23 Dietmar Maurer <dietmar@ximian.com>
702 * x86/tramp.c (mono_create_method_pointer): removed the magic
703 trick to store the function pointer in the prolog and use the same
704 mechanism as in the jit.
706 2002-05-13 Radek Doulik <rodo@ximian.com>
708 * ppc/tramp.c (emit_save_parameters): fix I8 parameters
710 2002-05-06 Sergey Chaban <serge@wildwestsoftware.com>
712 * x86/x86-codegen.h: added missing shifts;
713 8-bit ALU operations (reg-reg);
714 macro for FPU ops with integer operand;
715 FIST macro (without pop);
717 Mon Apr 22 12:57:31 CEST 2002 Paolo Molaro <lupus@ximian.com>
719 * x86/x86-codegen.h: added loop instructions and made x86_patch fully
722 2002-04-20 Dietmar Maurer <dietmar@ximian.com>
724 * x86/tramp.c (mono_create_trampoline): support internalcall
727 Sat Apr 6 16:29:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
729 * x86/tramp.c: fix advancement of argument position on the stack.
731 Sat Mar 16 19:12:57 CET 2002 Paolo Molaro <lupus@ximian.com>
733 * x86/tramp.c: increase default allocated size for trampolines
734 and assert on overflow.
736 2002-03-14 Dietmar Maurer <dietmar@ximian.com>
738 * x86/tramp.c (mono_create_trampoline): dont use fld/fst to copy
741 Mon Mar 11 16:14:29 CET 2002 Paolo Molaro <lupus@ximian.com>
743 * x86/x86-codegen.h: addex x86_clear_reg() and changed
744 x86_mov_reg_imm() to not check for imm == 0.
746 Thu Feb 28 12:34:21 CET 2002 Paolo Molaro <lupus@ximian.com>
748 * x86/tramp.c: start handling of more complex marshaling stuff.
750 2002-02-25 Sergey Chaban <serge@wildwestsoftware.com>
752 * arm: added ARM support code.
753 * Makefile.am: added arm to DIST_SUBDIRS.
755 2002-02-24 Radek Doulik <rodo@ximian.com>
757 * ppc/tramp.c (mono_create_method_pointer): basic delegates
758 implementation, it works for simple delegates now and I am already
759 pretty close to have it working for every delegates, but I am
760 going to sleep and finish it tomorrow?
761 (mono_create_method_pointer): implements delegates with parameters
764 2002-02-22 Jeffrey Stedfast <fejj@ximian.com>
766 * sparc/tramp.c (mono_create_trampoline): Much tinkering to get
767 the opcodes more correct. Still needs a lot of work.
769 2002-02-19 Radek Doulik <rodo@ximian.com>
771 * ppc/tramp.c (emit_save_parameters): don't start saving 64bit values to
773 added stack saving for most arguments
775 Tue Feb 19 20:19:38 CET 2002 Paolo Molaro <lupus@ximian.com>
777 * x86/tramp.c: avoid pointer arthmetric (pointed out by Serge).
779 2002-02-17 Radek Doulik <rodo@ximian.com>
781 * ppc/tramp.c: fixed minimal stack size, fixed string parameters,
782 fix byte and half word parameters
783 (mono_string_new_wrapper): new helper function, cut&pasted from
784 x86, modified to check for NULL text to avoid branching in
786 (calculate_sizes): updated for string retval changes
787 (emit_call_and_store_retval): updated for string retval
789 * ppc/ppc-codegen.h (ppc_mr): added lhz, lbz, sth
791 2002-02-16 Radek Doulik <rodo@ximian.com>
793 * ppc/tramp.c (emit_call_and_store_retval): support U2, I2, CHAR
795 Mon Feb 11 18:40:04 CET 2002 Paolo Molaro <lupus@ximian.com>
797 * sparc/*: sparc codegen header and some untested trampoline code.
799 Mon Feb 11 12:32:35 CET 2002 Paolo Molaro <lupus@ximian.com>
801 * x86/tramp.c: fix handling of multiple marshaleed strings.
802 * x86/x86-codegen.h: some code to patch branch displacements.
804 Fri Feb 1 16:03:00 CET 2002 Paolo Molaro <lupus@ximian.com>
806 * x86/tramp.c, ppc/tramp.c: implement mono_method_pointer_get ().
808 2002-01-23 Miguel de Icaza <miguel@ximian.com>
810 * x86/tramp.c (mono_create_trampoline): Do not try to create a
811 mono_string_new if the return value from the PInvoke code is
814 Mon Jan 14 11:50:16 CET 2002 Paolo Molaro <lupus@ximian.com>
816 * x86/x86-codegen.c: added overflow condition code and some aliases
819 Thu Jan 10 21:01:08 CET 2002 Paolo Molaro <lupus@ximian.com>
821 * x86/tramp.c: mono_create_trampoline (): the runtime argument is
822 needed to handle correctly delegates, the previous change in handling
823 the string return type broke them.
825 Tue Jan 8 22:38:41 MST 2002 Matt Kimball <matt@kimball.net>
827 * x86/tramp.c: handle strings returned from functions in external
828 libraries by converting to a Mono string object after the pinvoke'd
831 Sat Jan 5 15:51:06 CET 2002 Paolo Molaro <lupus@ximian.com>
833 * x86/tramp.c: handle short integer return types.
835 Thu Dec 20 20:13:07 CET 2001 Paolo Molaro <lupus@ximian.com>
837 * x86/tramp.c: fix create_method_pointer() to pass the arguments
838 correctly and add check for overflow.
840 Thu Dec 13 15:56:53 CET 2001 Paolo Molaro <lupus@ximian.com>
842 * x86/x86-codegen.h: x86_mov_memindex_imm() added.
844 2001-11-29 Radek Doulik <rodo@ximian.com>
846 * ppc/tramp.c: use r12 which is volatile instead of non-volatile
849 * Makefile.am (libmonoarch_la_LIBADD): added ppc to DIST_SUBDIRS
850 generate libmonoarch for ppc
852 Tue Nov 27 15:24:07 CET 2001 Paolo Molaro <lupus@ximian.com>
854 * x96/x86-codegen.c: x86_lea_memindex() added.
856 Thu Nov 15 17:41:01 CET 2001 Paolo Molaro <lupus@ximian.com>
858 * x86/tramp.c: handle enums with underlying type different from int32.
860 Wed Nov 14 19:21:26 CET 2001 Paolo Molaro <lupus@ximian.com>
862 * x86/tramp.c: handle boolean as a return value.
863 * x96/x86-codegen.c: x86_widen_memindex() added.
865 2001-11-07 Miguel de Icaza <miguel@ximian.com>
867 * x86/tramp.c: Include stdlib to kill warning.
869 Mon Oct 22 15:20:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
871 * x86/tramp.c: handle boolean, u1 and i1 as return values.
873 Wed Oct 10 16:07:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
875 * x86/x86-codegen.c: added x86_set_{reg,mem,membase}.
877 Mon Oct 8 16:13:07 CEST 2001 Paolo Molaro <lupus@ximian.com>
879 * x86/tramp.c: remove mono_get_ansi_string () and use
880 mono_string_to_utf8 () instead.
882 Thu Oct 4 19:09:13 CEST 2001 Paolo Molaro <lupus@ximian.com>
884 * x86/tramp.c: allow marshalling valuetypes if they are
887 Mon Oct 1 18:48:27 CEST 2001 Paolo Molaro <lupus@ximian.com>
889 * x86/tramp.c: fix thinko (s/SUB/ADD/) in stack adjustment
890 and avoid a couple of unnecessary instructions.
892 Fri Sep 28 19:43:12 CEST 2001 Paolo Molaro <lupus@ximian.com>
894 * x86/tramp.c: marshal valuetypes that are enums.
896 Thu Sep 27 15:34:37 CEST 2001 Paolo Molaro <lupus@ximian.com>
898 * x86/x86-codegen.h: in memindex operand you can use X86_NOBASEREG
901 Wed Sep 26 16:29:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
903 * x86/x86-codegen.h: added memindex addressing mode encoding
904 (and mov to/from register opcodes).
906 Mon Sep 24 18:49:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
908 * x86/tramp.c: don't change a MONO_TYPE_STRING to a char*
909 when it's an argument to an internalcall.
911 Sun Sep 23 13:44:57 CEST 2001 Paolo Molaro <lupus@ximian.com>
913 * x86/tramp.c: handle MONO_TYPE_CLASS in trampolines.
915 2001-09-21 Dietmar Maurer <dietmar@ximian.com>
917 * x86/x86-codegen.h (x86_breakpoint): added.
919 Tue Sep 18 13:23:59 CEST 2001 Paolo Molaro <lupus@ximian.com>
921 * x86/x86-codegen.h: remove C++ comments.
923 2001-09-17 Dietmar Maurer <dietmar@ximian.com>
925 * x86/x86-codegen.h (x86_alu_reg_reg): replaced src/dest
927 Mon Sep 10 17:26:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
929 * Makefile.am, x86/Makefile.am: conditional compile logic
930 to make porting to different targets easier.
932 Fri Sep 7 18:43:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
934 * x86/x86-codegen.h: fixes and x86_mov_membase_imm ().
935 * x86/tramp.c: implemented mono_create_method_pointer ():
936 creates a native pointer to a method implementation that can be
937 used as a normal C callback.
939 Thu Sep 6 15:38:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
941 * x86/x86-codegen.h: added x86_rdtsc() and fixes.
942 * x86/tramp.c: create trampolines to call pinvoke methods.
943 * x86/Makefile.am: create a libmonoarch convenience library.
945 Mon Aug 27 09:29:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
947 * x86/x86-codegen.h: fix x86_call_code (). x86_mov_regp_reg () added.
949 Sat Aug 18 12:40:32 CEST 2001 Paolo Molaro <lupus@ximian.com>
951 * x86/x86-codegen.h: fix a couple of buglets and add x86_regp_emit().
953 Wed Aug 8 15:30:05 CEST 2001 Paolo Molaro <lupus@ximian.com>
955 * x86/x86-codegen.h, x86/test.c: added x86 code emitter with