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