Beginning to add support for Solaris. Tested on Solaris 9.
[mono.git] / mono / arch / ChangeLog
1 2002-08-20  Mark Crichton <crichton@gimp.org>
2
3         * sparc/tramp.c (mono_create_trampoline): Now works on Sparc.  Tested
4         on an Ultra 2 running Linux.
5
6 Mon Aug 5 19:21:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
7
8         * x86/tramp.c: fix random memory read in mono_create_method_pointer.
9
10 2002-08-05  Dietmar Maurer  <dietmar@ximian.com>
11
12         * x86/tramp.c (mono_create_trampoline): fixed stack_size bug
13
14 2002-08-01  Dietmar Maurer  <dietmar@ximian.com>
15
16         * x86/tramp.c (mono_create_method_pointer): allocate space for
17         value types.
18         (mono_create_trampoline): also push the value type pointer for
19         methods returning value types.
20         (mono_create_method_pointer): support valuetype returns.
21
22 2002-07-31  Dietmar Maurer  <dietmar@ximian.com>
23
24         * x86/tramp.c: remove code to handle PInvoke because this is no
25         longer needed.
26         (mono_create_method_pointer): return method->addr for pinvoke methods
27
28 Fri Jul 19 14:18:36 CEST 2002 Paolo Molaro <lupus@ximian.com>
29
30         * x86/tramp.c: fix float loads. Simple delegate marshaling fix.
31
32 2002-07-08  Radek Doulik  <rodo@ximian.com>
33
34         * ppc/tramp.c: marshaling for SZARRAY
35
36 2002-07-05  Radek Doulik  <rodo@ximian.com>
37
38         * ppc/tramp.c: removed magic hack
39
40 Tue Jun 18 10:21:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
41
42         * x86/tramp.c: marshal simple arrays correctly.
43
44 2002-05-27  Miguel de Icaza  <miguel@ximian.com>
45
46         * x86/x86-codegen.h: Set the standard header format.
47
48 2002-05-23  Dietmar Maurer  <dietmar@ximian.com>
49
50         * x86/tramp.c (mono_create_method_pointer): removed the magic
51         trick to store the function pointer in the prolog and use the same
52         mechanism as in the jit.
53
54 2002-05-13  Radek Doulik  <rodo@ximian.com>
55
56         * ppc/tramp.c (emit_save_parameters): fix I8 parameters
57
58 2002-05-06  Sergey Chaban  <serge@wildwestsoftware.com>
59
60         * x86/x86-codegen.h: added missing shifts;
61         8-bit ALU operations (reg-reg);
62         macro for FPU ops with integer operand;
63         FIST macro (without pop);
64
65 Mon Apr 22 12:57:31 CEST 2002 Paolo Molaro <lupus@ximian.com>
66
67         * x86/x86-codegen.h: added loop instructions and made x86_patch fully
68         useful.
69
70 2002-04-20  Dietmar Maurer  <dietmar@ximian.com>
71
72         * x86/tramp.c (mono_create_trampoline): support internalcall
73         String constructors
74
75 Sat Apr 6 16:29:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
76
77         * x86/tramp.c: fix advancement of argument position on the stack.
78
79 Sat Mar 16 19:12:57 CET 2002 Paolo Molaro <lupus@ximian.com>
80
81         * x86/tramp.c: increase default allocated size for trampolines
82         and assert on overflow.
83
84 2002-03-14  Dietmar Maurer  <dietmar@ximian.com>
85
86         * x86/tramp.c (mono_create_trampoline): dont use fld/fst to copy
87         R8 values
88
89 Mon Mar 11 16:14:29 CET 2002 Paolo Molaro <lupus@ximian.com>
90
91         * x86/x86-codegen.h: addex x86_clear_reg() and changed
92         x86_mov_reg_imm() to not check for imm == 0.
93
94 Thu Feb 28 12:34:21 CET 2002 Paolo Molaro <lupus@ximian.com>
95
96         * x86/tramp.c: start handling of more complex marshaling stuff.
97
98 2002-02-25  Sergey Chaban  <serge@wildwestsoftware.com>
99
100         * arm: added ARM support code.
101         * Makefile.am: added arm to DIST_SUBDIRS.
102
103 2002-02-24  Radek Doulik  <rodo@ximian.com>
104
105         * ppc/tramp.c (mono_create_method_pointer): basic delegates
106         implementation, it works for simple delegates now and I am already
107         pretty close to have it working for every delegates, but I am
108         going to sleep and finish it tomorrow?
109         (mono_create_method_pointer): implements delegates with parameters
110         and return value
111
112 2002-02-22  Jeffrey Stedfast  <fejj@ximian.com>
113
114         * sparc/tramp.c (mono_create_trampoline): Much tinkering to get
115         the opcodes more correct. Still needs a lot of work.
116
117 2002-02-19  Radek Doulik  <rodo@ximian.com>
118
119         * ppc/tramp.c (emit_save_parameters): don't start saving 64bit values to
120         even registers
121         added stack saving for most arguments
122
123 Tue Feb 19 20:19:38 CET 2002 Paolo Molaro <lupus@ximian.com>
124
125         * x86/tramp.c: avoid pointer arthmetric (pointed out by Serge).
126
127 2002-02-17  Radek Doulik  <rodo@ximian.com>
128
129         * ppc/tramp.c: fixed minimal stack size, fixed string parameters,
130         fix byte and half word parameters 
131         (mono_string_new_wrapper): new helper function, cut&pasted from
132         x86, modified to check for NULL text to avoid branching in
133         generated code
134         (calculate_sizes): updated for string retval changes
135         (emit_call_and_store_retval): updated for string retval
136
137         * ppc/ppc-codegen.h (ppc_mr): added lhz, lbz, sth
138
139 2002-02-16  Radek Doulik  <rodo@ximian.com>
140
141         * ppc/tramp.c (emit_call_and_store_retval): support U2, I2, CHAR
142
143 Mon Feb 11 18:40:04 CET 2002 Paolo Molaro <lupus@ximian.com>
144
145         * sparc/*: sparc codegen header and some untested trampoline code.
146
147 Mon Feb 11 12:32:35 CET 2002 Paolo Molaro <lupus@ximian.com>
148
149         * x86/tramp.c: fix handling of multiple marshaleed strings.
150         * x86/x86-codegen.h: some code to patch branch displacements.
151
152 Fri Feb 1 16:03:00 CET 2002 Paolo Molaro <lupus@ximian.com>
153
154         * x86/tramp.c, ppc/tramp.c: implement mono_method_pointer_get ().
155
156 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
157
158         * x86/tramp.c (mono_create_trampoline): Do not try to create a
159         mono_string_new if the return value from the PInvoke code is
160         NULL. 
161
162 Mon Jan 14 11:50:16 CET 2002 Paolo Molaro <lupus@ximian.com>
163
164         * x86/x86-codegen.c: added overflow condition code and some aliases
165         for the other ccs.
166
167 Thu Jan 10 21:01:08 CET 2002 Paolo Molaro <lupus@ximian.com>
168
169         * x86/tramp.c: mono_create_trampoline (): the runtime argument is
170         needed to handle correctly delegates, the previous change in handling
171         the string return type broke them.
172
173 Tue Jan  8 22:38:41 MST 2002 Matt Kimball <matt@kimball.net>
174         
175         * x86/tramp.c: handle strings returned from functions in external 
176         libraries by converting to a Mono string object after the pinvoke'd 
177         function returns
178         
179 Sat Jan 5 15:51:06 CET 2002 Paolo Molaro <lupus@ximian.com>
180
181         * x86/tramp.c: handle short integer return types.
182
183 Thu Dec 20 20:13:07 CET 2001 Paolo Molaro <lupus@ximian.com>
184
185         * x86/tramp.c: fix create_method_pointer() to pass the arguments
186         correctly and add check for overflow.
187
188 Thu Dec 13 15:56:53 CET 2001 Paolo Molaro <lupus@ximian.com>
189
190         * x86/x86-codegen.h: x86_mov_memindex_imm() added.
191         
192 2001-11-29  Radek Doulik  <rodo@ximian.com>
193
194         * ppc/tramp.c: use r12 which is volatile instead of non-volatile
195         r14 to avoid saving
196
197         * Makefile.am (libmonoarch_la_LIBADD): added ppc to DIST_SUBDIRS
198         generate libmonoarch for ppc
199
200 Tue Nov 27 15:24:07 CET 2001 Paolo Molaro <lupus@ximian.com>
201
202         * x96/x86-codegen.c: x86_lea_memindex() added.
203
204 Thu Nov 15 17:41:01 CET 2001 Paolo Molaro <lupus@ximian.com>
205
206         * x86/tramp.c: handle enums with underlying type different from int32.
207
208 Wed Nov 14 19:21:26 CET 2001 Paolo Molaro <lupus@ximian.com>
209
210         * x86/tramp.c: handle boolean as a return value.
211         * x96/x86-codegen.c: x86_widen_memindex() added.
212
213 2001-11-07  Miguel de Icaza  <miguel@ximian.com>
214
215         * x86/tramp.c: Include stdlib to kill warning.
216
217 Mon Oct 22 15:20:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
218
219         * x86/tramp.c: handle boolean, u1 and i1 as return values.
220
221 Wed Oct 10 16:07:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
222
223         * x86/x86-codegen.c: added x86_set_{reg,mem,membase}.
224
225 Mon Oct 8 16:13:07 CEST 2001 Paolo Molaro <lupus@ximian.com>
226
227         * x86/tramp.c: remove mono_get_ansi_string () and use
228         mono_string_to_utf8 () instead.
229
230 Thu Oct 4 19:09:13 CEST 2001 Paolo Molaro <lupus@ximian.com>
231
232         * x86/tramp.c: allow marshalling valuetypes if they are
233         4 bytes long.
234
235 Mon Oct 1 18:48:27 CEST 2001 Paolo Molaro <lupus@ximian.com>
236
237         * x86/tramp.c: fix thinko (s/SUB/ADD/) in stack adjustment
238         and avoid a couple of unnecessary instructions.
239
240 Fri Sep 28 19:43:12 CEST 2001 Paolo Molaro <lupus@ximian.com>
241
242         * x86/tramp.c: marshal valuetypes that are enums.
243
244 Thu Sep 27 15:34:37 CEST 2001 Paolo Molaro <lupus@ximian.com>
245
246         * x86/x86-codegen.h: in memindex operand you can use X86_NOBASEREG
247         as basereg.
248
249 Wed Sep 26 16:29:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
250
251         * x86/x86-codegen.h: added memindex addressing mode encoding
252         (and mov to/from register opcodes).
253
254 Mon Sep 24 18:49:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
255
256         * x86/tramp.c: don't change a MONO_TYPE_STRING to a char*
257         when it's an argument to an internalcall.
258
259 Sun Sep 23 13:44:57 CEST 2001 Paolo Molaro <lupus@ximian.com>
260
261         * x86/tramp.c: handle MONO_TYPE_CLASS in trampolines.
262
263 2001-09-21  Dietmar Maurer  <dietmar@ximian.com>
264
265         * x86/x86-codegen.h (x86_breakpoint): added.
266
267 Tue Sep 18 13:23:59 CEST 2001 Paolo Molaro <lupus@ximian.com>
268
269         * x86/x86-codegen.h: remove C++ comments.
270
271 2001-09-17  Dietmar Maurer  <dietmar@ximian.com>
272
273         * x86/x86-codegen.h (x86_alu_reg_reg): replaced src/dest
274
275 Mon Sep 10 17:26:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
276
277         * Makefile.am, x86/Makefile.am: conditional compile logic
278         to make porting to different targets easier.
279
280 Fri Sep 7 18:43:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
281
282         * x86/x86-codegen.h: fixes and x86_mov_membase_imm ().
283         * x86/tramp.c: implemented mono_create_method_pointer ():
284         creates a native pointer to a method implementation that can be 
285         used as a normal C callback.
286
287 Thu Sep 6 15:38:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
288
289         * x86/x86-codegen.h: added x86_rdtsc() and fixes.
290         * x86/tramp.c: create trampolines to call pinvoke methods.
291         * x86/Makefile.am: create a libmonoarch convenience library.
292
293 Mon Aug 27 09:29:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
294
295         * x86/x86-codegen.h: fix x86_call_code (). x86_mov_regp_reg () added.
296
297 Sat Aug 18 12:40:32 CEST 2001 Paolo Molaro <lupus@ximian.com>
298
299         * x86/x86-codegen.h: fix a couple of buglets and add x86_regp_emit().
300
301 Wed Aug 8 15:30:05 CEST 2001 Paolo Molaro <lupus@ximian.com>
302
303         * x86/x86-codegen.h, x86/test.c: added x86 code emitter with
304         test.
305