1 2004-03-29 Bernie Solomon <bernard@ugsolutions.com>
10 remove child from MonoInvocation as it isn't used.
12 2004-03-23 Bernie Solomon <bernard@ugsolutions.com>
14 * hppa/hppa-codegen.h: created
16 * hppa/tramp.c: changed style to be more like
19 * hppa/Makefile.am: add hppa-codegen.h
21 2004-03-16 Zoltan Varga <vargaz@freemail.hu>
23 * sparc/sparc-codegen.h: Add v9 branches with prediction.
25 2004-03-15 Bernie Solomon <bernard@ugsolutions.com>
27 * sparc/sparc-codegen.h: tweak sparc_mov_reg_reg
28 so Sun's dis command recognizes it.
30 2004-03-15 Zoltan Varga <vargaz@freemail.hu>
32 * sparc/sparc-codegen.h: Add some v9 instructions.
34 2004-03-11 Zoltan Varga <vargaz@freemail.hu>
36 * sparc/sparc-codegen.h: Ongoing sparc work.
38 2004-03-07 Duncan Mak <duncan@ximian.com>
40 * Makefile.am: Removed the reference to 'x86-64'. This was the cause
41 of the missing Mono daily tarballs, 'make dist' wasn't working.
43 We do have an 'amd64' directory, but it doesn't make it in 'make
46 2004-02-19 Zoltan Varga <vargaz@freemail.hu>
48 * sparc/sparc-codegen.h: Fix lots of opcodes + add new ones.
50 * sparc/tramp.c: Fix alignment of structures containing doubles.
52 2004-02-02 Zoltan Varga <vargaz@freemail.hu>
54 * sparc/tramp.c: Implement all floating point argument passing conventions in
55 Sparc V8. Also fix structure passing in V8.
57 Thu Nov 13 16:24:29 CET 2003 Paolo Molaro <lupus@ximian.com>
59 * ppc/ppc-codegen.h: fixed most of the incorrect macros from ct.
61 2003-10-31 Zoltan Varga <vargaz@freemail.hu>
63 * */tramp.c (mono_create_method_pointer): Rename to
64 mono_arch_create_method_pointer, move common code to a new function in
67 * */tramp.c (mono_create_trampoline): Rename to
68 mono_arch_create_trampoline for consistency.
70 2003-10-13 Bernie Solomon <bernard@ugsolutions.com>
72 * x86/tramp.c: restore EDX after memcpy call
74 2003-10-13 Bernie Solomon <bernard@ugsolutions.com>
76 * Makefile.am: add hppa subdir
78 * hppa/tramp.c: add initial implementation - this is 64 bit only
79 hppa/Makefile.am hppa/.cvsignore: added
81 2003-10-13 Bernie Solomon <bernard@ugsolutions.com>
83 * sparc/sparc-codegen.h sparc/tramp.c: add initial implementation
84 for V9 (64 bit), cover more 32 bit cases as well.
86 2003-09-03 Zoltan Varga <vargaz@freemail.hu>
88 * x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com).
90 2003-08-21 Zoltan Varga <vargaz@freemail.hu>
92 * x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com).
94 Tue Jul 1 13:03:43 CEST 2003 Paolo Molaro <lupus@ximian.com>
96 * alpha/tramp.c: update from Laramie Leavitt (lar@leavitt.us).
98 2003-05-20 Dietmar Maurer <dietmar@ximian.com>
100 * x86/x86-codegen.h (x86_set_reg): add an assertion - it does
101 not work for all registers.
103 Sat Feb 1 10:59:31 CET 2003 Paolo Molaro <lupus@ximian.com>
105 * alpha/*: update from Laramie.
107 Mon Jan 27 12:49:10 CET 2003 Paolo Molaro <lupus@ximian.com>
109 * alpha/*: start of the port to the alpha architecture by
110 Laramie Leavitt (<lar@leavitt.us>).
112 Tue Jan 21 17:29:53 CET 2003 Paolo Molaro <lupus@ximian.com>
114 * ppc/ppc-codegen.h: completed ppc native code generation by
115 Taylor Christopher P <ct@cs.clemson.edu>.
117 Fri Jan 17 21:14:18 CET 2003 Paolo Molaro <lupus@ximian.com>
119 * ppc/tramp.c: adapted to work for MacOSX (from a patch by
122 2002-11-11 Mark Crichton <crichton@gimp.org>
124 * sparc/tramp.c: Added some disassembly bits for debugging.
126 2002-10-02 Mark Crichton <crichton@gimp.org>
128 * sparc/tramp.c: More cleanup of the trampoline code. Still some
129 problems with it w.r.t. delegates.
131 2002-09-25 Mark Crichton <crichton@gimp.org>
133 * sparc/tramp.c: Off by one error. Whoops. Trampoline code should
136 2002-09-24 Mark Crichton <crichton@gimp.org>
138 * sparc/tramp.c: Works as well as the old code did. Cleanup is
139 finished. The framework now for adding more type support is in,
140 and should be a *lot* cleaner.
142 2002-09-22 Mark Crichton <crichton@gimp.org>
144 * sparc/tramp.c: Completely broke trampolining on SPARC processors.
145 The code needed a nasty cleanup, so most of it is rewritten.
148 2002-08-20 Mark Crichton <crichton@gimp.org>
150 * sparc/tramp.c (mono_create_trampoline): Now works on Sparc. Tested
151 on an Ultra 2 running Linux.
153 Mon Aug 5 19:21:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
155 * x86/tramp.c: fix random memory read in mono_create_method_pointer.
157 2002-08-05 Dietmar Maurer <dietmar@ximian.com>
159 * x86/tramp.c (mono_create_trampoline): fixed stack_size bug
161 2002-08-01 Dietmar Maurer <dietmar@ximian.com>
163 * x86/tramp.c (mono_create_method_pointer): allocate space for
165 (mono_create_trampoline): also push the value type pointer for
166 methods returning value types.
167 (mono_create_method_pointer): support valuetype returns.
169 2002-07-31 Dietmar Maurer <dietmar@ximian.com>
171 * x86/tramp.c: remove code to handle PInvoke because this is no
173 (mono_create_method_pointer): return method->addr for pinvoke methods
175 Fri Jul 19 14:18:36 CEST 2002 Paolo Molaro <lupus@ximian.com>
177 * x86/tramp.c: fix float loads. Simple delegate marshaling fix.
179 2002-07-08 Radek Doulik <rodo@ximian.com>
181 * ppc/tramp.c: marshaling for SZARRAY
183 2002-07-05 Radek Doulik <rodo@ximian.com>
185 * ppc/tramp.c: removed magic hack
187 Tue Jun 18 10:21:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
189 * x86/tramp.c: marshal simple arrays correctly.
191 2002-05-27 Miguel de Icaza <miguel@ximian.com>
193 * x86/x86-codegen.h: Set the standard header format.
195 2002-05-23 Dietmar Maurer <dietmar@ximian.com>
197 * x86/tramp.c (mono_create_method_pointer): removed the magic
198 trick to store the function pointer in the prolog and use the same
199 mechanism as in the jit.
201 2002-05-13 Radek Doulik <rodo@ximian.com>
203 * ppc/tramp.c (emit_save_parameters): fix I8 parameters
205 2002-05-06 Sergey Chaban <serge@wildwestsoftware.com>
207 * x86/x86-codegen.h: added missing shifts;
208 8-bit ALU operations (reg-reg);
209 macro for FPU ops with integer operand;
210 FIST macro (without pop);
212 Mon Apr 22 12:57:31 CEST 2002 Paolo Molaro <lupus@ximian.com>
214 * x86/x86-codegen.h: added loop instructions and made x86_patch fully
217 2002-04-20 Dietmar Maurer <dietmar@ximian.com>
219 * x86/tramp.c (mono_create_trampoline): support internalcall
222 Sat Apr 6 16:29:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
224 * x86/tramp.c: fix advancement of argument position on the stack.
226 Sat Mar 16 19:12:57 CET 2002 Paolo Molaro <lupus@ximian.com>
228 * x86/tramp.c: increase default allocated size for trampolines
229 and assert on overflow.
231 2002-03-14 Dietmar Maurer <dietmar@ximian.com>
233 * x86/tramp.c (mono_create_trampoline): dont use fld/fst to copy
236 Mon Mar 11 16:14:29 CET 2002 Paolo Molaro <lupus@ximian.com>
238 * x86/x86-codegen.h: addex x86_clear_reg() and changed
239 x86_mov_reg_imm() to not check for imm == 0.
241 Thu Feb 28 12:34:21 CET 2002 Paolo Molaro <lupus@ximian.com>
243 * x86/tramp.c: start handling of more complex marshaling stuff.
245 2002-02-25 Sergey Chaban <serge@wildwestsoftware.com>
247 * arm: added ARM support code.
248 * Makefile.am: added arm to DIST_SUBDIRS.
250 2002-02-24 Radek Doulik <rodo@ximian.com>
252 * ppc/tramp.c (mono_create_method_pointer): basic delegates
253 implementation, it works for simple delegates now and I am already
254 pretty close to have it working for every delegates, but I am
255 going to sleep and finish it tomorrow?
256 (mono_create_method_pointer): implements delegates with parameters
259 2002-02-22 Jeffrey Stedfast <fejj@ximian.com>
261 * sparc/tramp.c (mono_create_trampoline): Much tinkering to get
262 the opcodes more correct. Still needs a lot of work.
264 2002-02-19 Radek Doulik <rodo@ximian.com>
266 * ppc/tramp.c (emit_save_parameters): don't start saving 64bit values to
268 added stack saving for most arguments
270 Tue Feb 19 20:19:38 CET 2002 Paolo Molaro <lupus@ximian.com>
272 * x86/tramp.c: avoid pointer arthmetric (pointed out by Serge).
274 2002-02-17 Radek Doulik <rodo@ximian.com>
276 * ppc/tramp.c: fixed minimal stack size, fixed string parameters,
277 fix byte and half word parameters
278 (mono_string_new_wrapper): new helper function, cut&pasted from
279 x86, modified to check for NULL text to avoid branching in
281 (calculate_sizes): updated for string retval changes
282 (emit_call_and_store_retval): updated for string retval
284 * ppc/ppc-codegen.h (ppc_mr): added lhz, lbz, sth
286 2002-02-16 Radek Doulik <rodo@ximian.com>
288 * ppc/tramp.c (emit_call_and_store_retval): support U2, I2, CHAR
290 Mon Feb 11 18:40:04 CET 2002 Paolo Molaro <lupus@ximian.com>
292 * sparc/*: sparc codegen header and some untested trampoline code.
294 Mon Feb 11 12:32:35 CET 2002 Paolo Molaro <lupus@ximian.com>
296 * x86/tramp.c: fix handling of multiple marshaleed strings.
297 * x86/x86-codegen.h: some code to patch branch displacements.
299 Fri Feb 1 16:03:00 CET 2002 Paolo Molaro <lupus@ximian.com>
301 * x86/tramp.c, ppc/tramp.c: implement mono_method_pointer_get ().
303 2002-01-23 Miguel de Icaza <miguel@ximian.com>
305 * x86/tramp.c (mono_create_trampoline): Do not try to create a
306 mono_string_new if the return value from the PInvoke code is
309 Mon Jan 14 11:50:16 CET 2002 Paolo Molaro <lupus@ximian.com>
311 * x86/x86-codegen.c: added overflow condition code and some aliases
314 Thu Jan 10 21:01:08 CET 2002 Paolo Molaro <lupus@ximian.com>
316 * x86/tramp.c: mono_create_trampoline (): the runtime argument is
317 needed to handle correctly delegates, the previous change in handling
318 the string return type broke them.
320 Tue Jan 8 22:38:41 MST 2002 Matt Kimball <matt@kimball.net>
322 * x86/tramp.c: handle strings returned from functions in external
323 libraries by converting to a Mono string object after the pinvoke'd
326 Sat Jan 5 15:51:06 CET 2002 Paolo Molaro <lupus@ximian.com>
328 * x86/tramp.c: handle short integer return types.
330 Thu Dec 20 20:13:07 CET 2001 Paolo Molaro <lupus@ximian.com>
332 * x86/tramp.c: fix create_method_pointer() to pass the arguments
333 correctly and add check for overflow.
335 Thu Dec 13 15:56:53 CET 2001 Paolo Molaro <lupus@ximian.com>
337 * x86/x86-codegen.h: x86_mov_memindex_imm() added.
339 2001-11-29 Radek Doulik <rodo@ximian.com>
341 * ppc/tramp.c: use r12 which is volatile instead of non-volatile
344 * Makefile.am (libmonoarch_la_LIBADD): added ppc to DIST_SUBDIRS
345 generate libmonoarch for ppc
347 Tue Nov 27 15:24:07 CET 2001 Paolo Molaro <lupus@ximian.com>
349 * x96/x86-codegen.c: x86_lea_memindex() added.
351 Thu Nov 15 17:41:01 CET 2001 Paolo Molaro <lupus@ximian.com>
353 * x86/tramp.c: handle enums with underlying type different from int32.
355 Wed Nov 14 19:21:26 CET 2001 Paolo Molaro <lupus@ximian.com>
357 * x86/tramp.c: handle boolean as a return value.
358 * x96/x86-codegen.c: x86_widen_memindex() added.
360 2001-11-07 Miguel de Icaza <miguel@ximian.com>
362 * x86/tramp.c: Include stdlib to kill warning.
364 Mon Oct 22 15:20:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
366 * x86/tramp.c: handle boolean, u1 and i1 as return values.
368 Wed Oct 10 16:07:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
370 * x86/x86-codegen.c: added x86_set_{reg,mem,membase}.
372 Mon Oct 8 16:13:07 CEST 2001 Paolo Molaro <lupus@ximian.com>
374 * x86/tramp.c: remove mono_get_ansi_string () and use
375 mono_string_to_utf8 () instead.
377 Thu Oct 4 19:09:13 CEST 2001 Paolo Molaro <lupus@ximian.com>
379 * x86/tramp.c: allow marshalling valuetypes if they are
382 Mon Oct 1 18:48:27 CEST 2001 Paolo Molaro <lupus@ximian.com>
384 * x86/tramp.c: fix thinko (s/SUB/ADD/) in stack adjustment
385 and avoid a couple of unnecessary instructions.
387 Fri Sep 28 19:43:12 CEST 2001 Paolo Molaro <lupus@ximian.com>
389 * x86/tramp.c: marshal valuetypes that are enums.
391 Thu Sep 27 15:34:37 CEST 2001 Paolo Molaro <lupus@ximian.com>
393 * x86/x86-codegen.h: in memindex operand you can use X86_NOBASEREG
396 Wed Sep 26 16:29:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
398 * x86/x86-codegen.h: added memindex addressing mode encoding
399 (and mov to/from register opcodes).
401 Mon Sep 24 18:49:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
403 * x86/tramp.c: don't change a MONO_TYPE_STRING to a char*
404 when it's an argument to an internalcall.
406 Sun Sep 23 13:44:57 CEST 2001 Paolo Molaro <lupus@ximian.com>
408 * x86/tramp.c: handle MONO_TYPE_CLASS in trampolines.
410 2001-09-21 Dietmar Maurer <dietmar@ximian.com>
412 * x86/x86-codegen.h (x86_breakpoint): added.
414 Tue Sep 18 13:23:59 CEST 2001 Paolo Molaro <lupus@ximian.com>
416 * x86/x86-codegen.h: remove C++ comments.
418 2001-09-17 Dietmar Maurer <dietmar@ximian.com>
420 * x86/x86-codegen.h (x86_alu_reg_reg): replaced src/dest
422 Mon Sep 10 17:26:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
424 * Makefile.am, x86/Makefile.am: conditional compile logic
425 to make porting to different targets easier.
427 Fri Sep 7 18:43:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
429 * x86/x86-codegen.h: fixes and x86_mov_membase_imm ().
430 * x86/tramp.c: implemented mono_create_method_pointer ():
431 creates a native pointer to a method implementation that can be
432 used as a normal C callback.
434 Thu Sep 6 15:38:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
436 * x86/x86-codegen.h: added x86_rdtsc() and fixes.
437 * x86/tramp.c: create trampolines to call pinvoke methods.
438 * x86/Makefile.am: create a libmonoarch convenience library.
440 Mon Aug 27 09:29:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
442 * x86/x86-codegen.h: fix x86_call_code (). x86_mov_regp_reg () added.
444 Sat Aug 18 12:40:32 CEST 2001 Paolo Molaro <lupus@ximian.com>
446 * x86/x86-codegen.h: fix a couple of buglets and add x86_regp_emit().
448 Wed Aug 8 15:30:05 CEST 2001 Paolo Molaro <lupus@ximian.com>
450 * x86/x86-codegen.h, x86/test.c: added x86 code emitter with