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