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