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