2 Sat Feb 1 10:59:31 CET 2003 Paolo Molaro <lupus@ximian.com>
4 * alpha/*: update from Laramie.
6 Mon Jan 27 12:49:10 CET 2003 Paolo Molaro <lupus@ximian.com>
8 * alpha/*: start of the port to the alpha architecture by
9 Laramie Leavitt (<lar@leavitt.us>).
11 Tue Jan 21 17:29:53 CET 2003 Paolo Molaro <lupus@ximian.com>
13 * ppc/ppc-codegen.h: completed ppc native code generation by
14 Taylor Christopher P <ct@cs.clemson.edu>.
16 Fri Jan 17 21:14:18 CET 2003 Paolo Molaro <lupus@ximian.com>
18 * ppc/tramp.c: adapted to work for MacOSX (from a patch by
21 2002-11-11 Mark Crichton <crichton@gimp.org>
23 * sparc/tramp.c: Added some disassembly bits for debugging.
25 2002-10-02 Mark Crichton <crichton@gimp.org>
27 * sparc/tramp.c: More cleanup of the trampoline code. Still some
28 problems with it w.r.t. delegates.
30 2002-09-25 Mark Crichton <crichton@gimp.org>
32 * sparc/tramp.c: Off by one error. Whoops. Trampoline code should
35 2002-09-24 Mark Crichton <crichton@gimp.org>
37 * sparc/tramp.c: Works as well as the old code did. Cleanup is
38 finished. The framework now for adding more type support is in,
39 and should be a *lot* cleaner.
41 2002-09-22 Mark Crichton <crichton@gimp.org>
43 * sparc/tramp.c: Completely broke trampolining on SPARC processors.
44 The code needed a nasty cleanup, so most of it is rewritten.
47 2002-08-20 Mark Crichton <crichton@gimp.org>
49 * sparc/tramp.c (mono_create_trampoline): Now works on Sparc. Tested
50 on an Ultra 2 running Linux.
52 Mon Aug 5 19:21:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
54 * x86/tramp.c: fix random memory read in mono_create_method_pointer.
56 2002-08-05 Dietmar Maurer <dietmar@ximian.com>
58 * x86/tramp.c (mono_create_trampoline): fixed stack_size bug
60 2002-08-01 Dietmar Maurer <dietmar@ximian.com>
62 * x86/tramp.c (mono_create_method_pointer): allocate space for
64 (mono_create_trampoline): also push the value type pointer for
65 methods returning value types.
66 (mono_create_method_pointer): support valuetype returns.
68 2002-07-31 Dietmar Maurer <dietmar@ximian.com>
70 * x86/tramp.c: remove code to handle PInvoke because this is no
72 (mono_create_method_pointer): return method->addr for pinvoke methods
74 Fri Jul 19 14:18:36 CEST 2002 Paolo Molaro <lupus@ximian.com>
76 * x86/tramp.c: fix float loads. Simple delegate marshaling fix.
78 2002-07-08 Radek Doulik <rodo@ximian.com>
80 * ppc/tramp.c: marshaling for SZARRAY
82 2002-07-05 Radek Doulik <rodo@ximian.com>
84 * ppc/tramp.c: removed magic hack
86 Tue Jun 18 10:21:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
88 * x86/tramp.c: marshal simple arrays correctly.
90 2002-05-27 Miguel de Icaza <miguel@ximian.com>
92 * x86/x86-codegen.h: Set the standard header format.
94 2002-05-23 Dietmar Maurer <dietmar@ximian.com>
96 * x86/tramp.c (mono_create_method_pointer): removed the magic
97 trick to store the function pointer in the prolog and use the same
98 mechanism as in the jit.
100 2002-05-13 Radek Doulik <rodo@ximian.com>
102 * ppc/tramp.c (emit_save_parameters): fix I8 parameters
104 2002-05-06 Sergey Chaban <serge@wildwestsoftware.com>
106 * x86/x86-codegen.h: added missing shifts;
107 8-bit ALU operations (reg-reg);
108 macro for FPU ops with integer operand;
109 FIST macro (without pop);
111 Mon Apr 22 12:57:31 CEST 2002 Paolo Molaro <lupus@ximian.com>
113 * x86/x86-codegen.h: added loop instructions and made x86_patch fully
116 2002-04-20 Dietmar Maurer <dietmar@ximian.com>
118 * x86/tramp.c (mono_create_trampoline): support internalcall
121 Sat Apr 6 16:29:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
123 * x86/tramp.c: fix advancement of argument position on the stack.
125 Sat Mar 16 19:12:57 CET 2002 Paolo Molaro <lupus@ximian.com>
127 * x86/tramp.c: increase default allocated size for trampolines
128 and assert on overflow.
130 2002-03-14 Dietmar Maurer <dietmar@ximian.com>
132 * x86/tramp.c (mono_create_trampoline): dont use fld/fst to copy
135 Mon Mar 11 16:14:29 CET 2002 Paolo Molaro <lupus@ximian.com>
137 * x86/x86-codegen.h: addex x86_clear_reg() and changed
138 x86_mov_reg_imm() to not check for imm == 0.
140 Thu Feb 28 12:34:21 CET 2002 Paolo Molaro <lupus@ximian.com>
142 * x86/tramp.c: start handling of more complex marshaling stuff.
144 2002-02-25 Sergey Chaban <serge@wildwestsoftware.com>
146 * arm: added ARM support code.
147 * Makefile.am: added arm to DIST_SUBDIRS.
149 2002-02-24 Radek Doulik <rodo@ximian.com>
151 * ppc/tramp.c (mono_create_method_pointer): basic delegates
152 implementation, it works for simple delegates now and I am already
153 pretty close to have it working for every delegates, but I am
154 going to sleep and finish it tomorrow?
155 (mono_create_method_pointer): implements delegates with parameters
158 2002-02-22 Jeffrey Stedfast <fejj@ximian.com>
160 * sparc/tramp.c (mono_create_trampoline): Much tinkering to get
161 the opcodes more correct. Still needs a lot of work.
163 2002-02-19 Radek Doulik <rodo@ximian.com>
165 * ppc/tramp.c (emit_save_parameters): don't start saving 64bit values to
167 added stack saving for most arguments
169 Tue Feb 19 20:19:38 CET 2002 Paolo Molaro <lupus@ximian.com>
171 * x86/tramp.c: avoid pointer arthmetric (pointed out by Serge).
173 2002-02-17 Radek Doulik <rodo@ximian.com>
175 * ppc/tramp.c: fixed minimal stack size, fixed string parameters,
176 fix byte and half word parameters
177 (mono_string_new_wrapper): new helper function, cut&pasted from
178 x86, modified to check for NULL text to avoid branching in
180 (calculate_sizes): updated for string retval changes
181 (emit_call_and_store_retval): updated for string retval
183 * ppc/ppc-codegen.h (ppc_mr): added lhz, lbz, sth
185 2002-02-16 Radek Doulik <rodo@ximian.com>
187 * ppc/tramp.c (emit_call_and_store_retval): support U2, I2, CHAR
189 Mon Feb 11 18:40:04 CET 2002 Paolo Molaro <lupus@ximian.com>
191 * sparc/*: sparc codegen header and some untested trampoline code.
193 Mon Feb 11 12:32:35 CET 2002 Paolo Molaro <lupus@ximian.com>
195 * x86/tramp.c: fix handling of multiple marshaleed strings.
196 * x86/x86-codegen.h: some code to patch branch displacements.
198 Fri Feb 1 16:03:00 CET 2002 Paolo Molaro <lupus@ximian.com>
200 * x86/tramp.c, ppc/tramp.c: implement mono_method_pointer_get ().
202 2002-01-23 Miguel de Icaza <miguel@ximian.com>
204 * x86/tramp.c (mono_create_trampoline): Do not try to create a
205 mono_string_new if the return value from the PInvoke code is
208 Mon Jan 14 11:50:16 CET 2002 Paolo Molaro <lupus@ximian.com>
210 * x86/x86-codegen.c: added overflow condition code and some aliases
213 Thu Jan 10 21:01:08 CET 2002 Paolo Molaro <lupus@ximian.com>
215 * x86/tramp.c: mono_create_trampoline (): the runtime argument is
216 needed to handle correctly delegates, the previous change in handling
217 the string return type broke them.
219 Tue Jan 8 22:38:41 MST 2002 Matt Kimball <matt@kimball.net>
221 * x86/tramp.c: handle strings returned from functions in external
222 libraries by converting to a Mono string object after the pinvoke'd
225 Sat Jan 5 15:51:06 CET 2002 Paolo Molaro <lupus@ximian.com>
227 * x86/tramp.c: handle short integer return types.
229 Thu Dec 20 20:13:07 CET 2001 Paolo Molaro <lupus@ximian.com>
231 * x86/tramp.c: fix create_method_pointer() to pass the arguments
232 correctly and add check for overflow.
234 Thu Dec 13 15:56:53 CET 2001 Paolo Molaro <lupus@ximian.com>
236 * x86/x86-codegen.h: x86_mov_memindex_imm() added.
238 2001-11-29 Radek Doulik <rodo@ximian.com>
240 * ppc/tramp.c: use r12 which is volatile instead of non-volatile
243 * Makefile.am (libmonoarch_la_LIBADD): added ppc to DIST_SUBDIRS
244 generate libmonoarch for ppc
246 Tue Nov 27 15:24:07 CET 2001 Paolo Molaro <lupus@ximian.com>
248 * x96/x86-codegen.c: x86_lea_memindex() added.
250 Thu Nov 15 17:41:01 CET 2001 Paolo Molaro <lupus@ximian.com>
252 * x86/tramp.c: handle enums with underlying type different from int32.
254 Wed Nov 14 19:21:26 CET 2001 Paolo Molaro <lupus@ximian.com>
256 * x86/tramp.c: handle boolean as a return value.
257 * x96/x86-codegen.c: x86_widen_memindex() added.
259 2001-11-07 Miguel de Icaza <miguel@ximian.com>
261 * x86/tramp.c: Include stdlib to kill warning.
263 Mon Oct 22 15:20:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
265 * x86/tramp.c: handle boolean, u1 and i1 as return values.
267 Wed Oct 10 16:07:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
269 * x86/x86-codegen.c: added x86_set_{reg,mem,membase}.
271 Mon Oct 8 16:13:07 CEST 2001 Paolo Molaro <lupus@ximian.com>
273 * x86/tramp.c: remove mono_get_ansi_string () and use
274 mono_string_to_utf8 () instead.
276 Thu Oct 4 19:09:13 CEST 2001 Paolo Molaro <lupus@ximian.com>
278 * x86/tramp.c: allow marshalling valuetypes if they are
281 Mon Oct 1 18:48:27 CEST 2001 Paolo Molaro <lupus@ximian.com>
283 * x86/tramp.c: fix thinko (s/SUB/ADD/) in stack adjustment
284 and avoid a couple of unnecessary instructions.
286 Fri Sep 28 19:43:12 CEST 2001 Paolo Molaro <lupus@ximian.com>
288 * x86/tramp.c: marshal valuetypes that are enums.
290 Thu Sep 27 15:34:37 CEST 2001 Paolo Molaro <lupus@ximian.com>
292 * x86/x86-codegen.h: in memindex operand you can use X86_NOBASEREG
295 Wed Sep 26 16:29:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
297 * x86/x86-codegen.h: added memindex addressing mode encoding
298 (and mov to/from register opcodes).
300 Mon Sep 24 18:49:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
302 * x86/tramp.c: don't change a MONO_TYPE_STRING to a char*
303 when it's an argument to an internalcall.
305 Sun Sep 23 13:44:57 CEST 2001 Paolo Molaro <lupus@ximian.com>
307 * x86/tramp.c: handle MONO_TYPE_CLASS in trampolines.
309 2001-09-21 Dietmar Maurer <dietmar@ximian.com>
311 * x86/x86-codegen.h (x86_breakpoint): added.
313 Tue Sep 18 13:23:59 CEST 2001 Paolo Molaro <lupus@ximian.com>
315 * x86/x86-codegen.h: remove C++ comments.
317 2001-09-17 Dietmar Maurer <dietmar@ximian.com>
319 * x86/x86-codegen.h (x86_alu_reg_reg): replaced src/dest
321 Mon Sep 10 17:26:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
323 * Makefile.am, x86/Makefile.am: conditional compile logic
324 to make porting to different targets easier.
326 Fri Sep 7 18:43:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
328 * x86/x86-codegen.h: fixes and x86_mov_membase_imm ().
329 * x86/tramp.c: implemented mono_create_method_pointer ():
330 creates a native pointer to a method implementation that can be
331 used as a normal C callback.
333 Thu Sep 6 15:38:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
335 * x86/x86-codegen.h: added x86_rdtsc() and fixes.
336 * x86/tramp.c: create trampolines to call pinvoke methods.
337 * x86/Makefile.am: create a libmonoarch convenience library.
339 Mon Aug 27 09:29:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
341 * x86/x86-codegen.h: fix x86_call_code (). x86_mov_regp_reg () added.
343 Sat Aug 18 12:40:32 CEST 2001 Paolo Molaro <lupus@ximian.com>
345 * x86/x86-codegen.h: fix a couple of buglets and add x86_regp_emit().
347 Wed Aug 8 15:30:05 CEST 2001 Paolo Molaro <lupus@ximian.com>
349 * x86/x86-codegen.h, x86/test.c: added x86 code emitter with