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