1 2008-12-05 Mark Probst <mark.probst@gmail.com>
3 * ppc/ppc-codegen.h: Added ppc_load_func for PPC32. Added
4 ppc_load/store_multiple_regs and ppc_compare_reg_imm.
6 2008-12-02 Mark Probst <mark.probst@gmail.com>
8 * ppc/ppc-codegen.h: Opcodes for floating point conversions from
11 Code submitted by andreas.faerber@web.de at
12 https://bugzilla.novell.com/show_bug.cgi?id=324134 under the
15 2008-11-28 Mark Probst <mark.probst@gmail.com>
17 * ppc/ppc-codegen.h: #define for the maximum length of a load
20 2008-11-21 Mark Probst <mark.probst@gmail.com>
22 * ppc/ppc-codegen.h: Make ppc_is_[u]imm16() work with 64 bit
25 2008-11-20 Rodrigo Kumpera <rkumpera@novell.com>
27 * x86/x86-codegen.h: Add X86_SSE_MOVHPD_REG_MEMBASE and renamed MOVS to MOVSD.
29 2008-11-20 Rodrigo Kumpera <rkumpera@novell.com>
31 * x86/x86-codegen.h: Add X86_SSE_MOVS_ reg/membase variants.
33 * x86/x86-codegen.h: Add x86_sse_alu_pd_reg_membase_imm.
35 * x86/x86-codegen.h: Sort the x86_sse_alu_* macros decently.
37 2008-11-20 Mark Probst <mark.probst@gmail.com>
39 * ppc/ppc-codegen.h: Use ppc_load_reg instead of ppc_ld in
40 ppc_load_func to fix the 2 bit shift.
42 2008-11-20 Mark Probst <mark.probst@gmail.com>
44 * ppc/ppc-codegen.h: 64 bit division opcodes.
46 Code submitted by andreas.faerber@web.de at
47 https://bugzilla.novell.com/show_bug.cgi?id=324134 under the
50 2008-11-20 Zoltan Varga <vargaz@gmail.com>
52 * arm/Makefile.am (libmonoarch_arm_la_SOURCES): Don't build tramp.c, it is only
53 used by the interpreter.
55 2008-11-20 Rodrigo Kumpera <rkumpera@novell.com>
57 * x86/x86-codegen.h: Add PEXTR B/W/D.
59 2008-11-18 Rodrigo Kumpera <rkumpera@novell.com>
61 * x86/x86-codegen.h: Add PINSR B/W/D.
63 2008-11-18 Mark Probst <mark.probst@gmail.com>
65 * ppc/ppc-codegen.h: Macro for nop added.
67 2008-11-18 Mark Probst <mark.probst@gmail.com>
69 * ppc/ppc-codegen.h: PPC64 code generation macros.
71 Based on code submitted by andreas.faerber@web.de at
72 https://bugzilla.novell.com/show_bug.cgi?id=324134 under the
75 2008-11-18 Mark Probst <mark.probst@gmail.com>
77 * ppc/ppc-codegen.h: A few fixes and additions.
79 Based on code submitted by andreas.faerber@web.de at
80 https://bugzilla.novell.com/show_bug.cgi?id=324134 under the
83 2008-11-17 Rodrigo Kumpera <rkumpera@novell.com>
85 * x86/x86-codegen.h: Fix comment about the version of PCMPGTQ.
87 * x86/x86-codegen.h: Add movsd constant and x86_sse_alu_sd_membase_reg
90 2008-11-17 Rodrigo Kumpera <rkumpera@novell.com>
92 * x86/x86-codegen.h: Add X86_SSE_MOVHPD_MEMBASE_REG constant
93 and x86_sse_alu_pd_membase_reg/x86_sse_alu_membase_reg macros.
95 2008-11-15 Andreas Faerber <andreas.faerber@web.de>
97 * ppc/test.c: Add support for Mac OS X.
99 Code is contributed under MIT/X11 license.
101 2008-11-13 Rodrigo Kumpera <rkumpera@novell.com>
103 * x86/x86-codegen.h: Remove not used macro x86_pshufd_reg_reg.
105 2008-11-04 Rodrigo Kumpera <rkumpera@novell.com>
107 * x86/x86-codegen.h: Add store nta.
109 2008-11-03 Rodrigo Kumpera <rkumpera@novell.com>
111 * x86/x86-codegen.h: Add prefetch instruction
112 and x86_sse_alu_reg_membase macro.
114 2008-10-28 Rodrigo Kumpera <rkumpera@novell.com>
116 * x86/x86-codegen.h: Add long version of the packed integer
119 2008-10-27 Rodrigo Kumpera <rkumpera@novell.com>
121 * x86/x86-codegen.h: Add movddup.
123 2008-10-24 Rodrigo Kumpera <rkumpera@novell.com>
125 * x86/x86-codegen.h: Add signed pack with saturation.
127 2008-10-24 Rodrigo Kumpera <rkumpera@novell.com>
129 * x86/x86-codegen.h: Add signed packed mul high.
131 2008-10-23 Rodrigo Kumpera <rkumpera@novell.com>
133 * x86/x86-codegen.h: Add signed packed max, min, add/sub with saturation
136 2008-10-20 Rodrigo Kumpera <rkumpera@novell.com>
138 * x86/x86-codegen.h: Add multiply and store high.
140 2008-10-17 Rodrigo Kumpera <rkumpera@novell.com>
142 * x86/x86-codegen.h: Add packed int shuffle.
144 2008-10-16 Rodrigo Kumpera <rkumpera@novell.com>
146 * x86/x86-codegen.h: Add packed int compare equals and
149 2008-10-15 Rodrigo Kumpera <rkumpera@novell.com>
151 * x86/x86-codegen.h: Add packed int max/min/avg/shuffle and extract mask.
153 2008-10-14 Rodrigo Kumpera <rkumpera@novell.com>
155 * x86/x86-codegen.h: Add movsldup and movshdup.
157 2008-10-13 Rodrigo Kumpera <rkumpera@novell.com>
159 * x86/x86-codegen.h: Add remaining FP sse1 ops.
160 Add sse ps encoding with imm operand.
161 Add remaining sse1 ops.
163 2008-10-12 Rodrigo Kumpera <rkumpera@novell.com>
165 * x86/x86-codegen.h: Add macro for sse41 ops.
166 Add defined for pack ops, dword shifts/mul/pack.
168 2008-10-11 Zoltan Varga <vargaz@gmail.com>
170 * amd64/amd64-codegen.h (amd64_jump_code_size): Fix the 64 bit support.
172 2008-10-10 Zoltan Varga <vargaz@gmail.com>
174 * amd64/amd64-codegen.h (amd64_jump_code_size): Handle non 32-bit targets.
176 2008-10-09 Rodrigo Kumpera <rkumpera@novell.com>
178 * x86/x86-codegen.h: Add macros for sse shift, pack, unpack,
179 saturated math and packed byte/word/dword math.
181 2008-10-03 Rodrigo Kumpera <rkumpera@novell.com>
183 * x86/x86-codegen.h: Add macros for SSE instructions.
185 2008-09-27 Mark Probst <mark.probst@gmail.com>
187 * ppc/ppc-codegen.h: A few typecasts to fix compiler warnings.
189 2008-09-07 Mark Probst <mark.probst@gmail.com>
191 * ppc/ppc-codegen.h (ppc_load): Inserted cast to fix some
194 2008-06-16 Mark Probst <mark.probst@gmail.com>
196 * amd64/amd64-codegen.h: Removed extraneous parenthesis in a macro
199 2008-06-06 Zoltan Varga <vargaz@gmail.com>
201 * amd64/amd64-codegen.h (amd64_padding_size): Rewrite this to use the
202 instructions recommended by the amd64 manual.
204 2008-04-19 Zoltan Varga <vargaz@gmail.com>
206 * amd64/amd64-codegen.h (amd64_is_imm32): Use gint64 instead of glong because of
209 2008-03-13 Geoff Norton <gnorton@novell.com>
211 * arch/arm/tramp.c: Dont compile this on PLATFORM_MACOSX
213 2008-02-18 Zoltan Varga <vargaz@gmail.com>
215 * amd64/amd64-codegen.h (amd64_movsxd_reg_mem): New codegen macro.
217 2008-02-14 Zoltan Varga <vargaz@gmail.com>
219 * amd64/amd64-codegen.h (amd64_alu_membase8_imm_size): New codegen macro.
221 2008-02-08 Zoltan Varga <vargaz@gmail.com>
223 * arm/arm-codegen.h: Fix the ordering of arguments for some load/store opcodes
224 so they are consistent.
226 2008-01-24 Zoltan Varga <vargaz@gmail.com>
228 * Makefile.am (SUBDIRS): Or if INTERP_SUPPORTED is true.
230 * Makefile.am (SUBDIRS): Only set this on arm.
232 2007-11-20 Zoltan Varga <vargaz@gmail.com>
234 * amd64/amd64-codegen.h (amd64_alu_reg_imm_size): Prefer the smaller
235 instruction encoding.
237 2007-11-03 David S. Miller <davem@davemloft.net>
239 * sparc/sparc-codegen.h (sparc_set32, sparc_set): A plain sethi
240 can be used if the constant value only has the top 22 bits set.
242 2007-11-01 Geoff Norton <gnorton@novell.com>
244 * x86/Makefile.am: Only compile tramp.c if INTERP_SUPPORTED is true
245 Fixes the build on Leopard.
247 2007-11-01 Geoff Norton <gnorton@novell.com>
249 * ppc/Makefile.am: Only compile tramp.c if INTERP_SUPPORTED is true
250 Fixes the build on Leopard.
252 2007-10-26 Jonathan Chambers <joncham@gmail.com>
254 * amd64/amd64-codegen.h: Begin Win64 port. Use AMD64_ARG_REG#
255 defines to access param registers. Replace long usage with
256 gsize as sizeof(long) != sizeof(void*) on Win64.
258 Code is contributed under MIT/X11 license.
260 2007-10-09 Zoltan Varga <vargaz@gmail.com>
262 * amd64/amd64-codegen.h (amd64_jump_membase_size): Remove an unneccesary
263 rex prefix which trips up valgrind.
265 2007-07-14 Zoltan Varga <vargaz@gmail.com>
267 * amd64/amd64-codegen.h: Remove some unused rex prefixes.
269 Wed Jul 4 15:29:07 CEST 2007 Paolo Molaro <lupus@ximian.com>
271 * x86/x86-codegen.h: added minimal sse instructions currently
274 2007-06-13 Randolph Chung <tausq@debian.org>
276 * hppa/hppa-codegen.h: Update with more instructions.
277 * hppa/tramp.c: Disable for linux since we don't support the
280 2007-05-20 Zoltan Varga <vargaz@gmail.com>
282 * amd64/amd64-codegen.h (amd64_call_reg): Remove a got prefix which isn't needed.
284 2007-04-23 Zoltan Varga <vargaz@gmail.com>
286 * alpha/alpha-codegen.h: More alpha port work from
287 Sergey Tikhonov <tsv@solvo.ru>.
289 Mon Mar 12 17:07:32 CET 2007 Paolo Molaro <lupus@ximian.com>
291 * amd64/amd64-codegen.h: removed some useless size rex prefixes.
293 Wed Jan 24 21:00:40 CET 2007 Paolo Molaro <lupus@ximian.com>
295 * arm/arm-codegen.h: fixed encoding of short/byte load/store
296 instructions with negative immediate offsets.
298 Mon Nov 20 17:36:45 CET 2006 Paolo Molaro <lupus@ximian.com>
300 * arm/arm-codegen.h: added suppot for thumb interworking instructions.
302 Wed Nov 15 16:56:53 CET 2006 Paolo Molaro <lupus@ximian.com>
304 * mips/*: fixes by Mark E Mason <mark.e.mason@broadcom.com>.
306 2006-09-12 Zoltan Varga <vargaz@gmail.com>
308 * alpha/alpha-codegen.h: More alpha updates from Sergey Tikhonov <tsv@solvo.ru>.
310 Tue Sep 12 13:09:56 CEST 2006 Paolo Molaro <lupus@ximian.com>
312 * arm/*: VFP floating point format code generation support.
314 2006-09-12 Zoltan Varga <vargaz@gmail.com>
316 * ia64/ia64-codegen.h: Add xmpy_l/u pseudo ops.
318 2006-07-19 Zoltan Varga <vargaz@gmail.com>
320 * amd64/amd64-codegen.h: Fix amd64_mov_mem_reg.
322 * alpha/alpha-codegen.h alpha/test.c alpha/tramp.c: Applied patch from
323 Sergey Tikhonov <tsv@solvo.ru>. Updates to alpha support.
325 Thu Jun 15 16:59:36 CEST 2006 Paolo Molaro <lupus@ximian.com>
327 * ppc/ppc-codegen.h: reduce noisy build warnings by
328 casting to the more commonly used unsigned char type
329 (from johannes@sipsolutions.net (Johannes Berg)).
331 2006-05-14 Zoltan Varga <vargaz@gmail.com>
333 * ia64/ia64-codegen.h (ia64_fetchadd8_acq_hint_pred): Fix encoding of this
336 2006-04-21 Zoltan Varga <vargaz@gmail.com>
338 * Makefile.am (SUBDIRS): Revert the last change as arm depends on the old
341 2006-04-12 Zoltan Varga <vargaz@gmail.com>
343 * sparc/sparc-codegen.h (sparc_inst_i): New disassembly macro.
345 2006-04-04 Zoltan Varga <vargaz@gmail.com>
347 * Makefile.am (SUBDIRS): Avoid compiling subdirs needed by the
350 2005-12-22 Zoltan Varga <vargaz@gmail.com>
352 * sparc/sparc-codegen.h (sparc_membar): Add membar instruction.
354 2005-10-30 Zoltan Varga <vargaz@gmail.com>
356 * ia64/ia64-codegen.h (ia64_m17): Fix a warning.
358 2005-10-16 Zoltan Varga <vargaz@freemail.hu>
360 * amd64/amd64-codegen.h (AMD64_CALLEE_SAVED_REGS): Add %rbp.
362 2005-09-27 Raja R Harinath <rharinath@novell.com>
364 * arm/dpiops.sh, arm/fpaops.h: Output to stdout.
365 * arm/Makefile.am (arm_dpimacros.h, arm_fpamacros.h): Update. Fix
366 for srcdir != builddir.
368 2005-09-11 Zoltan Varga <vargaz@gmail.com>
370 * ia64/ia64-codegen.h (ia64_unw_pop_frames): New unwind macro.
372 2005-09-10 Zoltan Varga <vargaz@gmail.com>
374 * ia64/ia64-codegen.h: Remove 'manual' emitting of instructions.
375 Integrate emission of unwind directives into the assembly macros.
377 2005-09-04 Zoltan Varga <vargaz@gmail.com>
379 * ia64/ia64-codegen.h (ia64_no_stop): New macro.
381 2005-08-27 Zoltan Varga <vargaz@gmail.com>
383 * ia64/ia64-codegen.h: Fix some bugs.
385 * ia64/codegen.c: Update to work with latest ia64-codegen.h
387 2005-08-26 Zoltan Varga <vargaz@gmail.com>
389 * ia64/Makefile.am: Distribute ia64-codegen.h.
391 2005-08-21 Zoltan Varga <vargaz@freemail.hu>
393 * ia64/ia64-codegen.h: Improve ins scheduling and fix some bugs.
395 2005-08-17 Zoltan Varga <vargaz@freemail.hu>
397 * ia64/ia64-codegen.h: Add dependency information for all instructions.
399 2005-07-30 Zoltan Varga <vargaz@freemail.hu>
401 * ia64/ia64-codegen.h: Ongoing IA64 work.
403 Wed Jul 20 18:01:54 BST 2005 Paolo Molaro <lupus@ximian.com>
405 * arm/*: more codegen macros.
407 2005-07-18 Zoltan Varga <vargaz@freemail.hu>
409 * ia64/ia64-codegen.h (ia64_is_adds_imm): Ongoing IA64 work.
411 2005-06-23 Zoltan Varga <vargaz@freemail.hu>
413 * ia64/ia64-codegen.h: Add some new pseudo ops.
415 2005-06-19 Zoltan Varga <vargaz@freemail.hu>
417 * ia64/ia64-codegen.h: Fix encoding of ia64_fclass.
419 2005-06-12 Zoltan Varga <vargaz@freemail.hu>
421 * ia64/ia64-codegen.h: Ongoing IA64 work.
423 2005-06-09 Zoltan Varga <vargaz@freemail.hu>
425 * ia64/ia64-codegen.h: Ongoing IA64 work.
427 2005-05-30 Zoltan Varga <vargaz@freemail.hu>
429 * ia64/codegen.c: Fix it after latest changes.
431 2005-05-29 Zoltan Varga <vargaz@freemail.hu>
433 * ia64/ia64-codegen.h: Ongoing IA64 work.
435 * ia64/ia64-codegen.h: Ongoing IA64 work.
437 2005-05-28 Zoltan Varga <vargaz@freemail.hu>
439 * ia64/ia64-codegen.h: Ongoing IA64 work.
441 * ia64/ia64-codegen.h: Ongoing IA64 work.
443 * ia64/ia64-codegen.h: Ongoing IA64 work.
445 2005-05-26 Zoltan Varga <vargaz@freemail.hu>
447 * ia64/ia64-codegen.h: Ongoing IA64 work.
449 2005-05-22 Zoltan Varga <vargaz@freemail.hu>
451 * ia64/ia64-codegen.h: Ongoing IA64 work.
453 * ia64/ia64-codegen.h: Ongoing IA64 work.
455 * ia64/ia64-codegen.h: Ongoing IA64 work.
457 2005-05-21 Zoltan Varga <vargaz@freemail.hu>
459 * ia64/ia64-codegen.h: Ongoing IA64 work.
461 2005-05-19 Zoltan Varga <vargaz@freemail.hu>
463 * ia64/ia64-codegen.h ia64/codegen.c: Ongoing ia64 work.
465 2005-05-18 Zoltan Varga <vargaz@freemail.hu>
467 * ia64/ia64-codegen.h (ia64_codegen_init): Rename macro parameter.
469 2005-05-14 Zoltan Varga <vargaz@freemail.hu>
471 * Makefile.am: Only compile libmonoarch if the interpreter is compiled.
473 * ia64/ia64-codegen.h: Add IA64 code generation macros.
475 * Makefile.am: Add ia64 subdir.
477 2005-05-05 Zoltan Varga <vargaz@freemail.hu>
479 * alpha/tramp.c: Applied patch from Jakub Bogusz <qboosh@pld-linux.org>.
481 2005-03-28 Zoltan Varga <vargaz@freemail.hu>
483 * amd64/amd64-codegen.h: Avoid emitting a rex in some places.
485 2005-03-15 Zoltan Varga <vargaz@freemail.hu>
487 * amd64/amd64-codegen.h (amd64_emit_rex): Emit a rex when accessing the
490 * amd64/amd64-codegen.h (AMD64_BYTE_REGS): Add AMD64_BYTE_REGS macro.
492 2005-03-14 Zoltan Varga <vargaz@freemail.hu>
494 * amd64/amd64-codegen.h: Add missing AMD64_XMM7.
496 2005-03-13 Zoltan Varga <vargaz@freemail.hu>
498 * amd64/amd64-codegen.h: Remove some unneccesary REXes.
500 2005-03-08 Zoltan Varga <vargaz@freemail.hu>
502 * amd64/amd64-codegen.h (amd64_sse_cvtsi2sd_reg_reg_size): Add _size
503 variants to some sse2 macros.
505 * amd64/amd64-codegen.h (amd64_sse_cvtsd2si_reg_reg): Make this convert
508 2005-03-06 Zoltan Varga <vargaz@freemail.hu>
510 * amd64/amd64-codegen.h: Add some SSE2 instructions.
512 2005-02-20 Zoltan Varga <vargaz@freemail.hu>
514 * amd64/amd64-codegen.h: Add xadd instructions.
516 * amd64/amd64-codegen.h (amd64_jump_code_size): Do not emit a rex.
518 2004-11-25 Zoltan Varga <vargaz@freemail.hu>
520 * amd64/amd64-codegen.h: Updates to support the PIC changes.
522 Fri Nov 19 17:29:22 CET 2004 Paolo Molaro <lupus@ximian.com>
524 * ppc/ppc-codegen.h: counter reg decrement branch values
525 (patch by Geoff Norton <gnorton@customerdna.com>).
527 2004-11-16 Patrik Torstensson <patrik.torstensson@gmail.com>
529 * x86/x86-codegen.h: added opcodes for xadd instructions
531 2004-11-15 Zoltan Varga <vargaz@freemail.hu>
533 * amd64/x86-64-codegen.h: Get rid of this.
535 2004-08-30 Zoltan Varga <vargaz@freemail.hu>
537 * amd64/amd64-codegen.h (amd64_imul_reg_membase_size): Fix REX
540 2004-08-29 Zoltan Varga <vargaz@freemail.hu>
542 * amd64/amd64-codegen.h: More SSE work.
544 * amd64/amd64-codegen.h: Add SSE2 instructions.
546 2004-08-21 Zoltan Varga <vargaz@freemail.hu>
548 * amd64/amd64-codegen.h (X86_IS_BYTE_REG): Redefine X86_IS_BYTE_REG
549 since under amd64, all 16 registers have a low part.
551 2004-08-16 Zoltan Varga <vargaz@freemail.hu>
553 * x86/x86-codegen.h: Add macros for accessing the mod/rm byte.
555 2004-07-30 Zoltan Varga <vargaz@freemail.hu>
557 * amd64/amd64-codegen.h: Ongoing JIT work.
559 2004-07-29 Ben Maurer <bmaurer@ximian.com>
561 * x86/x86-codegen.h: Add opcodes for cmp BYTE PTR [eax], imm
563 2004-07-28 Zoltan Varga <vargaz@freemail.hu>
565 * amd64/amd64-codegen.h: Ongoing JIT work.
567 2004-07-24 Zoltan Varga <vargaz@freemail.hu>
569 * amd64/amd64-codegen.h: Ongoing JIT work.
571 2004-07-23 Zoltan Varga <vargaz@freemail.hu>
573 * amd64/amd64-codegen.h: Ongoing JIT work.
575 2004-07-23 zovarga <vargaz@freemail.hu>
577 * amd64/amd64-codegen.h: Ongoing JIT work.
579 2004-06-30 Zoltan Varga <vargaz@freemail.hu>
581 * sparc/sparc-codegen.h: Add SPARC64 support.
583 2004-05-07 Bernie Solomon <bernard@ugsolutions.com>
585 * ppc/ppc-codegen.h: remove GCC-ism in ppc_emit32
587 2004-04-29 Bernie Solomon <bernard@ugsolutions.com>
589 * ppc/tramp.c: use sizeof (stackval), fix
590 delegate tramp frame layout for Apple
592 2004-04-26 David Waite <mass@akuma.org>
594 * unknown.c: modify to have content for defined platforms (to
597 2004-03-29 Bernie Solomon <bernard@ugsolutions.com>
606 remove child from MonoInvocation as it isn't used.
608 * hppa/hppa-codegen.h:
609 fix displacements in FP instrs
611 2004-03-23 Bernie Solomon <bernard@ugsolutions.com>
613 * hppa/hppa-codegen.h: created
615 * hppa/tramp.c: changed style to be more like
618 * hppa/Makefile.am: add hppa-codegen.h
620 2004-03-16 Zoltan Varga <vargaz@freemail.hu>
622 * sparc/sparc-codegen.h: Add v9 branches with prediction.
624 2004-03-15 Bernie Solomon <bernard@ugsolutions.com>
626 * sparc/sparc-codegen.h: tweak sparc_mov_reg_reg
627 so Sun's dis command recognizes it.
629 2004-03-15 Zoltan Varga <vargaz@freemail.hu>
631 * sparc/sparc-codegen.h: Add some v9 instructions.
633 2004-03-11 Zoltan Varga <vargaz@freemail.hu>
635 * sparc/sparc-codegen.h: Ongoing sparc work.
637 2004-03-07 Duncan Mak <duncan@ximian.com>
639 * Makefile.am: Removed the reference to 'x86-64'. This was the cause
640 of the missing Mono daily tarballs, 'make dist' wasn't working.
642 We do have an 'amd64' directory, but it doesn't make it in 'make
645 2004-02-19 Zoltan Varga <vargaz@freemail.hu>
647 * sparc/sparc-codegen.h: Fix lots of opcodes + add new ones.
649 * sparc/tramp.c: Fix alignment of structures containing doubles.
651 2004-02-02 Zoltan Varga <vargaz@freemail.hu>
653 * sparc/tramp.c: Implement all floating point argument passing conventions in
654 Sparc V8. Also fix structure passing in V8.
656 Thu Nov 13 16:24:29 CET 2003 Paolo Molaro <lupus@ximian.com>
658 * ppc/ppc-codegen.h: fixed most of the incorrect macros from ct.
660 2003-10-31 Zoltan Varga <vargaz@freemail.hu>
662 * */tramp.c (mono_create_method_pointer): Rename to
663 mono_arch_create_method_pointer, move common code to a new function in
666 * */tramp.c (mono_create_trampoline): Rename to
667 mono_arch_create_trampoline for consistency.
669 2003-10-13 Bernie Solomon <bernard@ugsolutions.com>
671 * x86/tramp.c: restore EDX after memcpy call
673 2003-10-13 Bernie Solomon <bernard@ugsolutions.com>
675 * Makefile.am: add hppa subdir
677 * hppa/tramp.c: add initial implementation - this is 64 bit only
678 hppa/Makefile.am hppa/.cvsignore: added
680 2003-10-13 Bernie Solomon <bernard@ugsolutions.com>
682 * sparc/sparc-codegen.h sparc/tramp.c: add initial implementation
683 for V9 (64 bit), cover more 32 bit cases as well.
685 2003-09-03 Zoltan Varga <vargaz@freemail.hu>
687 * x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com).
689 2003-08-21 Zoltan Varga <vargaz@freemail.hu>
691 * x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com).
693 Tue Jul 1 13:03:43 CEST 2003 Paolo Molaro <lupus@ximian.com>
695 * alpha/tramp.c: update from Laramie Leavitt (lar@leavitt.us).
697 2003-05-20 Dietmar Maurer <dietmar@ximian.com>
699 * x86/x86-codegen.h (x86_set_reg): add an assertion - it does
700 not work for all registers.
702 Sat Feb 1 10:59:31 CET 2003 Paolo Molaro <lupus@ximian.com>
704 * alpha/*: update from Laramie.
706 Mon Jan 27 12:49:10 CET 2003 Paolo Molaro <lupus@ximian.com>
708 * alpha/*: start of the port to the alpha architecture by
709 Laramie Leavitt (<lar@leavitt.us>).
711 Tue Jan 21 17:29:53 CET 2003 Paolo Molaro <lupus@ximian.com>
713 * ppc/ppc-codegen.h: completed ppc native code generation by
714 Taylor Christopher P <ct@cs.clemson.edu>.
716 Fri Jan 17 21:14:18 CET 2003 Paolo Molaro <lupus@ximian.com>
718 * ppc/tramp.c: adapted to work for MacOSX (from a patch by
721 2002-11-11 Mark Crichton <crichton@gimp.org>
723 * sparc/tramp.c: Added some disassembly bits for debugging.
725 2002-10-02 Mark Crichton <crichton@gimp.org>
727 * sparc/tramp.c: More cleanup of the trampoline code. Still some
728 problems with it w.r.t. delegates.
730 2002-09-25 Mark Crichton <crichton@gimp.org>
732 * sparc/tramp.c: Off by one error. Whoops. Trampoline code should
735 2002-09-24 Mark Crichton <crichton@gimp.org>
737 * sparc/tramp.c: Works as well as the old code did. Cleanup is
738 finished. The framework now for adding more type support is in,
739 and should be a *lot* cleaner.
741 2002-09-22 Mark Crichton <crichton@gimp.org>
743 * sparc/tramp.c: Completely broke trampolining on SPARC processors.
744 The code needed a nasty cleanup, so most of it is rewritten.
747 2002-08-20 Mark Crichton <crichton@gimp.org>
749 * sparc/tramp.c (mono_create_trampoline): Now works on Sparc. Tested
750 on an Ultra 2 running Linux.
752 Mon Aug 5 19:21:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
754 * x86/tramp.c: fix random memory read in mono_create_method_pointer.
756 2002-08-05 Dietmar Maurer <dietmar@ximian.com>
758 * x86/tramp.c (mono_create_trampoline): fixed stack_size bug
760 2002-08-01 Dietmar Maurer <dietmar@ximian.com>
762 * x86/tramp.c (mono_create_method_pointer): allocate space for
764 (mono_create_trampoline): also push the value type pointer for
765 methods returning value types.
766 (mono_create_method_pointer): support valuetype returns.
768 2002-07-31 Dietmar Maurer <dietmar@ximian.com>
770 * x86/tramp.c: remove code to handle PInvoke because this is no
772 (mono_create_method_pointer): return method->addr for pinvoke methods
774 Fri Jul 19 14:18:36 CEST 2002 Paolo Molaro <lupus@ximian.com>
776 * x86/tramp.c: fix float loads. Simple delegate marshaling fix.
778 2002-07-08 Radek Doulik <rodo@ximian.com>
780 * ppc/tramp.c: marshaling for SZARRAY
782 2002-07-05 Radek Doulik <rodo@ximian.com>
784 * ppc/tramp.c: removed magic hack
786 Tue Jun 18 10:21:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
788 * x86/tramp.c: marshal simple arrays correctly.
790 2002-05-27 Miguel de Icaza <miguel@ximian.com>
792 * x86/x86-codegen.h: Set the standard header format.
794 2002-05-23 Dietmar Maurer <dietmar@ximian.com>
796 * x86/tramp.c (mono_create_method_pointer): removed the magic
797 trick to store the function pointer in the prolog and use the same
798 mechanism as in the jit.
800 2002-05-13 Radek Doulik <rodo@ximian.com>
802 * ppc/tramp.c (emit_save_parameters): fix I8 parameters
804 2002-05-06 Sergey Chaban <serge@wildwestsoftware.com>
806 * x86/x86-codegen.h: added missing shifts;
807 8-bit ALU operations (reg-reg);
808 macro for FPU ops with integer operand;
809 FIST macro (without pop);
811 Mon Apr 22 12:57:31 CEST 2002 Paolo Molaro <lupus@ximian.com>
813 * x86/x86-codegen.h: added loop instructions and made x86_patch fully
816 2002-04-20 Dietmar Maurer <dietmar@ximian.com>
818 * x86/tramp.c (mono_create_trampoline): support internalcall
821 Sat Apr 6 16:29:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
823 * x86/tramp.c: fix advancement of argument position on the stack.
825 Sat Mar 16 19:12:57 CET 2002 Paolo Molaro <lupus@ximian.com>
827 * x86/tramp.c: increase default allocated size for trampolines
828 and assert on overflow.
830 2002-03-14 Dietmar Maurer <dietmar@ximian.com>
832 * x86/tramp.c (mono_create_trampoline): dont use fld/fst to copy
835 Mon Mar 11 16:14:29 CET 2002 Paolo Molaro <lupus@ximian.com>
837 * x86/x86-codegen.h: addex x86_clear_reg() and changed
838 x86_mov_reg_imm() to not check for imm == 0.
840 Thu Feb 28 12:34:21 CET 2002 Paolo Molaro <lupus@ximian.com>
842 * x86/tramp.c: start handling of more complex marshaling stuff.
844 2002-02-25 Sergey Chaban <serge@wildwestsoftware.com>
846 * arm: added ARM support code.
847 * Makefile.am: added arm to DIST_SUBDIRS.
849 2002-02-24 Radek Doulik <rodo@ximian.com>
851 * ppc/tramp.c (mono_create_method_pointer): basic delegates
852 implementation, it works for simple delegates now and I am already
853 pretty close to have it working for every delegates, but I am
854 going to sleep and finish it tomorrow?
855 (mono_create_method_pointer): implements delegates with parameters
858 2002-02-22 Jeffrey Stedfast <fejj@ximian.com>
860 * sparc/tramp.c (mono_create_trampoline): Much tinkering to get
861 the opcodes more correct. Still needs a lot of work.
863 2002-02-19 Radek Doulik <rodo@ximian.com>
865 * ppc/tramp.c (emit_save_parameters): don't start saving 64bit values to
867 added stack saving for most arguments
869 Tue Feb 19 20:19:38 CET 2002 Paolo Molaro <lupus@ximian.com>
871 * x86/tramp.c: avoid pointer arthmetric (pointed out by Serge).
873 2002-02-17 Radek Doulik <rodo@ximian.com>
875 * ppc/tramp.c: fixed minimal stack size, fixed string parameters,
876 fix byte and half word parameters
877 (mono_string_new_wrapper): new helper function, cut&pasted from
878 x86, modified to check for NULL text to avoid branching in
880 (calculate_sizes): updated for string retval changes
881 (emit_call_and_store_retval): updated for string retval
883 * ppc/ppc-codegen.h (ppc_mr): added lhz, lbz, sth
885 2002-02-16 Radek Doulik <rodo@ximian.com>
887 * ppc/tramp.c (emit_call_and_store_retval): support U2, I2, CHAR
889 Mon Feb 11 18:40:04 CET 2002 Paolo Molaro <lupus@ximian.com>
891 * sparc/*: sparc codegen header and some untested trampoline code.
893 Mon Feb 11 12:32:35 CET 2002 Paolo Molaro <lupus@ximian.com>
895 * x86/tramp.c: fix handling of multiple marshaleed strings.
896 * x86/x86-codegen.h: some code to patch branch displacements.
898 Fri Feb 1 16:03:00 CET 2002 Paolo Molaro <lupus@ximian.com>
900 * x86/tramp.c, ppc/tramp.c: implement mono_method_pointer_get ().
902 2002-01-23 Miguel de Icaza <miguel@ximian.com>
904 * x86/tramp.c (mono_create_trampoline): Do not try to create a
905 mono_string_new if the return value from the PInvoke code is
908 Mon Jan 14 11:50:16 CET 2002 Paolo Molaro <lupus@ximian.com>
910 * x86/x86-codegen.c: added overflow condition code and some aliases
913 Thu Jan 10 21:01:08 CET 2002 Paolo Molaro <lupus@ximian.com>
915 * x86/tramp.c: mono_create_trampoline (): the runtime argument is
916 needed to handle correctly delegates, the previous change in handling
917 the string return type broke them.
919 Tue Jan 8 22:38:41 MST 2002 Matt Kimball <matt@kimball.net>
921 * x86/tramp.c: handle strings returned from functions in external
922 libraries by converting to a Mono string object after the pinvoke'd
925 Sat Jan 5 15:51:06 CET 2002 Paolo Molaro <lupus@ximian.com>
927 * x86/tramp.c: handle short integer return types.
929 Thu Dec 20 20:13:07 CET 2001 Paolo Molaro <lupus@ximian.com>
931 * x86/tramp.c: fix create_method_pointer() to pass the arguments
932 correctly and add check for overflow.
934 Thu Dec 13 15:56:53 CET 2001 Paolo Molaro <lupus@ximian.com>
936 * x86/x86-codegen.h: x86_mov_memindex_imm() added.
938 2001-11-29 Radek Doulik <rodo@ximian.com>
940 * ppc/tramp.c: use r12 which is volatile instead of non-volatile
943 * Makefile.am (libmonoarch_la_LIBADD): added ppc to DIST_SUBDIRS
944 generate libmonoarch for ppc
946 Tue Nov 27 15:24:07 CET 2001 Paolo Molaro <lupus@ximian.com>
948 * x96/x86-codegen.c: x86_lea_memindex() added.
950 Thu Nov 15 17:41:01 CET 2001 Paolo Molaro <lupus@ximian.com>
952 * x86/tramp.c: handle enums with underlying type different from int32.
954 Wed Nov 14 19:21:26 CET 2001 Paolo Molaro <lupus@ximian.com>
956 * x86/tramp.c: handle boolean as a return value.
957 * x96/x86-codegen.c: x86_widen_memindex() added.
959 2001-11-07 Miguel de Icaza <miguel@ximian.com>
961 * x86/tramp.c: Include stdlib to kill warning.
963 Mon Oct 22 15:20:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
965 * x86/tramp.c: handle boolean, u1 and i1 as return values.
967 Wed Oct 10 16:07:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
969 * x86/x86-codegen.c: added x86_set_{reg,mem,membase}.
971 Mon Oct 8 16:13:07 CEST 2001 Paolo Molaro <lupus@ximian.com>
973 * x86/tramp.c: remove mono_get_ansi_string () and use
974 mono_string_to_utf8 () instead.
976 Thu Oct 4 19:09:13 CEST 2001 Paolo Molaro <lupus@ximian.com>
978 * x86/tramp.c: allow marshalling valuetypes if they are
981 Mon Oct 1 18:48:27 CEST 2001 Paolo Molaro <lupus@ximian.com>
983 * x86/tramp.c: fix thinko (s/SUB/ADD/) in stack adjustment
984 and avoid a couple of unnecessary instructions.
986 Fri Sep 28 19:43:12 CEST 2001 Paolo Molaro <lupus@ximian.com>
988 * x86/tramp.c: marshal valuetypes that are enums.
990 Thu Sep 27 15:34:37 CEST 2001 Paolo Molaro <lupus@ximian.com>
992 * x86/x86-codegen.h: in memindex operand you can use X86_NOBASEREG
995 Wed Sep 26 16:29:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
997 * x86/x86-codegen.h: added memindex addressing mode encoding
998 (and mov to/from register opcodes).
1000 Mon Sep 24 18:49:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
1002 * x86/tramp.c: don't change a MONO_TYPE_STRING to a char*
1003 when it's an argument to an internalcall.
1005 Sun Sep 23 13:44:57 CEST 2001 Paolo Molaro <lupus@ximian.com>
1007 * x86/tramp.c: handle MONO_TYPE_CLASS in trampolines.
1009 2001-09-21 Dietmar Maurer <dietmar@ximian.com>
1011 * x86/x86-codegen.h (x86_breakpoint): added.
1013 Tue Sep 18 13:23:59 CEST 2001 Paolo Molaro <lupus@ximian.com>
1015 * x86/x86-codegen.h: remove C++ comments.
1017 2001-09-17 Dietmar Maurer <dietmar@ximian.com>
1019 * x86/x86-codegen.h (x86_alu_reg_reg): replaced src/dest
1021 Mon Sep 10 17:26:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
1023 * Makefile.am, x86/Makefile.am: conditional compile logic
1024 to make porting to different targets easier.
1026 Fri Sep 7 18:43:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
1028 * x86/x86-codegen.h: fixes and x86_mov_membase_imm ().
1029 * x86/tramp.c: implemented mono_create_method_pointer ():
1030 creates a native pointer to a method implementation that can be
1031 used as a normal C callback.
1033 Thu Sep 6 15:38:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
1035 * x86/x86-codegen.h: added x86_rdtsc() and fixes.
1036 * x86/tramp.c: create trampolines to call pinvoke methods.
1037 * x86/Makefile.am: create a libmonoarch convenience library.
1039 Mon Aug 27 09:29:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
1041 * x86/x86-codegen.h: fix x86_call_code (). x86_mov_regp_reg () added.
1043 Sat Aug 18 12:40:32 CEST 2001 Paolo Molaro <lupus@ximian.com>
1045 * x86/x86-codegen.h: fix a couple of buglets and add x86_regp_emit().
1047 Wed Aug 8 15:30:05 CEST 2001 Paolo Molaro <lupus@ximian.com>
1049 * x86/x86-codegen.h, x86/test.c: added x86 code emitter with