2002-02-24 Radek Doulik <rodo@ximian.com>
[mono.git] / mono / arch / ChangeLog
1 2002-02-24  Radek Doulik  <rodo@ximian.com>
2
3         * ppc/tramp.c (mono_create_method_pointer): basic delegates
4         implementation, it works for simple delegates now and I am already
5         pretty close to have it working for every delegates, but I am
6         going to sleep and finish it tomorrow?
7
8 2002-02-22  Jeffrey Stedfast  <fejj@ximian.com>
9
10         * sparc/tramp.c (mono_create_trampoline): Much tinkering to get
11         the opcodes more correct. Still needs a lot of work.
12
13 2002-02-19  Radek Doulik  <rodo@ximian.com>
14
15         * ppc/tramp.c (emit_save_parameters): don't start saving 64bit values to
16         even registers
17         added stack saving for most arguments
18
19 Tue Feb 19 20:19:38 CET 2002 Paolo Molaro <lupus@ximian.com>
20
21         * x86/tramp.c: avoid pointer arthmetric (pointed out by Serge).
22
23 2002-02-17  Radek Doulik  <rodo@ximian.com>
24
25         * ppc/tramp.c: fixed minimal stack size, fixed string parameters,
26         fix byte and half word parameters 
27         (mono_string_new_wrapper): new helper function, cut&pasted from
28         x86, modified to check for NULL text to avoid branching in
29         generated code
30         (calculate_sizes): updated for string retval changes
31         (emit_call_and_store_retval): updated for string retval
32
33         * ppc/ppc-codegen.h (ppc_mr): added lhz, lbz, sth
34
35 2002-02-16  Radek Doulik  <rodo@ximian.com>
36
37         * ppc/tramp.c (emit_call_and_store_retval): support U2, I2, CHAR
38
39 Mon Feb 11 18:40:04 CET 2002 Paolo Molaro <lupus@ximian.com>
40
41         * sparc/*: sparc codegen header and some untested trampoline code.
42
43 Mon Feb 11 12:32:35 CET 2002 Paolo Molaro <lupus@ximian.com>
44
45         * x86/tramp.c: fix handling of multiple marshaleed strings.
46         * x86/x86-codegen.h: some code to patch branch displacements.
47
48 Fri Feb 1 16:03:00 CET 2002 Paolo Molaro <lupus@ximian.com>
49
50         * x86/tramp.c, ppc/tramp.c: implement mono_method_pointer_get ().
51
52 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
53
54         * x86/tramp.c (mono_create_trampoline): Do not try to create a
55         mono_string_new if the return value from the PInvoke code is
56         NULL. 
57
58 Mon Jan 14 11:50:16 CET 2002 Paolo Molaro <lupus@ximian.com>
59
60         * x86/x86-codegen.c: added overflow condition code and some aliases
61         for the other ccs.
62
63 Thu Jan 10 21:01:08 CET 2002 Paolo Molaro <lupus@ximian.com>
64
65         * x86/tramp.c: mono_create_trampoline (): the runtime argument is
66         needed to handle correctly delegates, the previous change in handling
67         the string return type broke them.
68
69 Tue Jan  8 22:38:41 MST 2002 Matt Kimball <matt@kimball.net>
70         
71         * x86/tramp.c: handle strings returned from functions in external 
72         libraries by converting to a Mono string object after the pinvoke'd 
73         function returns
74         
75 Sat Jan 5 15:51:06 CET 2002 Paolo Molaro <lupus@ximian.com>
76
77         * x86/tramp.c: handle short integer return types.
78
79 Thu Dec 20 20:13:07 CET 2001 Paolo Molaro <lupus@ximian.com>
80
81         * x86/tramp.c: fix create_method_pointer() to pass the arguments
82         correctly and add check for overflow.
83
84 Thu Dec 13 15:56:53 CET 2001 Paolo Molaro <lupus@ximian.com>
85
86         * x86/x86-codegen.h: x86_mov_memindex_imm() added.
87         
88 2001-11-29  Radek Doulik  <rodo@ximian.com>
89
90         * ppc/tramp.c: use r12 which is volatile instead of non-volatile
91         r14 to avoid saving
92
93         * Makefile.am (libmonoarch_la_LIBADD): added ppc to DIST_SUBDIRS
94         generate libmonoarch for ppc
95
96 Tue Nov 27 15:24:07 CET 2001 Paolo Molaro <lupus@ximian.com>
97
98         * x96/x86-codegen.c: x86_lea_memindex() added.
99
100 Thu Nov 15 17:41:01 CET 2001 Paolo Molaro <lupus@ximian.com>
101
102         * x86/tramp.c: handle enums with underlying type different from int32.
103
104 Wed Nov 14 19:21:26 CET 2001 Paolo Molaro <lupus@ximian.com>
105
106         * x86/tramp.c: handle boolean as a return value.
107         * x96/x86-codegen.c: x86_widen_memindex() added.
108
109 2001-11-07  Miguel de Icaza  <miguel@ximian.com>
110
111         * x86/tramp.c: Include stdlib to kill warning.
112
113 Mon Oct 22 15:20:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
114
115         * x86/tramp.c: handle boolean, u1 and i1 as return values.
116
117 Wed Oct 10 16:07:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
118
119         * x86/x86-codegen.c: added x86_set_{reg,mem,membase}.
120
121 Mon Oct 8 16:13:07 CEST 2001 Paolo Molaro <lupus@ximian.com>
122
123         * x86/tramp.c: remove mono_get_ansi_string () and use
124         mono_string_to_utf8 () instead.
125
126 Thu Oct 4 19:09:13 CEST 2001 Paolo Molaro <lupus@ximian.com>
127
128         * x86/tramp.c: allow marshalling valuetypes if they are
129         4 bytes long.
130
131 Mon Oct 1 18:48:27 CEST 2001 Paolo Molaro <lupus@ximian.com>
132
133         * x86/tramp.c: fix thinko (s/SUB/ADD/) in stack adjustment
134         and avoid a couple of unnecessary instructions.
135
136 Fri Sep 28 19:43:12 CEST 2001 Paolo Molaro <lupus@ximian.com>
137
138         * x86/tramp.c: marshal valuetypes that are enums.
139
140 Thu Sep 27 15:34:37 CEST 2001 Paolo Molaro <lupus@ximian.com>
141
142         * x86/x86-codegen.h: in memindex operand you can use X86_NOBASEREG
143         as basereg.
144
145 Wed Sep 26 16:29:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
146
147         * x86/x86-codegen.h: added memindex addressing mode encoding
148         (and mov to/from register opcodes).
149
150 Mon Sep 24 18:49:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
151
152         * x86/tramp.c: don't change a MONO_TYPE_STRING to a char*
153         when it's an argument to an internalcall.
154
155 Sun Sep 23 13:44:57 CEST 2001 Paolo Molaro <lupus@ximian.com>
156
157         * x86/tramp.c: handle MONO_TYPE_CLASS in trampolines.
158
159 2001-09-21  Dietmar Maurer  <dietmar@ximian.com>
160
161         * x86/x86-codegen.h (x86_breakpoint): added.
162
163 Tue Sep 18 13:23:59 CEST 2001 Paolo Molaro <lupus@ximian.com>
164
165         * x86/x86-codegen.h: remove C++ comments.
166
167 2001-09-17  Dietmar Maurer  <dietmar@ximian.com>
168
169         * x86/x86-codegen.h (x86_alu_reg_reg): replaced src/dest
170
171 Mon Sep 10 17:26:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
172
173         * Makefile.am, x86/Makefile.am: conditional compile logic
174         to make porting to different targets easier.
175
176 Fri Sep 7 18:43:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
177
178         * x86/x86-codegen.h: fixes and x86_mov_membase_imm ().
179         * x86/tramp.c: implemented mono_create_method_pointer ():
180         creates a native pointer to a method implementation that can be 
181         used as a normal C callback.
182
183 Thu Sep 6 15:38:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
184
185         * x86/x86-codegen.h: added x86_rdtsc() and fixes.
186         * x86/tramp.c: create trampolines to call pinvoke methods.
187         * x86/Makefile.am: create a libmonoarch convenience library.
188
189 Mon Aug 27 09:29:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
190
191         * x86/x86-codegen.h: fix x86_call_code (). x86_mov_regp_reg () added.
192
193 Sat Aug 18 12:40:32 CEST 2001 Paolo Molaro <lupus@ximian.com>
194
195         * x86/x86-codegen.h: fix a couple of buglets and add x86_regp_emit().
196
197 Wed Aug 8 15:30:05 CEST 2001 Paolo Molaro <lupus@ximian.com>
198
199         * x86/x86-codegen.h, x86/test.c: added x86 code emitter with
200         test.
201