1 2004-02-19 Zoltan Varga <vargaz@freemail.hu>
3 * sparc/tramp.c: Fix alignment of structures containing doubles.
5 2004-02-02 Zoltan Varga <vargaz@freemail.hu>
7 * sparc/tramp.c: Implement all floating point argument passing conventions in
8 Sparc V8. Also fix structure passing in V8.
10 Thu Nov 13 16:24:29 CET 2003 Paolo Molaro <lupus@ximian.com>
12 * ppc/ppc-codegen.h: fixed most of the incorrect macros from ct.
14 2003-10-31 Zoltan Varga <vargaz@freemail.hu>
16 * */tramp.c (mono_create_method_pointer): Rename to
17 mono_arch_create_method_pointer, move common code to a new function in
20 * */tramp.c (mono_create_trampoline): Rename to
21 mono_arch_create_trampoline for consistency.
23 2003-10-13 Bernie Solomon <bernard@ugsolutions.com>
25 * x86/tramp.c: restore EDX after memcpy call
27 2003-10-13 Bernie Solomon <bernard@ugsolutions.com>
29 * Makefile.am: add hppa subdir
31 * hppa/tramp.c: add initial implementation - this is 64 bit only
32 hppa/Makefile.am hppa/.cvsignore: added
34 2003-10-13 Bernie Solomon <bernard@ugsolutions.com>
36 * sparc/sparc-codegen.h sparc/tramp.c: add initial implementation
37 for V9 (64 bit), cover more 32 bit cases as well.
39 2003-09-03 Zoltan Varga <vargaz@freemail.hu>
41 * x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com).
43 2003-08-21 Zoltan Varga <vargaz@freemail.hu>
45 * x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com).
47 Tue Jul 1 13:03:43 CEST 2003 Paolo Molaro <lupus@ximian.com>
49 * alpha/tramp.c: update from Laramie Leavitt (lar@leavitt.us).
51 2003-05-20 Dietmar Maurer <dietmar@ximian.com>
53 * x86/x86-codegen.h (x86_set_reg): add an assertion - it does
54 not work for all registers.
56 Sat Feb 1 10:59:31 CET 2003 Paolo Molaro <lupus@ximian.com>
58 * alpha/*: update from Laramie.
60 Mon Jan 27 12:49:10 CET 2003 Paolo Molaro <lupus@ximian.com>
62 * alpha/*: start of the port to the alpha architecture by
63 Laramie Leavitt (<lar@leavitt.us>).
65 Tue Jan 21 17:29:53 CET 2003 Paolo Molaro <lupus@ximian.com>
67 * ppc/ppc-codegen.h: completed ppc native code generation by
68 Taylor Christopher P <ct@cs.clemson.edu>.
70 Fri Jan 17 21:14:18 CET 2003 Paolo Molaro <lupus@ximian.com>
72 * ppc/tramp.c: adapted to work for MacOSX (from a patch by
75 2002-11-11 Mark Crichton <crichton@gimp.org>
77 * sparc/tramp.c: Added some disassembly bits for debugging.
79 2002-10-02 Mark Crichton <crichton@gimp.org>
81 * sparc/tramp.c: More cleanup of the trampoline code. Still some
82 problems with it w.r.t. delegates.
84 2002-09-25 Mark Crichton <crichton@gimp.org>
86 * sparc/tramp.c: Off by one error. Whoops. Trampoline code should
89 2002-09-24 Mark Crichton <crichton@gimp.org>
91 * sparc/tramp.c: Works as well as the old code did. Cleanup is
92 finished. The framework now for adding more type support is in,
93 and should be a *lot* cleaner.
95 2002-09-22 Mark Crichton <crichton@gimp.org>
97 * sparc/tramp.c: Completely broke trampolining on SPARC processors.
98 The code needed a nasty cleanup, so most of it is rewritten.
101 2002-08-20 Mark Crichton <crichton@gimp.org>
103 * sparc/tramp.c (mono_create_trampoline): Now works on Sparc. Tested
104 on an Ultra 2 running Linux.
106 Mon Aug 5 19:21:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
108 * x86/tramp.c: fix random memory read in mono_create_method_pointer.
110 2002-08-05 Dietmar Maurer <dietmar@ximian.com>
112 * x86/tramp.c (mono_create_trampoline): fixed stack_size bug
114 2002-08-01 Dietmar Maurer <dietmar@ximian.com>
116 * x86/tramp.c (mono_create_method_pointer): allocate space for
118 (mono_create_trampoline): also push the value type pointer for
119 methods returning value types.
120 (mono_create_method_pointer): support valuetype returns.
122 2002-07-31 Dietmar Maurer <dietmar@ximian.com>
124 * x86/tramp.c: remove code to handle PInvoke because this is no
126 (mono_create_method_pointer): return method->addr for pinvoke methods
128 Fri Jul 19 14:18:36 CEST 2002 Paolo Molaro <lupus@ximian.com>
130 * x86/tramp.c: fix float loads. Simple delegate marshaling fix.
132 2002-07-08 Radek Doulik <rodo@ximian.com>
134 * ppc/tramp.c: marshaling for SZARRAY
136 2002-07-05 Radek Doulik <rodo@ximian.com>
138 * ppc/tramp.c: removed magic hack
140 Tue Jun 18 10:21:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
142 * x86/tramp.c: marshal simple arrays correctly.
144 2002-05-27 Miguel de Icaza <miguel@ximian.com>
146 * x86/x86-codegen.h: Set the standard header format.
148 2002-05-23 Dietmar Maurer <dietmar@ximian.com>
150 * x86/tramp.c (mono_create_method_pointer): removed the magic
151 trick to store the function pointer in the prolog and use the same
152 mechanism as in the jit.
154 2002-05-13 Radek Doulik <rodo@ximian.com>
156 * ppc/tramp.c (emit_save_parameters): fix I8 parameters
158 2002-05-06 Sergey Chaban <serge@wildwestsoftware.com>
160 * x86/x86-codegen.h: added missing shifts;
161 8-bit ALU operations (reg-reg);
162 macro for FPU ops with integer operand;
163 FIST macro (without pop);
165 Mon Apr 22 12:57:31 CEST 2002 Paolo Molaro <lupus@ximian.com>
167 * x86/x86-codegen.h: added loop instructions and made x86_patch fully
170 2002-04-20 Dietmar Maurer <dietmar@ximian.com>
172 * x86/tramp.c (mono_create_trampoline): support internalcall
175 Sat Apr 6 16:29:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
177 * x86/tramp.c: fix advancement of argument position on the stack.
179 Sat Mar 16 19:12:57 CET 2002 Paolo Molaro <lupus@ximian.com>
181 * x86/tramp.c: increase default allocated size for trampolines
182 and assert on overflow.
184 2002-03-14 Dietmar Maurer <dietmar@ximian.com>
186 * x86/tramp.c (mono_create_trampoline): dont use fld/fst to copy
189 Mon Mar 11 16:14:29 CET 2002 Paolo Molaro <lupus@ximian.com>
191 * x86/x86-codegen.h: addex x86_clear_reg() and changed
192 x86_mov_reg_imm() to not check for imm == 0.
194 Thu Feb 28 12:34:21 CET 2002 Paolo Molaro <lupus@ximian.com>
196 * x86/tramp.c: start handling of more complex marshaling stuff.
198 2002-02-25 Sergey Chaban <serge@wildwestsoftware.com>
200 * arm: added ARM support code.
201 * Makefile.am: added arm to DIST_SUBDIRS.
203 2002-02-24 Radek Doulik <rodo@ximian.com>
205 * ppc/tramp.c (mono_create_method_pointer): basic delegates
206 implementation, it works for simple delegates now and I am already
207 pretty close to have it working for every delegates, but I am
208 going to sleep and finish it tomorrow?
209 (mono_create_method_pointer): implements delegates with parameters
212 2002-02-22 Jeffrey Stedfast <fejj@ximian.com>
214 * sparc/tramp.c (mono_create_trampoline): Much tinkering to get
215 the opcodes more correct. Still needs a lot of work.
217 2002-02-19 Radek Doulik <rodo@ximian.com>
219 * ppc/tramp.c (emit_save_parameters): don't start saving 64bit values to
221 added stack saving for most arguments
223 Tue Feb 19 20:19:38 CET 2002 Paolo Molaro <lupus@ximian.com>
225 * x86/tramp.c: avoid pointer arthmetric (pointed out by Serge).
227 2002-02-17 Radek Doulik <rodo@ximian.com>
229 * ppc/tramp.c: fixed minimal stack size, fixed string parameters,
230 fix byte and half word parameters
231 (mono_string_new_wrapper): new helper function, cut&pasted from
232 x86, modified to check for NULL text to avoid branching in
234 (calculate_sizes): updated for string retval changes
235 (emit_call_and_store_retval): updated for string retval
237 * ppc/ppc-codegen.h (ppc_mr): added lhz, lbz, sth
239 2002-02-16 Radek Doulik <rodo@ximian.com>
241 * ppc/tramp.c (emit_call_and_store_retval): support U2, I2, CHAR
243 Mon Feb 11 18:40:04 CET 2002 Paolo Molaro <lupus@ximian.com>
245 * sparc/*: sparc codegen header and some untested trampoline code.
247 Mon Feb 11 12:32:35 CET 2002 Paolo Molaro <lupus@ximian.com>
249 * x86/tramp.c: fix handling of multiple marshaleed strings.
250 * x86/x86-codegen.h: some code to patch branch displacements.
252 Fri Feb 1 16:03:00 CET 2002 Paolo Molaro <lupus@ximian.com>
254 * x86/tramp.c, ppc/tramp.c: implement mono_method_pointer_get ().
256 2002-01-23 Miguel de Icaza <miguel@ximian.com>
258 * x86/tramp.c (mono_create_trampoline): Do not try to create a
259 mono_string_new if the return value from the PInvoke code is
262 Mon Jan 14 11:50:16 CET 2002 Paolo Molaro <lupus@ximian.com>
264 * x86/x86-codegen.c: added overflow condition code and some aliases
267 Thu Jan 10 21:01:08 CET 2002 Paolo Molaro <lupus@ximian.com>
269 * x86/tramp.c: mono_create_trampoline (): the runtime argument is
270 needed to handle correctly delegates, the previous change in handling
271 the string return type broke them.
273 Tue Jan 8 22:38:41 MST 2002 Matt Kimball <matt@kimball.net>
275 * x86/tramp.c: handle strings returned from functions in external
276 libraries by converting to a Mono string object after the pinvoke'd
279 Sat Jan 5 15:51:06 CET 2002 Paolo Molaro <lupus@ximian.com>
281 * x86/tramp.c: handle short integer return types.
283 Thu Dec 20 20:13:07 CET 2001 Paolo Molaro <lupus@ximian.com>
285 * x86/tramp.c: fix create_method_pointer() to pass the arguments
286 correctly and add check for overflow.
288 Thu Dec 13 15:56:53 CET 2001 Paolo Molaro <lupus@ximian.com>
290 * x86/x86-codegen.h: x86_mov_memindex_imm() added.
292 2001-11-29 Radek Doulik <rodo@ximian.com>
294 * ppc/tramp.c: use r12 which is volatile instead of non-volatile
297 * Makefile.am (libmonoarch_la_LIBADD): added ppc to DIST_SUBDIRS
298 generate libmonoarch for ppc
300 Tue Nov 27 15:24:07 CET 2001 Paolo Molaro <lupus@ximian.com>
302 * x96/x86-codegen.c: x86_lea_memindex() added.
304 Thu Nov 15 17:41:01 CET 2001 Paolo Molaro <lupus@ximian.com>
306 * x86/tramp.c: handle enums with underlying type different from int32.
308 Wed Nov 14 19:21:26 CET 2001 Paolo Molaro <lupus@ximian.com>
310 * x86/tramp.c: handle boolean as a return value.
311 * x96/x86-codegen.c: x86_widen_memindex() added.
313 2001-11-07 Miguel de Icaza <miguel@ximian.com>
315 * x86/tramp.c: Include stdlib to kill warning.
317 Mon Oct 22 15:20:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
319 * x86/tramp.c: handle boolean, u1 and i1 as return values.
321 Wed Oct 10 16:07:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
323 * x86/x86-codegen.c: added x86_set_{reg,mem,membase}.
325 Mon Oct 8 16:13:07 CEST 2001 Paolo Molaro <lupus@ximian.com>
327 * x86/tramp.c: remove mono_get_ansi_string () and use
328 mono_string_to_utf8 () instead.
330 Thu Oct 4 19:09:13 CEST 2001 Paolo Molaro <lupus@ximian.com>
332 * x86/tramp.c: allow marshalling valuetypes if they are
335 Mon Oct 1 18:48:27 CEST 2001 Paolo Molaro <lupus@ximian.com>
337 * x86/tramp.c: fix thinko (s/SUB/ADD/) in stack adjustment
338 and avoid a couple of unnecessary instructions.
340 Fri Sep 28 19:43:12 CEST 2001 Paolo Molaro <lupus@ximian.com>
342 * x86/tramp.c: marshal valuetypes that are enums.
344 Thu Sep 27 15:34:37 CEST 2001 Paolo Molaro <lupus@ximian.com>
346 * x86/x86-codegen.h: in memindex operand you can use X86_NOBASEREG
349 Wed Sep 26 16:29:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
351 * x86/x86-codegen.h: added memindex addressing mode encoding
352 (and mov to/from register opcodes).
354 Mon Sep 24 18:49:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
356 * x86/tramp.c: don't change a MONO_TYPE_STRING to a char*
357 when it's an argument to an internalcall.
359 Sun Sep 23 13:44:57 CEST 2001 Paolo Molaro <lupus@ximian.com>
361 * x86/tramp.c: handle MONO_TYPE_CLASS in trampolines.
363 2001-09-21 Dietmar Maurer <dietmar@ximian.com>
365 * x86/x86-codegen.h (x86_breakpoint): added.
367 Tue Sep 18 13:23:59 CEST 2001 Paolo Molaro <lupus@ximian.com>
369 * x86/x86-codegen.h: remove C++ comments.
371 2001-09-17 Dietmar Maurer <dietmar@ximian.com>
373 * x86/x86-codegen.h (x86_alu_reg_reg): replaced src/dest
375 Mon Sep 10 17:26:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
377 * Makefile.am, x86/Makefile.am: conditional compile logic
378 to make porting to different targets easier.
380 Fri Sep 7 18:43:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
382 * x86/x86-codegen.h: fixes and x86_mov_membase_imm ().
383 * x86/tramp.c: implemented mono_create_method_pointer ():
384 creates a native pointer to a method implementation that can be
385 used as a normal C callback.
387 Thu Sep 6 15:38:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
389 * x86/x86-codegen.h: added x86_rdtsc() and fixes.
390 * x86/tramp.c: create trampolines to call pinvoke methods.
391 * x86/Makefile.am: create a libmonoarch convenience library.
393 Mon Aug 27 09:29:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
395 * x86/x86-codegen.h: fix x86_call_code (). x86_mov_regp_reg () added.
397 Sat Aug 18 12:40:32 CEST 2001 Paolo Molaro <lupus@ximian.com>
399 * x86/x86-codegen.h: fix a couple of buglets and add x86_regp_emit().
401 Wed Aug 8 15:30:05 CEST 2001 Paolo Molaro <lupus@ximian.com>
403 * x86/x86-codegen.h, x86/test.c: added x86 code emitter with