Prepping for mdoc et. al. move from monodoc/tools to mcs/tools/mdoc...
[mono.git] / mono / arch / ChangeLog
1 2008-10-15  Rodrigo Kumpera  <rkumpera@novell.com>
2
3         * x86/x86-codegen.h: Add packed int max/min/avg/shuffle and extract mask.
4
5 2008-10-14  Rodrigo Kumpera  <rkumpera@novell.com>
6
7         * x86/x86-codegen.h: Add movsldup and movshdup.
8
9 2008-10-13  Rodrigo Kumpera  <rkumpera@novell.com>
10
11         * x86/x86-codegen.h: Add remaining FP sse1 ops.
12         Add sse ps encoding with imm operand.
13         Add remaining sse1 ops.
14
15 2008-10-12  Rodrigo Kumpera  <rkumpera@novell.com>
16
17         * x86/x86-codegen.h: Add macro for sse41 ops.
18         Add defined for pack ops, dword shifts/mul/pack.
19
20 2008-10-11  Zoltan Varga  <vargaz@gmail.com>
21
22         * amd64/amd64-codegen.h (amd64_jump_code_size): Fix the 64 bit support.
23
24 2008-10-10  Zoltan Varga  <vargaz@gmail.com>
25
26         * amd64/amd64-codegen.h (amd64_jump_code_size): Handle non 32-bit targets.
27
28 2008-10-09  Rodrigo Kumpera  <rkumpera@novell.com>
29
30         * x86/x86-codegen.h: Add macros for sse shift, pack, unpack,
31         saturated math and packed byte/word/dword math.
32
33 2008-10-03  Rodrigo Kumpera  <rkumpera@novell.com>
34
35         * x86/x86-codegen.h: Add macros for SSE instructions.
36
37 2008-09-27  Mark Probst  <mark.probst@gmail.com>
38
39         * ppc/ppc-codegen.h: A few typecasts to fix compiler warnings.
40
41 2008-09-07  Mark Probst  <mark.probst@gmail.com>
42
43         * ppc/ppc-codegen.h (ppc_load): Inserted cast to fix some
44         warnings.
45
46 2008-06-16  Mark Probst  <mark.probst@gmail.com>
47
48         * amd64/amd64-codegen.h: Removed extraneous parenthesis in a macro
49         nobody uses.
50
51 2008-06-06  Zoltan Varga  <vargaz@gmail.com>
52
53         * amd64/amd64-codegen.h (amd64_padding_size): Rewrite this to use the
54         instructions recommended by the amd64 manual.
55
56 2008-04-19  Zoltan Varga  <vargaz@gmail.com>
57
58         * amd64/amd64-codegen.h (amd64_is_imm32): Use gint64 instead of glong because of
59         win64.
60
61 2008-03-13  Geoff Norton  <gnorton@novell.com>
62
63         * arch/arm/tramp.c:  Dont compile this on PLATFORM_MACOSX
64
65 2008-02-18  Zoltan Varga  <vargaz@gmail.com>
66
67         * amd64/amd64-codegen.h (amd64_movsxd_reg_mem): New codegen macro.
68
69 2008-02-14  Zoltan Varga  <vargaz@gmail.com>
70
71         * amd64/amd64-codegen.h (amd64_alu_membase8_imm_size): New codegen macro.
72
73 2008-02-08  Zoltan Varga  <vargaz@gmail.com>
74
75         * arm/arm-codegen.h: Fix the ordering of arguments for some load/store opcodes
76         so they are consistent.
77
78 2008-01-24  Zoltan Varga  <vargaz@gmail.com>
79
80         * Makefile.am (SUBDIRS): Or if INTERP_SUPPORTED is true.
81         
82         * Makefile.am (SUBDIRS): Only set this on arm.
83
84 2007-11-20  Zoltan Varga  <vargaz@gmail.com>
85
86         * amd64/amd64-codegen.h (amd64_alu_reg_imm_size): Prefer the smaller 
87         instruction encoding.
88
89 2007-11-03  David S. Miller  <davem@davemloft.net>
90
91        * sparc/sparc-codegen.h (sparc_set32, sparc_set): A plain sethi
92        can be used if the constant value only has the top 22 bits set.
93
94 2007-11-01  Geoff Norton  <gnorton@novell.com>
95
96         * x86/Makefile.am:  Only compile tramp.c if INTERP_SUPPORTED is true
97         Fixes the build on Leopard.
98
99 2007-11-01  Geoff Norton  <gnorton@novell.com>
100
101         * ppc/Makefile.am:  Only compile tramp.c if INTERP_SUPPORTED is true
102         Fixes the build on Leopard.
103
104 2007-10-26  Jonathan Chambers <joncham@gmail.com>
105
106         * amd64/amd64-codegen.h: Begin Win64 port. Use AMD64_ARG_REG#
107         defines to access param registers. Replace long usage with
108         gsize as sizeof(long) != sizeof(void*) on Win64.
109
110         Code is contributed under MIT/X11 license.
111
112 2007-10-09  Zoltan Varga  <vargaz@gmail.com>
113
114         * amd64/amd64-codegen.h (amd64_jump_membase_size): Remove an unneccesary
115         rex prefix which trips up valgrind.
116
117 2007-07-14  Zoltan Varga  <vargaz@gmail.com>
118
119         * amd64/amd64-codegen.h: Remove some unused rex prefixes.
120
121 Wed Jul 4 15:29:07 CEST 2007 Paolo Molaro <lupus@ximian.com>
122
123         * x86/x86-codegen.h: added minimal sse instructions currently
124         needed by the JIT.
125
126 2007-06-13  Randolph Chung  <tausq@debian.org>
127
128         * hppa/hppa-codegen.h: Update with more instructions.
129         * hppa/tramp.c: Disable for linux since we don't support the
130         interpreter.
131
132 2007-05-20  Zoltan Varga  <vargaz@gmail.com>
133
134         * amd64/amd64-codegen.h (amd64_call_reg): Remove a got prefix which isn't needed.
135
136 2007-04-23  Zoltan Varga  <vargaz@gmail.com>
137
138         * alpha/alpha-codegen.h: More alpha port work from 
139         Sergey Tikhonov <tsv@solvo.ru>.
140
141 Mon Mar 12 17:07:32 CET 2007 Paolo Molaro <lupus@ximian.com>
142
143         * amd64/amd64-codegen.h: removed some useless size rex prefixes.
144
145 Wed Jan 24 21:00:40 CET 2007 Paolo Molaro <lupus@ximian.com>
146
147         * arm/arm-codegen.h: fixed encoding of short/byte load/store
148         instructions with negative immediate offsets.
149
150 Mon Nov 20 17:36:45 CET 2006 Paolo Molaro <lupus@ximian.com>
151
152         * arm/arm-codegen.h: added suppot for thumb interworking instructions.
153
154 Wed Nov 15 16:56:53 CET 2006 Paolo Molaro <lupus@ximian.com>
155
156         * mips/*: fixes by Mark E Mason <mark.e.mason@broadcom.com>.
157
158 2006-09-12  Zoltan Varga  <vargaz@gmail.com>
159
160         * alpha/alpha-codegen.h: More alpha updates from Sergey Tikhonov <tsv@solvo.ru>.
161
162 Tue Sep 12 13:09:56 CEST 2006 Paolo Molaro <lupus@ximian.com>
163
164         * arm/*: VFP floating point format code generation support.
165
166 2006-09-12  Zoltan Varga  <vargaz@gmail.com>
167
168         * ia64/ia64-codegen.h: Add xmpy_l/u pseudo ops.
169
170 2006-07-19  Zoltan Varga  <vargaz@gmail.com>
171
172         * amd64/amd64-codegen.h: Fix amd64_mov_mem_reg.
173
174         * alpha/alpha-codegen.h alpha/test.c alpha/tramp.c: Applied patch from 
175         Sergey Tikhonov <tsv@solvo.ru>. Updates to alpha support.
176
177 Thu Jun 15 16:59:36 CEST 2006 Paolo Molaro <lupus@ximian.com>
178
179         * ppc/ppc-codegen.h: reduce noisy build warnings by
180         casting to the more commonly used unsigned char type
181         (from johannes@sipsolutions.net (Johannes Berg)).
182
183 2006-05-14  Zoltan Varga  <vargaz@gmail.com>
184
185         * ia64/ia64-codegen.h (ia64_fetchadd8_acq_hint_pred): Fix encoding of this
186         opcode.
187
188 2006-04-21  Zoltan Varga  <vargaz@gmail.com>
189
190         * Makefile.am (SUBDIRS): Revert the last change as arm depends on the old
191         behaviour.
192
193 2006-04-12  Zoltan Varga  <vargaz@gmail.com>
194
195         * sparc/sparc-codegen.h (sparc_inst_i): New disassembly macro.
196
197 2006-04-04  Zoltan Varga  <vargaz@gmail.com>
198
199         * Makefile.am (SUBDIRS): Avoid compiling subdirs needed by the
200         interpreter.
201
202 2005-12-22  Zoltan Varga  <vargaz@gmail.com>
203
204         * sparc/sparc-codegen.h (sparc_membar): Add membar instruction.
205
206 2005-10-30  Zoltan Varga  <vargaz@gmail.com>
207
208         * ia64/ia64-codegen.h (ia64_m17): Fix a warning.
209
210 2005-10-16  Zoltan Varga  <vargaz@freemail.hu>
211
212         * amd64/amd64-codegen.h (AMD64_CALLEE_SAVED_REGS): Add %rbp.
213
214 2005-09-27  Raja R Harinath  <rharinath@novell.com>
215
216         * arm/dpiops.sh, arm/fpaops.h: Output to stdout.
217         * arm/Makefile.am (arm_dpimacros.h, arm_fpamacros.h): Update.  Fix
218         for srcdir != builddir.
219
220 2005-09-11  Zoltan Varga  <vargaz@gmail.com>
221
222         * ia64/ia64-codegen.h (ia64_unw_pop_frames): New unwind macro.
223
224 2005-09-10  Zoltan Varga  <vargaz@gmail.com>
225
226         * ia64/ia64-codegen.h: Remove 'manual' emitting of instructions. 
227         Integrate emission of unwind directives into the assembly macros.
228
229 2005-09-04  Zoltan Varga  <vargaz@gmail.com>
230
231         * ia64/ia64-codegen.h (ia64_no_stop): New macro.
232
233 2005-08-27  Zoltan Varga  <vargaz@gmail.com>
234
235         * ia64/ia64-codegen.h: Fix some bugs.
236
237         * ia64/codegen.c: Update to work with latest ia64-codegen.h
238
239 2005-08-26  Zoltan Varga  <vargaz@gmail.com>
240
241         * ia64/Makefile.am: Distribute ia64-codegen.h.
242
243 2005-08-21  Zoltan Varga  <vargaz@freemail.hu>
244
245         * ia64/ia64-codegen.h: Improve ins scheduling and fix some bugs.
246
247 2005-08-17  Zoltan Varga  <vargaz@freemail.hu>
248
249         * ia64/ia64-codegen.h: Add dependency information for all instructions.
250
251 2005-07-30  Zoltan Varga  <vargaz@freemail.hu>
252
253         * ia64/ia64-codegen.h: Ongoing IA64 work.
254
255 Wed Jul 20 18:01:54 BST 2005 Paolo Molaro <lupus@ximian.com>
256
257         * arm/*: more codegen macros.
258
259 2005-07-18  Zoltan Varga  <vargaz@freemail.hu>
260
261         * ia64/ia64-codegen.h (ia64_is_adds_imm): Ongoing IA64 work.
262
263 2005-06-23  Zoltan Varga  <vargaz@freemail.hu>
264
265         * ia64/ia64-codegen.h: Add some new pseudo ops.
266
267 2005-06-19  Zoltan Varga  <vargaz@freemail.hu>
268
269         * ia64/ia64-codegen.h: Fix encoding of ia64_fclass.
270
271 2005-06-12  Zoltan Varga  <vargaz@freemail.hu>
272
273         * ia64/ia64-codegen.h: Ongoing IA64 work.
274
275 2005-06-09  Zoltan Varga  <vargaz@freemail.hu>
276
277         * ia64/ia64-codegen.h: Ongoing IA64 work.
278
279 2005-05-30  Zoltan Varga  <vargaz@freemail.hu>
280
281         * ia64/codegen.c: Fix it after latest changes.
282
283 2005-05-29  Zoltan Varga  <vargaz@freemail.hu>
284
285         * ia64/ia64-codegen.h: Ongoing IA64 work.
286         
287         * ia64/ia64-codegen.h: Ongoing IA64 work.
288
289 2005-05-28  Zoltan Varga  <vargaz@freemail.hu>
290
291         * ia64/ia64-codegen.h: Ongoing IA64 work.
292         
293         * ia64/ia64-codegen.h: Ongoing IA64 work.
294
295         * ia64/ia64-codegen.h: Ongoing IA64 work.
296
297 2005-05-26  Zoltan Varga  <vargaz@freemail.hu>
298
299         * ia64/ia64-codegen.h: Ongoing IA64 work.
300
301 2005-05-22  Zoltan Varga  <vargaz@freemail.hu>
302
303         * ia64/ia64-codegen.h: Ongoing IA64 work.
304         
305         * ia64/ia64-codegen.h: Ongoing IA64 work.
306
307         * ia64/ia64-codegen.h: Ongoing IA64 work.
308
309 2005-05-21  Zoltan Varga  <vargaz@freemail.hu>
310
311         * ia64/ia64-codegen.h: Ongoing IA64 work.
312
313 2005-05-19  Zoltan Varga  <vargaz@freemail.hu>
314
315         * ia64/ia64-codegen.h ia64/codegen.c: Ongoing ia64 work.
316
317 2005-05-18  Zoltan Varga  <vargaz@freemail.hu>
318
319         * ia64/ia64-codegen.h (ia64_codegen_init): Rename macro parameter.
320
321 2005-05-14  Zoltan Varga  <vargaz@freemail.hu>
322
323         * Makefile.am: Only compile libmonoarch if the interpreter is compiled.
324
325         * ia64/ia64-codegen.h: Add IA64 code generation macros.
326
327         * Makefile.am: Add ia64 subdir.
328
329 2005-05-05  Zoltan Varga  <vargaz@freemail.hu>
330
331         * alpha/tramp.c: Applied patch from Jakub Bogusz <qboosh@pld-linux.org>.
332
333 2005-03-28  Zoltan Varga  <vargaz@freemail.hu>
334
335         * amd64/amd64-codegen.h: Avoid emitting a rex in some places.
336
337 2005-03-15  Zoltan Varga  <vargaz@freemail.hu>
338
339         * amd64/amd64-codegen.h (amd64_emit_rex): Emit a rex when accessing the
340         byte registers.
341         
342         * amd64/amd64-codegen.h (AMD64_BYTE_REGS): Add AMD64_BYTE_REGS macro.
343
344 2005-03-14  Zoltan Varga  <vargaz@freemail.hu>
345
346         * amd64/amd64-codegen.h: Add missing AMD64_XMM7.
347
348 2005-03-13  Zoltan Varga  <vargaz@freemail.hu>
349
350         * amd64/amd64-codegen.h: Remove some unneccesary REXes.
351
352 2005-03-08  Zoltan Varga  <vargaz@freemail.hu>
353
354         * amd64/amd64-codegen.h (amd64_sse_cvtsi2sd_reg_reg_size): Add _size
355         variants to some sse2 macros.
356
357         * amd64/amd64-codegen.h (amd64_sse_cvtsd2si_reg_reg): Make this convert
358         to a 64 bit value.
359
360 2005-03-06  Zoltan Varga  <vargaz@freemail.hu>
361
362         * amd64/amd64-codegen.h: Add some SSE2 instructions.
363
364 2005-02-20  Zoltan Varga  <vargaz@freemail.hu>
365
366         * amd64/amd64-codegen.h: Add xadd instructions.
367         
368         * amd64/amd64-codegen.h (amd64_jump_code_size): Do not emit a rex.
369
370 2004-11-25  Zoltan Varga  <vargaz@freemail.hu>
371
372         * amd64/amd64-codegen.h: Updates to support the PIC changes.
373
374 Fri Nov 19 17:29:22 CET 2004 Paolo Molaro <lupus@ximian.com>
375
376         * ppc/ppc-codegen.h: counter reg decrement branch values
377         (patch by Geoff Norton <gnorton@customerdna.com>).
378
379 2004-11-16  Patrik Torstensson <patrik.torstensson@gmail.com>
380
381         * x86/x86-codegen.h: added opcodes for xadd instructions
382
383 2004-11-15  Zoltan Varga  <vargaz@freemail.hu>
384
385         * amd64/x86-64-codegen.h: Get rid of this.
386
387 2004-08-30  Zoltan Varga  <vargaz@freemail.hu>
388
389         * amd64/amd64-codegen.h (amd64_imul_reg_membase_size): Fix REX
390         generation.
391
392 2004-08-29  Zoltan Varga  <vargaz@freemail.hu>
393
394         * amd64/amd64-codegen.h: More SSE work.
395         
396         * amd64/amd64-codegen.h: Add SSE2 instructions.
397
398 2004-08-21  Zoltan Varga  <vargaz@freemail.hu>
399
400         * amd64/amd64-codegen.h (X86_IS_BYTE_REG): Redefine X86_IS_BYTE_REG
401         since under amd64, all 16 registers have a low part.
402
403 2004-08-16  Zoltan Varga  <vargaz@freemail.hu>
404
405         * x86/x86-codegen.h: Add macros for accessing the mod/rm byte.
406
407 2004-07-30  Zoltan Varga  <vargaz@freemail.hu>
408
409         * amd64/amd64-codegen.h: Ongoing JIT work.
410
411 2004-07-29  Ben Maurer  <bmaurer@ximian.com>
412
413         * x86/x86-codegen.h: Add opcodes for cmp BYTE PTR [eax], imm
414
415 2004-07-28  Zoltan Varga  <vargaz@freemail.hu>
416
417         * amd64/amd64-codegen.h: Ongoing JIT work.
418
419 2004-07-24  Zoltan Varga  <vargaz@freemail.hu>
420
421         * amd64/amd64-codegen.h: Ongoing JIT work.
422
423 2004-07-23  Zoltan Varga  <vargaz@freemail.hu>
424
425         * amd64/amd64-codegen.h: Ongoing JIT work.
426
427 2004-07-23  zovarga  <vargaz@freemail.hu>
428
429         * amd64/amd64-codegen.h: Ongoing JIT work.
430
431 2004-06-30  Zoltan Varga  <vargaz@freemail.hu>
432
433         * sparc/sparc-codegen.h: Add SPARC64 support.
434
435 2004-05-07  Bernie Solomon  <bernard@ugsolutions.com>
436
437         * ppc/ppc-codegen.h: remove GCC-ism in ppc_emit32
438
439 2004-04-29  Bernie Solomon  <bernard@ugsolutions.com>
440
441         * ppc/tramp.c: use sizeof (stackval), fix
442         delegate tramp frame layout for Apple
443
444 2004-04-26  David Waite <mass@akuma.org>
445
446         * unknown.c: modify to have content for defined platforms (to
447         avoid ISO C warning)
448
449 2004-03-29  Bernie Solomon  <bernard@ugsolutions.com>
450
451         * amd64/tramp.c:
452         * arm/tramp.c:
453         * hppa/tramp.c:
454         * ppc/tramp.c:
455         * s390/tramp.c:
456         * sparc/tramp.c:
457         * x86/tramp.c:
458         remove child from MonoInvocation as it isn't used.
459
460         * hppa/hppa-codegen.h:
461         fix displacements in FP instrs
462
463 2004-03-23  Bernie Solomon  <bernard@ugsolutions.com>
464
465         * hppa/hppa-codegen.h: created
466
467         * hppa/tramp.c: changed style to be more like
468         other platforms.
469
470         * hppa/Makefile.am: add hppa-codegen.h
471
472 2004-03-16  Zoltan Varga  <vargaz@freemail.hu>
473
474         * sparc/sparc-codegen.h: Add v9 branches with prediction.
475
476 2004-03-15  Bernie Solomon  <bernard@ugsolutions.com>
477
478         * sparc/sparc-codegen.h: tweak sparc_mov_reg_reg
479         so Sun's dis command recognizes it.
480
481 2004-03-15  Zoltan Varga  <vargaz@freemail.hu>
482
483         * sparc/sparc-codegen.h: Add some v9 instructions.
484
485 2004-03-11  Zoltan Varga  <vargaz@freemail.hu>
486
487         * sparc/sparc-codegen.h: Ongoing sparc work.
488
489 2004-03-07  Duncan Mak  <duncan@ximian.com>
490
491         * Makefile.am: Removed the reference to 'x86-64'. This was the cause
492         of the missing Mono daily tarballs, 'make dist' wasn't working.
493         
494         We do have an 'amd64' directory, but it doesn't make it in 'make
495         dist'.
496
497 2004-02-19  Zoltan Varga  <vargaz@freemail.hu>
498
499         * sparc/sparc-codegen.h: Fix lots of opcodes + add new ones.
500
501         * sparc/tramp.c: Fix alignment of structures containing doubles.
502
503 2004-02-02  Zoltan Varga  <vargaz@freemail.hu>
504
505         * sparc/tramp.c: Implement all floating point argument passing conventions in
506         Sparc V8. Also fix structure passing in V8.
507
508 Thu Nov 13 16:24:29 CET 2003 Paolo Molaro <lupus@ximian.com>
509
510         * ppc/ppc-codegen.h: fixed most of the incorrect macros from ct.
511
512 2003-10-31  Zoltan Varga  <vargaz@freemail.hu>
513
514         * */tramp.c (mono_create_method_pointer): Rename to 
515         mono_arch_create_method_pointer, move common code to a new function in
516         interp.c.
517
518         * */tramp.c (mono_create_trampoline): Rename to 
519         mono_arch_create_trampoline for consistency.
520         
521 2003-10-13  Bernie Solomon  <bernard@ugsolutions.com>
522
523         * x86/tramp.c: restore EDX after memcpy call
524
525 2003-10-13  Bernie Solomon  <bernard@ugsolutions.com>
526
527         * Makefile.am: add hppa subdir 
528
529         * hppa/tramp.c: add initial implementation - this is 64 bit only
530         hppa/Makefile.am hppa/.cvsignore: added
531
532 2003-10-13  Bernie Solomon  <bernard@ugsolutions.com>
533
534         * sparc/sparc-codegen.h sparc/tramp.c: add initial implementation
535         for V9 (64 bit), cover more 32 bit cases as well.
536
537 2003-09-03  Zoltan Varga  <vargaz@freemail.hu>
538
539         * x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com).
540
541 2003-08-21  Zoltan Varga  <vargaz@freemail.hu>
542
543         * x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com).
544
545 Tue Jul 1 13:03:43 CEST 2003 Paolo Molaro <lupus@ximian.com>
546
547         * alpha/tramp.c: update from Laramie Leavitt (lar@leavitt.us).
548
549 2003-05-20  Dietmar Maurer  <dietmar@ximian.com>
550
551         * x86/x86-codegen.h (x86_set_reg): add an assertion - it does
552         not work for all registers.
553
554 Sat Feb 1 10:59:31 CET 2003 Paolo Molaro <lupus@ximian.com>
555
556         * alpha/*: update from Laramie.
557
558 Mon Jan 27 12:49:10 CET 2003 Paolo Molaro <lupus@ximian.com>
559
560         * alpha/*: start of the port to the alpha architecture by
561         Laramie Leavitt (<lar@leavitt.us>).
562
563 Tue Jan 21 17:29:53 CET 2003 Paolo Molaro <lupus@ximian.com>
564
565         * ppc/ppc-codegen.h: completed ppc native code generation by
566         Taylor Christopher P <ct@cs.clemson.edu>.
567
568 Fri Jan 17 21:14:18 CET 2003 Paolo Molaro <lupus@ximian.com>
569
570         * ppc/tramp.c: adapted to work for MacOSX (from a patch by 
571         John Duncan).
572
573 2002-11-11  Mark Crichton  <crichton@gimp.org>
574
575         * sparc/tramp.c: Added some disassembly bits for debugging.
576
577 2002-10-02  Mark Crichton  <crichton@gimp.org>
578
579         * sparc/tramp.c: More cleanup of the trampoline code.  Still some
580         problems with it w.r.t. delegates.
581
582 2002-09-25  Mark Crichton  <crichton@gimp.org>
583
584         * sparc/tramp.c: Off by one error.  Whoops.  Trampoline code should
585         now work properly.
586
587 2002-09-24  Mark Crichton  <crichton@gimp.org>
588
589         * sparc/tramp.c: Works as well as the old code did.  Cleanup is
590         finished.  The framework now for adding more type support is in,
591         and should be a *lot* cleaner.
592         
593 2002-09-22  Mark Crichton  <crichton@gimp.org>
594
595         * sparc/tramp.c: Completely broke trampolining on SPARC processors.
596         The code needed a nasty cleanup, so most of it is rewritten.
597         It will be fixed.
598
599 2002-08-20  Mark Crichton <crichton@gimp.org>
600
601         * sparc/tramp.c (mono_create_trampoline): Now works on Sparc.  Tested
602         on an Ultra 2 running Linux.
603
604 Mon Aug 5 19:21:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
605
606         * x86/tramp.c: fix random memory read in mono_create_method_pointer.
607
608 2002-08-05  Dietmar Maurer  <dietmar@ximian.com>
609
610         * x86/tramp.c (mono_create_trampoline): fixed stack_size bug
611
612 2002-08-01  Dietmar Maurer  <dietmar@ximian.com>
613
614         * x86/tramp.c (mono_create_method_pointer): allocate space for
615         value types.
616         (mono_create_trampoline): also push the value type pointer for
617         methods returning value types.
618         (mono_create_method_pointer): support valuetype returns.
619
620 2002-07-31  Dietmar Maurer  <dietmar@ximian.com>
621
622         * x86/tramp.c: remove code to handle PInvoke because this is no
623         longer needed.
624         (mono_create_method_pointer): return method->addr for pinvoke methods
625
626 Fri Jul 19 14:18:36 CEST 2002 Paolo Molaro <lupus@ximian.com>
627
628         * x86/tramp.c: fix float loads. Simple delegate marshaling fix.
629
630 2002-07-08  Radek Doulik  <rodo@ximian.com>
631
632         * ppc/tramp.c: marshaling for SZARRAY
633
634 2002-07-05  Radek Doulik  <rodo@ximian.com>
635
636         * ppc/tramp.c: removed magic hack
637
638 Tue Jun 18 10:21:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
639
640         * x86/tramp.c: marshal simple arrays correctly.
641
642 2002-05-27  Miguel de Icaza  <miguel@ximian.com>
643
644         * x86/x86-codegen.h: Set the standard header format.
645
646 2002-05-23  Dietmar Maurer  <dietmar@ximian.com>
647
648         * x86/tramp.c (mono_create_method_pointer): removed the magic
649         trick to store the function pointer in the prolog and use the same
650         mechanism as in the jit.
651
652 2002-05-13  Radek Doulik  <rodo@ximian.com>
653
654         * ppc/tramp.c (emit_save_parameters): fix I8 parameters
655
656 2002-05-06  Sergey Chaban  <serge@wildwestsoftware.com>
657
658         * x86/x86-codegen.h: added missing shifts;
659         8-bit ALU operations (reg-reg);
660         macro for FPU ops with integer operand;
661         FIST macro (without pop);
662
663 Mon Apr 22 12:57:31 CEST 2002 Paolo Molaro <lupus@ximian.com>
664
665         * x86/x86-codegen.h: added loop instructions and made x86_patch fully
666         useful.
667
668 2002-04-20  Dietmar Maurer  <dietmar@ximian.com>
669
670         * x86/tramp.c (mono_create_trampoline): support internalcall
671         String constructors
672
673 Sat Apr 6 16:29:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
674
675         * x86/tramp.c: fix advancement of argument position on the stack.
676
677 Sat Mar 16 19:12:57 CET 2002 Paolo Molaro <lupus@ximian.com>
678
679         * x86/tramp.c: increase default allocated size for trampolines
680         and assert on overflow.
681
682 2002-03-14  Dietmar Maurer  <dietmar@ximian.com>
683
684         * x86/tramp.c (mono_create_trampoline): dont use fld/fst to copy
685         R8 values
686
687 Mon Mar 11 16:14:29 CET 2002 Paolo Molaro <lupus@ximian.com>
688
689         * x86/x86-codegen.h: addex x86_clear_reg() and changed
690         x86_mov_reg_imm() to not check for imm == 0.
691
692 Thu Feb 28 12:34:21 CET 2002 Paolo Molaro <lupus@ximian.com>
693
694         * x86/tramp.c: start handling of more complex marshaling stuff.
695
696 2002-02-25  Sergey Chaban  <serge@wildwestsoftware.com>
697
698         * arm: added ARM support code.
699         * Makefile.am: added arm to DIST_SUBDIRS.
700
701 2002-02-24  Radek Doulik  <rodo@ximian.com>
702
703         * ppc/tramp.c (mono_create_method_pointer): basic delegates
704         implementation, it works for simple delegates now and I am already
705         pretty close to have it working for every delegates, but I am
706         going to sleep and finish it tomorrow?
707         (mono_create_method_pointer): implements delegates with parameters
708         and return value
709
710 2002-02-22  Jeffrey Stedfast  <fejj@ximian.com>
711
712         * sparc/tramp.c (mono_create_trampoline): Much tinkering to get
713         the opcodes more correct. Still needs a lot of work.
714
715 2002-02-19  Radek Doulik  <rodo@ximian.com>
716
717         * ppc/tramp.c (emit_save_parameters): don't start saving 64bit values to
718         even registers
719         added stack saving for most arguments
720
721 Tue Feb 19 20:19:38 CET 2002 Paolo Molaro <lupus@ximian.com>
722
723         * x86/tramp.c: avoid pointer arthmetric (pointed out by Serge).
724
725 2002-02-17  Radek Doulik  <rodo@ximian.com>
726
727         * ppc/tramp.c: fixed minimal stack size, fixed string parameters,
728         fix byte and half word parameters 
729         (mono_string_new_wrapper): new helper function, cut&pasted from
730         x86, modified to check for NULL text to avoid branching in
731         generated code
732         (calculate_sizes): updated for string retval changes
733         (emit_call_and_store_retval): updated for string retval
734
735         * ppc/ppc-codegen.h (ppc_mr): added lhz, lbz, sth
736
737 2002-02-16  Radek Doulik  <rodo@ximian.com>
738
739         * ppc/tramp.c (emit_call_and_store_retval): support U2, I2, CHAR
740
741 Mon Feb 11 18:40:04 CET 2002 Paolo Molaro <lupus@ximian.com>
742
743         * sparc/*: sparc codegen header and some untested trampoline code.
744
745 Mon Feb 11 12:32:35 CET 2002 Paolo Molaro <lupus@ximian.com>
746
747         * x86/tramp.c: fix handling of multiple marshaleed strings.
748         * x86/x86-codegen.h: some code to patch branch displacements.
749
750 Fri Feb 1 16:03:00 CET 2002 Paolo Molaro <lupus@ximian.com>
751
752         * x86/tramp.c, ppc/tramp.c: implement mono_method_pointer_get ().
753
754 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
755
756         * x86/tramp.c (mono_create_trampoline): Do not try to create a
757         mono_string_new if the return value from the PInvoke code is
758         NULL. 
759
760 Mon Jan 14 11:50:16 CET 2002 Paolo Molaro <lupus@ximian.com>
761
762         * x86/x86-codegen.c: added overflow condition code and some aliases
763         for the other ccs.
764
765 Thu Jan 10 21:01:08 CET 2002 Paolo Molaro <lupus@ximian.com>
766
767         * x86/tramp.c: mono_create_trampoline (): the runtime argument is
768         needed to handle correctly delegates, the previous change in handling
769         the string return type broke them.
770
771 Tue Jan  8 22:38:41 MST 2002 Matt Kimball <matt@kimball.net>
772         
773         * x86/tramp.c: handle strings returned from functions in external 
774         libraries by converting to a Mono string object after the pinvoke'd 
775         function returns
776         
777 Sat Jan 5 15:51:06 CET 2002 Paolo Molaro <lupus@ximian.com>
778
779         * x86/tramp.c: handle short integer return types.
780
781 Thu Dec 20 20:13:07 CET 2001 Paolo Molaro <lupus@ximian.com>
782
783         * x86/tramp.c: fix create_method_pointer() to pass the arguments
784         correctly and add check for overflow.
785
786 Thu Dec 13 15:56:53 CET 2001 Paolo Molaro <lupus@ximian.com>
787
788         * x86/x86-codegen.h: x86_mov_memindex_imm() added.
789         
790 2001-11-29  Radek Doulik  <rodo@ximian.com>
791
792         * ppc/tramp.c: use r12 which is volatile instead of non-volatile
793         r14 to avoid saving
794
795         * Makefile.am (libmonoarch_la_LIBADD): added ppc to DIST_SUBDIRS
796         generate libmonoarch for ppc
797
798 Tue Nov 27 15:24:07 CET 2001 Paolo Molaro <lupus@ximian.com>
799
800         * x96/x86-codegen.c: x86_lea_memindex() added.
801
802 Thu Nov 15 17:41:01 CET 2001 Paolo Molaro <lupus@ximian.com>
803
804         * x86/tramp.c: handle enums with underlying type different from int32.
805
806 Wed Nov 14 19:21:26 CET 2001 Paolo Molaro <lupus@ximian.com>
807
808         * x86/tramp.c: handle boolean as a return value.
809         * x96/x86-codegen.c: x86_widen_memindex() added.
810
811 2001-11-07  Miguel de Icaza  <miguel@ximian.com>
812
813         * x86/tramp.c: Include stdlib to kill warning.
814
815 Mon Oct 22 15:20:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
816
817         * x86/tramp.c: handle boolean, u1 and i1 as return values.
818
819 Wed Oct 10 16:07:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
820
821         * x86/x86-codegen.c: added x86_set_{reg,mem,membase}.
822
823 Mon Oct 8 16:13:07 CEST 2001 Paolo Molaro <lupus@ximian.com>
824
825         * x86/tramp.c: remove mono_get_ansi_string () and use
826         mono_string_to_utf8 () instead.
827
828 Thu Oct 4 19:09:13 CEST 2001 Paolo Molaro <lupus@ximian.com>
829
830         * x86/tramp.c: allow marshalling valuetypes if they are
831         4 bytes long.
832
833 Mon Oct 1 18:48:27 CEST 2001 Paolo Molaro <lupus@ximian.com>
834
835         * x86/tramp.c: fix thinko (s/SUB/ADD/) in stack adjustment
836         and avoid a couple of unnecessary instructions.
837
838 Fri Sep 28 19:43:12 CEST 2001 Paolo Molaro <lupus@ximian.com>
839
840         * x86/tramp.c: marshal valuetypes that are enums.
841
842 Thu Sep 27 15:34:37 CEST 2001 Paolo Molaro <lupus@ximian.com>
843
844         * x86/x86-codegen.h: in memindex operand you can use X86_NOBASEREG
845         as basereg.
846
847 Wed Sep 26 16:29:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
848
849         * x86/x86-codegen.h: added memindex addressing mode encoding
850         (and mov to/from register opcodes).
851
852 Mon Sep 24 18:49:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
853
854         * x86/tramp.c: don't change a MONO_TYPE_STRING to a char*
855         when it's an argument to an internalcall.
856
857 Sun Sep 23 13:44:57 CEST 2001 Paolo Molaro <lupus@ximian.com>
858
859         * x86/tramp.c: handle MONO_TYPE_CLASS in trampolines.
860
861 2001-09-21  Dietmar Maurer  <dietmar@ximian.com>
862
863         * x86/x86-codegen.h (x86_breakpoint): added.
864
865 Tue Sep 18 13:23:59 CEST 2001 Paolo Molaro <lupus@ximian.com>
866
867         * x86/x86-codegen.h: remove C++ comments.
868
869 2001-09-17  Dietmar Maurer  <dietmar@ximian.com>
870
871         * x86/x86-codegen.h (x86_alu_reg_reg): replaced src/dest
872
873 Mon Sep 10 17:26:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
874
875         * Makefile.am, x86/Makefile.am: conditional compile logic
876         to make porting to different targets easier.
877
878 Fri Sep 7 18:43:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
879
880         * x86/x86-codegen.h: fixes and x86_mov_membase_imm ().
881         * x86/tramp.c: implemented mono_create_method_pointer ():
882         creates a native pointer to a method implementation that can be 
883         used as a normal C callback.
884
885 Thu Sep 6 15:38:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
886
887         * x86/x86-codegen.h: added x86_rdtsc() and fixes.
888         * x86/tramp.c: create trampolines to call pinvoke methods.
889         * x86/Makefile.am: create a libmonoarch convenience library.
890
891 Mon Aug 27 09:29:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
892
893         * x86/x86-codegen.h: fix x86_call_code (). x86_mov_regp_reg () added.
894
895 Sat Aug 18 12:40:32 CEST 2001 Paolo Molaro <lupus@ximian.com>
896
897         * x86/x86-codegen.h: fix a couple of buglets and add x86_regp_emit().
898
899 Wed Aug 8 15:30:05 CEST 2001 Paolo Molaro <lupus@ximian.com>
900
901         * x86/x86-codegen.h, x86/test.c: added x86 code emitter with
902         test.
903