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