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