This commit was manufactured by cvs2svn to create branch 'mono-1-0'.
[mono.git] / mono / arch / ChangeLog
1 2004-05-07  Bernie Solomon  <bernard@ugsolutions.com>
2
3         * ppc/ppc-codegen.h: remove GCC-ism in ppc_emit32
4
5 2004-04-29  Bernie Solomon  <bernard@ugsolutions.com>
6
7         * ppc/tramp.c: use sizeof (stackval), fix
8         delegate tramp frame layout for Apple
9
10 2004-04-26  David Waite <mass@akuma.org>
11
12         * unknown.c: modify to have content for defined platforms (to
13         avoid ISO C warning)
14
15 2004-03-29  Bernie Solomon  <bernard@ugsolutions.com>
16
17         * amd64/tramp.c:
18         * arm/tramp.c:
19         * hppa/tramp.c:
20         * ppc/tramp.c:
21         * s390/tramp.c:
22         * sparc/tramp.c:
23         * x86/tramp.c:
24         remove child from MonoInvocation as it isn't used.
25
26         * hppa/hppa-codegen.h:
27         fix displacements in FP instrs
28
29 2004-03-23  Bernie Solomon  <bernard@ugsolutions.com>
30
31         * hppa/hppa-codegen.h: created
32
33         * hppa/tramp.c: changed style to be more like
34         other platforms.
35
36         * hppa/Makefile.am: add hppa-codegen.h
37
38 2004-03-16  Zoltan Varga  <vargaz@freemail.hu>
39
40         * sparc/sparc-codegen.h: Add v9 branches with prediction.
41
42 2004-03-15  Bernie Solomon  <bernard@ugsolutions.com>
43
44         * sparc/sparc-codegen.h: tweak sparc_mov_reg_reg
45         so Sun's dis command recognizes it.
46
47 2004-03-15  Zoltan Varga  <vargaz@freemail.hu>
48
49         * sparc/sparc-codegen.h: Add some v9 instructions.
50
51 2004-03-11  Zoltan Varga  <vargaz@freemail.hu>
52
53         * sparc/sparc-codegen.h: Ongoing sparc work.
54
55 2004-03-07  Duncan Mak  <duncan@ximian.com>
56
57         * Makefile.am: Removed the reference to 'x86-64'. This was the cause
58         of the missing Mono daily tarballs, 'make dist' wasn't working.
59         
60         We do have an 'amd64' directory, but it doesn't make it in 'make
61         dist'.
62
63 2004-02-19  Zoltan Varga  <vargaz@freemail.hu>
64
65         * sparc/sparc-codegen.h: Fix lots of opcodes + add new ones.
66
67         * sparc/tramp.c: Fix alignment of structures containing doubles.
68
69 2004-02-02  Zoltan Varga  <vargaz@freemail.hu>
70
71         * sparc/tramp.c: Implement all floating point argument passing conventions in
72         Sparc V8. Also fix structure passing in V8.
73
74 Thu Nov 13 16:24:29 CET 2003 Paolo Molaro <lupus@ximian.com>
75
76         * ppc/ppc-codegen.h: fixed most of the incorrect macros from ct.
77
78 2003-10-31  Zoltan Varga  <vargaz@freemail.hu>
79
80         * */tramp.c (mono_create_method_pointer): Rename to 
81         mono_arch_create_method_pointer, move common code to a new function in
82         interp.c.
83
84         * */tramp.c (mono_create_trampoline): Rename to 
85         mono_arch_create_trampoline for consistency.
86         
87 2003-10-13  Bernie Solomon  <bernard@ugsolutions.com>
88
89         * x86/tramp.c: restore EDX after memcpy call
90
91 2003-10-13  Bernie Solomon  <bernard@ugsolutions.com>
92
93         * Makefile.am: add hppa subdir 
94
95         * hppa/tramp.c: add initial implementation - this is 64 bit only
96         hppa/Makefile.am hppa/.cvsignore: added
97
98 2003-10-13  Bernie Solomon  <bernard@ugsolutions.com>
99
100         * sparc/sparc-codegen.h sparc/tramp.c: add initial implementation
101         for V9 (64 bit), cover more 32 bit cases as well.
102
103 2003-09-03  Zoltan Varga  <vargaz@freemail.hu>
104
105         * x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com).
106
107 2003-08-21  Zoltan Varga  <vargaz@freemail.hu>
108
109         * x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com).
110
111 Tue Jul 1 13:03:43 CEST 2003 Paolo Molaro <lupus@ximian.com>
112
113         * alpha/tramp.c: update from Laramie Leavitt (lar@leavitt.us).
114
115 2003-05-20  Dietmar Maurer  <dietmar@ximian.com>
116
117         * x86/x86-codegen.h (x86_set_reg): add an assertion - it does
118         not work for all registers.
119
120 Sat Feb 1 10:59:31 CET 2003 Paolo Molaro <lupus@ximian.com>
121
122         * alpha/*: update from Laramie.
123
124 Mon Jan 27 12:49:10 CET 2003 Paolo Molaro <lupus@ximian.com>
125
126         * alpha/*: start of the port to the alpha architecture by
127         Laramie Leavitt (<lar@leavitt.us>).
128
129 Tue Jan 21 17:29:53 CET 2003 Paolo Molaro <lupus@ximian.com>
130
131         * ppc/ppc-codegen.h: completed ppc native code generation by
132         Taylor Christopher P <ct@cs.clemson.edu>.
133
134 Fri Jan 17 21:14:18 CET 2003 Paolo Molaro <lupus@ximian.com>
135
136         * ppc/tramp.c: adapted to work for MacOSX (from a patch by 
137         John Duncan).
138
139 2002-11-11  Mark Crichton  <crichton@gimp.org>
140
141         * sparc/tramp.c: Added some disassembly bits for debugging.
142
143 2002-10-02  Mark Crichton  <crichton@gimp.org>
144
145         * sparc/tramp.c: More cleanup of the trampoline code.  Still some
146         problems with it w.r.t. delegates.
147
148 2002-09-25  Mark Crichton  <crichton@gimp.org>
149
150         * sparc/tramp.c: Off by one error.  Whoops.  Trampoline code should
151         now work properly.
152
153 2002-09-24  Mark Crichton  <crichton@gimp.org>
154
155         * sparc/tramp.c: Works as well as the old code did.  Cleanup is
156         finished.  The framework now for adding more type support is in,
157         and should be a *lot* cleaner.
158         
159 2002-09-22  Mark Crichton  <crichton@gimp.org>
160
161         * sparc/tramp.c: Completely broke trampolining on SPARC processors.
162         The code needed a nasty cleanup, so most of it is rewritten.
163         It will be fixed.
164
165 2002-08-20  Mark Crichton <crichton@gimp.org>
166
167         * sparc/tramp.c (mono_create_trampoline): Now works on Sparc.  Tested
168         on an Ultra 2 running Linux.
169
170 Mon Aug 5 19:21:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
171
172         * x86/tramp.c: fix random memory read in mono_create_method_pointer.
173
174 2002-08-05  Dietmar Maurer  <dietmar@ximian.com>
175
176         * x86/tramp.c (mono_create_trampoline): fixed stack_size bug
177
178 2002-08-01  Dietmar Maurer  <dietmar@ximian.com>
179
180         * x86/tramp.c (mono_create_method_pointer): allocate space for
181         value types.
182         (mono_create_trampoline): also push the value type pointer for
183         methods returning value types.
184         (mono_create_method_pointer): support valuetype returns.
185
186 2002-07-31  Dietmar Maurer  <dietmar@ximian.com>
187
188         * x86/tramp.c: remove code to handle PInvoke because this is no
189         longer needed.
190         (mono_create_method_pointer): return method->addr for pinvoke methods
191
192 Fri Jul 19 14:18:36 CEST 2002 Paolo Molaro <lupus@ximian.com>
193
194         * x86/tramp.c: fix float loads. Simple delegate marshaling fix.
195
196 2002-07-08  Radek Doulik  <rodo@ximian.com>
197
198         * ppc/tramp.c: marshaling for SZARRAY
199
200 2002-07-05  Radek Doulik  <rodo@ximian.com>
201
202         * ppc/tramp.c: removed magic hack
203
204 Tue Jun 18 10:21:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
205
206         * x86/tramp.c: marshal simple arrays correctly.
207
208 2002-05-27  Miguel de Icaza  <miguel@ximian.com>
209
210         * x86/x86-codegen.h: Set the standard header format.
211
212 2002-05-23  Dietmar Maurer  <dietmar@ximian.com>
213
214         * x86/tramp.c (mono_create_method_pointer): removed the magic
215         trick to store the function pointer in the prolog and use the same
216         mechanism as in the jit.
217
218 2002-05-13  Radek Doulik  <rodo@ximian.com>
219
220         * ppc/tramp.c (emit_save_parameters): fix I8 parameters
221
222 2002-05-06  Sergey Chaban  <serge@wildwestsoftware.com>
223
224         * x86/x86-codegen.h: added missing shifts;
225         8-bit ALU operations (reg-reg);
226         macro for FPU ops with integer operand;
227         FIST macro (without pop);
228
229 Mon Apr 22 12:57:31 CEST 2002 Paolo Molaro <lupus@ximian.com>
230
231         * x86/x86-codegen.h: added loop instructions and made x86_patch fully
232         useful.
233
234 2002-04-20  Dietmar Maurer  <dietmar@ximian.com>
235
236         * x86/tramp.c (mono_create_trampoline): support internalcall
237         String constructors
238
239 Sat Apr 6 16:29:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
240
241         * x86/tramp.c: fix advancement of argument position on the stack.
242
243 Sat Mar 16 19:12:57 CET 2002 Paolo Molaro <lupus@ximian.com>
244
245         * x86/tramp.c: increase default allocated size for trampolines
246         and assert on overflow.
247
248 2002-03-14  Dietmar Maurer  <dietmar@ximian.com>
249
250         * x86/tramp.c (mono_create_trampoline): dont use fld/fst to copy
251         R8 values
252
253 Mon Mar 11 16:14:29 CET 2002 Paolo Molaro <lupus@ximian.com>
254
255         * x86/x86-codegen.h: addex x86_clear_reg() and changed
256         x86_mov_reg_imm() to not check for imm == 0.
257
258 Thu Feb 28 12:34:21 CET 2002 Paolo Molaro <lupus@ximian.com>
259
260         * x86/tramp.c: start handling of more complex marshaling stuff.
261
262 2002-02-25  Sergey Chaban  <serge@wildwestsoftware.com>
263
264         * arm: added ARM support code.
265         * Makefile.am: added arm to DIST_SUBDIRS.
266
267 2002-02-24  Radek Doulik  <rodo@ximian.com>
268
269         * ppc/tramp.c (mono_create_method_pointer): basic delegates
270         implementation, it works for simple delegates now and I am already
271         pretty close to have it working for every delegates, but I am
272         going to sleep and finish it tomorrow?
273         (mono_create_method_pointer): implements delegates with parameters
274         and return value
275
276 2002-02-22  Jeffrey Stedfast  <fejj@ximian.com>
277
278         * sparc/tramp.c (mono_create_trampoline): Much tinkering to get
279         the opcodes more correct. Still needs a lot of work.
280
281 2002-02-19  Radek Doulik  <rodo@ximian.com>
282
283         * ppc/tramp.c (emit_save_parameters): don't start saving 64bit values to
284         even registers
285         added stack saving for most arguments
286
287 Tue Feb 19 20:19:38 CET 2002 Paolo Molaro <lupus@ximian.com>
288
289         * x86/tramp.c: avoid pointer arthmetric (pointed out by Serge).
290
291 2002-02-17  Radek Doulik  <rodo@ximian.com>
292
293         * ppc/tramp.c: fixed minimal stack size, fixed string parameters,
294         fix byte and half word parameters 
295         (mono_string_new_wrapper): new helper function, cut&pasted from
296         x86, modified to check for NULL text to avoid branching in
297         generated code
298         (calculate_sizes): updated for string retval changes
299         (emit_call_and_store_retval): updated for string retval
300
301         * ppc/ppc-codegen.h (ppc_mr): added lhz, lbz, sth
302
303 2002-02-16  Radek Doulik  <rodo@ximian.com>
304
305         * ppc/tramp.c (emit_call_and_store_retval): support U2, I2, CHAR
306
307 Mon Feb 11 18:40:04 CET 2002 Paolo Molaro <lupus@ximian.com>
308
309         * sparc/*: sparc codegen header and some untested trampoline code.
310
311 Mon Feb 11 12:32:35 CET 2002 Paolo Molaro <lupus@ximian.com>
312
313         * x86/tramp.c: fix handling of multiple marshaleed strings.
314         * x86/x86-codegen.h: some code to patch branch displacements.
315
316 Fri Feb 1 16:03:00 CET 2002 Paolo Molaro <lupus@ximian.com>
317
318         * x86/tramp.c, ppc/tramp.c: implement mono_method_pointer_get ().
319
320 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
321
322         * x86/tramp.c (mono_create_trampoline): Do not try to create a
323         mono_string_new if the return value from the PInvoke code is
324         NULL. 
325
326 Mon Jan 14 11:50:16 CET 2002 Paolo Molaro <lupus@ximian.com>
327
328         * x86/x86-codegen.c: added overflow condition code and some aliases
329         for the other ccs.
330
331 Thu Jan 10 21:01:08 CET 2002 Paolo Molaro <lupus@ximian.com>
332
333         * x86/tramp.c: mono_create_trampoline (): the runtime argument is
334         needed to handle correctly delegates, the previous change in handling
335         the string return type broke them.
336
337 Tue Jan  8 22:38:41 MST 2002 Matt Kimball <matt@kimball.net>
338         
339         * x86/tramp.c: handle strings returned from functions in external 
340         libraries by converting to a Mono string object after the pinvoke'd 
341         function returns
342         
343 Sat Jan 5 15:51:06 CET 2002 Paolo Molaro <lupus@ximian.com>
344
345         * x86/tramp.c: handle short integer return types.
346
347 Thu Dec 20 20:13:07 CET 2001 Paolo Molaro <lupus@ximian.com>
348
349         * x86/tramp.c: fix create_method_pointer() to pass the arguments
350         correctly and add check for overflow.
351
352 Thu Dec 13 15:56:53 CET 2001 Paolo Molaro <lupus@ximian.com>
353
354         * x86/x86-codegen.h: x86_mov_memindex_imm() added.
355         
356 2001-11-29  Radek Doulik  <rodo@ximian.com>
357
358         * ppc/tramp.c: use r12 which is volatile instead of non-volatile
359         r14 to avoid saving
360
361         * Makefile.am (libmonoarch_la_LIBADD): added ppc to DIST_SUBDIRS
362         generate libmonoarch for ppc
363
364 Tue Nov 27 15:24:07 CET 2001 Paolo Molaro <lupus@ximian.com>
365
366         * x96/x86-codegen.c: x86_lea_memindex() added.
367
368 Thu Nov 15 17:41:01 CET 2001 Paolo Molaro <lupus@ximian.com>
369
370         * x86/tramp.c: handle enums with underlying type different from int32.
371
372 Wed Nov 14 19:21:26 CET 2001 Paolo Molaro <lupus@ximian.com>
373
374         * x86/tramp.c: handle boolean as a return value.
375         * x96/x86-codegen.c: x86_widen_memindex() added.
376
377 2001-11-07  Miguel de Icaza  <miguel@ximian.com>
378
379         * x86/tramp.c: Include stdlib to kill warning.
380
381 Mon Oct 22 15:20:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
382
383         * x86/tramp.c: handle boolean, u1 and i1 as return values.
384
385 Wed Oct 10 16:07:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
386
387         * x86/x86-codegen.c: added x86_set_{reg,mem,membase}.
388
389 Mon Oct 8 16:13:07 CEST 2001 Paolo Molaro <lupus@ximian.com>
390
391         * x86/tramp.c: remove mono_get_ansi_string () and use
392         mono_string_to_utf8 () instead.
393
394 Thu Oct 4 19:09:13 CEST 2001 Paolo Molaro <lupus@ximian.com>
395
396         * x86/tramp.c: allow marshalling valuetypes if they are
397         4 bytes long.
398
399 Mon Oct 1 18:48:27 CEST 2001 Paolo Molaro <lupus@ximian.com>
400
401         * x86/tramp.c: fix thinko (s/SUB/ADD/) in stack adjustment
402         and avoid a couple of unnecessary instructions.
403
404 Fri Sep 28 19:43:12 CEST 2001 Paolo Molaro <lupus@ximian.com>
405
406         * x86/tramp.c: marshal valuetypes that are enums.
407
408 Thu Sep 27 15:34:37 CEST 2001 Paolo Molaro <lupus@ximian.com>
409
410         * x86/x86-codegen.h: in memindex operand you can use X86_NOBASEREG
411         as basereg.
412
413 Wed Sep 26 16:29:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
414
415         * x86/x86-codegen.h: added memindex addressing mode encoding
416         (and mov to/from register opcodes).
417
418 Mon Sep 24 18:49:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
419
420         * x86/tramp.c: don't change a MONO_TYPE_STRING to a char*
421         when it's an argument to an internalcall.
422
423 Sun Sep 23 13:44:57 CEST 2001 Paolo Molaro <lupus@ximian.com>
424
425         * x86/tramp.c: handle MONO_TYPE_CLASS in trampolines.
426
427 2001-09-21  Dietmar Maurer  <dietmar@ximian.com>
428
429         * x86/x86-codegen.h (x86_breakpoint): added.
430
431 Tue Sep 18 13:23:59 CEST 2001 Paolo Molaro <lupus@ximian.com>
432
433         * x86/x86-codegen.h: remove C++ comments.
434
435 2001-09-17  Dietmar Maurer  <dietmar@ximian.com>
436
437         * x86/x86-codegen.h (x86_alu_reg_reg): replaced src/dest
438
439 Mon Sep 10 17:26:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
440
441         * Makefile.am, x86/Makefile.am: conditional compile logic
442         to make porting to different targets easier.
443
444 Fri Sep 7 18:43:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
445
446         * x86/x86-codegen.h: fixes and x86_mov_membase_imm ().
447         * x86/tramp.c: implemented mono_create_method_pointer ():
448         creates a native pointer to a method implementation that can be 
449         used as a normal C callback.
450
451 Thu Sep 6 15:38:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
452
453         * x86/x86-codegen.h: added x86_rdtsc() and fixes.
454         * x86/tramp.c: create trampolines to call pinvoke methods.
455         * x86/Makefile.am: create a libmonoarch convenience library.
456
457 Mon Aug 27 09:29:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
458
459         * x86/x86-codegen.h: fix x86_call_code (). x86_mov_regp_reg () added.
460
461 Sat Aug 18 12:40:32 CEST 2001 Paolo Molaro <lupus@ximian.com>
462
463         * x86/x86-codegen.h: fix a couple of buglets and add x86_regp_emit().
464
465 Wed Aug 8 15:30:05 CEST 2001 Paolo Molaro <lupus@ximian.com>
466
467         * x86/x86-codegen.h, x86/test.c: added x86 code emitter with
468         test.
469