2004-08-16 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mono / arch / ChangeLog
1 2004-08-16  Zoltan Varga  <vargaz@freemail.hu>
2
3         * x86/x86-codegen.h: Add macros for accessing the mod/rm byte.
4
5 2004-07-30  Zoltan Varga  <vargaz@freemail.hu>
6
7         * amd64/amd64-codegen.h: Ongoing JIT work.
8
9 2004-07-29  Ben Maurer  <bmaurer@ximian.com>
10
11         * x86/x86-codegen.h: Add opcodes for cmp BYTE PTR [eax], imm
12
13 2004-07-28  Zoltan Varga  <vargaz@freemail.hu>
14
15         * amd64/amd64-codegen.h: Ongoing JIT work.
16
17 2004-07-24  Zoltan Varga  <vargaz@freemail.hu>
18
19         * amd64/amd64-codegen.h: Ongoing JIT work.
20
21 2004-07-23  Zoltan Varga  <vargaz@freemail.hu>
22
23         * amd64/amd64-codegen.h: Ongoing JIT work.
24
25 2004-07-23  zovarga  <vargaz@freemail.hu>
26
27         * amd64/amd64-codegen.h: Ongoing JIT work.
28
29 2004-06-30  Zoltan Varga  <vargaz@freemail.hu>
30
31         * sparc/sparc-codegen.h: Add SPARC64 support.
32
33 2004-05-07  Bernie Solomon  <bernard@ugsolutions.com>
34
35         * ppc/ppc-codegen.h: remove GCC-ism in ppc_emit32
36
37 2004-04-29  Bernie Solomon  <bernard@ugsolutions.com>
38
39         * ppc/tramp.c: use sizeof (stackval), fix
40         delegate tramp frame layout for Apple
41
42 2004-04-26  David Waite <mass@akuma.org>
43
44         * unknown.c: modify to have content for defined platforms (to
45         avoid ISO C warning)
46
47 2004-03-29  Bernie Solomon  <bernard@ugsolutions.com>
48
49         * amd64/tramp.c:
50         * arm/tramp.c:
51         * hppa/tramp.c:
52         * ppc/tramp.c:
53         * s390/tramp.c:
54         * sparc/tramp.c:
55         * x86/tramp.c:
56         remove child from MonoInvocation as it isn't used.
57
58         * hppa/hppa-codegen.h:
59         fix displacements in FP instrs
60
61 2004-03-23  Bernie Solomon  <bernard@ugsolutions.com>
62
63         * hppa/hppa-codegen.h: created
64
65         * hppa/tramp.c: changed style to be more like
66         other platforms.
67
68         * hppa/Makefile.am: add hppa-codegen.h
69
70 2004-03-16  Zoltan Varga  <vargaz@freemail.hu>
71
72         * sparc/sparc-codegen.h: Add v9 branches with prediction.
73
74 2004-03-15  Bernie Solomon  <bernard@ugsolutions.com>
75
76         * sparc/sparc-codegen.h: tweak sparc_mov_reg_reg
77         so Sun's dis command recognizes it.
78
79 2004-03-15  Zoltan Varga  <vargaz@freemail.hu>
80
81         * sparc/sparc-codegen.h: Add some v9 instructions.
82
83 2004-03-11  Zoltan Varga  <vargaz@freemail.hu>
84
85         * sparc/sparc-codegen.h: Ongoing sparc work.
86
87 2004-03-07  Duncan Mak  <duncan@ximian.com>
88
89         * Makefile.am: Removed the reference to 'x86-64'. This was the cause
90         of the missing Mono daily tarballs, 'make dist' wasn't working.
91         
92         We do have an 'amd64' directory, but it doesn't make it in 'make
93         dist'.
94
95 2004-02-19  Zoltan Varga  <vargaz@freemail.hu>
96
97         * sparc/sparc-codegen.h: Fix lots of opcodes + add new ones.
98
99         * sparc/tramp.c: Fix alignment of structures containing doubles.
100
101 2004-02-02  Zoltan Varga  <vargaz@freemail.hu>
102
103         * sparc/tramp.c: Implement all floating point argument passing conventions in
104         Sparc V8. Also fix structure passing in V8.
105
106 Thu Nov 13 16:24:29 CET 2003 Paolo Molaro <lupus@ximian.com>
107
108         * ppc/ppc-codegen.h: fixed most of the incorrect macros from ct.
109
110 2003-10-31  Zoltan Varga  <vargaz@freemail.hu>
111
112         * */tramp.c (mono_create_method_pointer): Rename to 
113         mono_arch_create_method_pointer, move common code to a new function in
114         interp.c.
115
116         * */tramp.c (mono_create_trampoline): Rename to 
117         mono_arch_create_trampoline for consistency.
118         
119 2003-10-13  Bernie Solomon  <bernard@ugsolutions.com>
120
121         * x86/tramp.c: restore EDX after memcpy call
122
123 2003-10-13  Bernie Solomon  <bernard@ugsolutions.com>
124
125         * Makefile.am: add hppa subdir 
126
127         * hppa/tramp.c: add initial implementation - this is 64 bit only
128         hppa/Makefile.am hppa/.cvsignore: added
129
130 2003-10-13  Bernie Solomon  <bernard@ugsolutions.com>
131
132         * sparc/sparc-codegen.h sparc/tramp.c: add initial implementation
133         for V9 (64 bit), cover more 32 bit cases as well.
134
135 2003-09-03  Zoltan Varga  <vargaz@freemail.hu>
136
137         * x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com).
138
139 2003-08-21  Zoltan Varga  <vargaz@freemail.hu>
140
141         * x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com).
142
143 Tue Jul 1 13:03:43 CEST 2003 Paolo Molaro <lupus@ximian.com>
144
145         * alpha/tramp.c: update from Laramie Leavitt (lar@leavitt.us).
146
147 2003-05-20  Dietmar Maurer  <dietmar@ximian.com>
148
149         * x86/x86-codegen.h (x86_set_reg): add an assertion - it does
150         not work for all registers.
151
152 Sat Feb 1 10:59:31 CET 2003 Paolo Molaro <lupus@ximian.com>
153
154         * alpha/*: update from Laramie.
155
156 Mon Jan 27 12:49:10 CET 2003 Paolo Molaro <lupus@ximian.com>
157
158         * alpha/*: start of the port to the alpha architecture by
159         Laramie Leavitt (<lar@leavitt.us>).
160
161 Tue Jan 21 17:29:53 CET 2003 Paolo Molaro <lupus@ximian.com>
162
163         * ppc/ppc-codegen.h: completed ppc native code generation by
164         Taylor Christopher P <ct@cs.clemson.edu>.
165
166 Fri Jan 17 21:14:18 CET 2003 Paolo Molaro <lupus@ximian.com>
167
168         * ppc/tramp.c: adapted to work for MacOSX (from a patch by 
169         John Duncan).
170
171 2002-11-11  Mark Crichton  <crichton@gimp.org>
172
173         * sparc/tramp.c: Added some disassembly bits for debugging.
174
175 2002-10-02  Mark Crichton  <crichton@gimp.org>
176
177         * sparc/tramp.c: More cleanup of the trampoline code.  Still some
178         problems with it w.r.t. delegates.
179
180 2002-09-25  Mark Crichton  <crichton@gimp.org>
181
182         * sparc/tramp.c: Off by one error.  Whoops.  Trampoline code should
183         now work properly.
184
185 2002-09-24  Mark Crichton  <crichton@gimp.org>
186
187         * sparc/tramp.c: Works as well as the old code did.  Cleanup is
188         finished.  The framework now for adding more type support is in,
189         and should be a *lot* cleaner.
190         
191 2002-09-22  Mark Crichton  <crichton@gimp.org>
192
193         * sparc/tramp.c: Completely broke trampolining on SPARC processors.
194         The code needed a nasty cleanup, so most of it is rewritten.
195         It will be fixed.
196
197 2002-08-20  Mark Crichton <crichton@gimp.org>
198
199         * sparc/tramp.c (mono_create_trampoline): Now works on Sparc.  Tested
200         on an Ultra 2 running Linux.
201
202 Mon Aug 5 19:21:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
203
204         * x86/tramp.c: fix random memory read in mono_create_method_pointer.
205
206 2002-08-05  Dietmar Maurer  <dietmar@ximian.com>
207
208         * x86/tramp.c (mono_create_trampoline): fixed stack_size bug
209
210 2002-08-01  Dietmar Maurer  <dietmar@ximian.com>
211
212         * x86/tramp.c (mono_create_method_pointer): allocate space for
213         value types.
214         (mono_create_trampoline): also push the value type pointer for
215         methods returning value types.
216         (mono_create_method_pointer): support valuetype returns.
217
218 2002-07-31  Dietmar Maurer  <dietmar@ximian.com>
219
220         * x86/tramp.c: remove code to handle PInvoke because this is no
221         longer needed.
222         (mono_create_method_pointer): return method->addr for pinvoke methods
223
224 Fri Jul 19 14:18:36 CEST 2002 Paolo Molaro <lupus@ximian.com>
225
226         * x86/tramp.c: fix float loads. Simple delegate marshaling fix.
227
228 2002-07-08  Radek Doulik  <rodo@ximian.com>
229
230         * ppc/tramp.c: marshaling for SZARRAY
231
232 2002-07-05  Radek Doulik  <rodo@ximian.com>
233
234         * ppc/tramp.c: removed magic hack
235
236 Tue Jun 18 10:21:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
237
238         * x86/tramp.c: marshal simple arrays correctly.
239
240 2002-05-27  Miguel de Icaza  <miguel@ximian.com>
241
242         * x86/x86-codegen.h: Set the standard header format.
243
244 2002-05-23  Dietmar Maurer  <dietmar@ximian.com>
245
246         * x86/tramp.c (mono_create_method_pointer): removed the magic
247         trick to store the function pointer in the prolog and use the same
248         mechanism as in the jit.
249
250 2002-05-13  Radek Doulik  <rodo@ximian.com>
251
252         * ppc/tramp.c (emit_save_parameters): fix I8 parameters
253
254 2002-05-06  Sergey Chaban  <serge@wildwestsoftware.com>
255
256         * x86/x86-codegen.h: added missing shifts;
257         8-bit ALU operations (reg-reg);
258         macro for FPU ops with integer operand;
259         FIST macro (without pop);
260
261 Mon Apr 22 12:57:31 CEST 2002 Paolo Molaro <lupus@ximian.com>
262
263         * x86/x86-codegen.h: added loop instructions and made x86_patch fully
264         useful.
265
266 2002-04-20  Dietmar Maurer  <dietmar@ximian.com>
267
268         * x86/tramp.c (mono_create_trampoline): support internalcall
269         String constructors
270
271 Sat Apr 6 16:29:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
272
273         * x86/tramp.c: fix advancement of argument position on the stack.
274
275 Sat Mar 16 19:12:57 CET 2002 Paolo Molaro <lupus@ximian.com>
276
277         * x86/tramp.c: increase default allocated size for trampolines
278         and assert on overflow.
279
280 2002-03-14  Dietmar Maurer  <dietmar@ximian.com>
281
282         * x86/tramp.c (mono_create_trampoline): dont use fld/fst to copy
283         R8 values
284
285 Mon Mar 11 16:14:29 CET 2002 Paolo Molaro <lupus@ximian.com>
286
287         * x86/x86-codegen.h: addex x86_clear_reg() and changed
288         x86_mov_reg_imm() to not check for imm == 0.
289
290 Thu Feb 28 12:34:21 CET 2002 Paolo Molaro <lupus@ximian.com>
291
292         * x86/tramp.c: start handling of more complex marshaling stuff.
293
294 2002-02-25  Sergey Chaban  <serge@wildwestsoftware.com>
295
296         * arm: added ARM support code.
297         * Makefile.am: added arm to DIST_SUBDIRS.
298
299 2002-02-24  Radek Doulik  <rodo@ximian.com>
300
301         * ppc/tramp.c (mono_create_method_pointer): basic delegates
302         implementation, it works for simple delegates now and I am already
303         pretty close to have it working for every delegates, but I am
304         going to sleep and finish it tomorrow?
305         (mono_create_method_pointer): implements delegates with parameters
306         and return value
307
308 2002-02-22  Jeffrey Stedfast  <fejj@ximian.com>
309
310         * sparc/tramp.c (mono_create_trampoline): Much tinkering to get
311         the opcodes more correct. Still needs a lot of work.
312
313 2002-02-19  Radek Doulik  <rodo@ximian.com>
314
315         * ppc/tramp.c (emit_save_parameters): don't start saving 64bit values to
316         even registers
317         added stack saving for most arguments
318
319 Tue Feb 19 20:19:38 CET 2002 Paolo Molaro <lupus@ximian.com>
320
321         * x86/tramp.c: avoid pointer arthmetric (pointed out by Serge).
322
323 2002-02-17  Radek Doulik  <rodo@ximian.com>
324
325         * ppc/tramp.c: fixed minimal stack size, fixed string parameters,
326         fix byte and half word parameters 
327         (mono_string_new_wrapper): new helper function, cut&pasted from
328         x86, modified to check for NULL text to avoid branching in
329         generated code
330         (calculate_sizes): updated for string retval changes
331         (emit_call_and_store_retval): updated for string retval
332
333         * ppc/ppc-codegen.h (ppc_mr): added lhz, lbz, sth
334
335 2002-02-16  Radek Doulik  <rodo@ximian.com>
336
337         * ppc/tramp.c (emit_call_and_store_retval): support U2, I2, CHAR
338
339 Mon Feb 11 18:40:04 CET 2002 Paolo Molaro <lupus@ximian.com>
340
341         * sparc/*: sparc codegen header and some untested trampoline code.
342
343 Mon Feb 11 12:32:35 CET 2002 Paolo Molaro <lupus@ximian.com>
344
345         * x86/tramp.c: fix handling of multiple marshaleed strings.
346         * x86/x86-codegen.h: some code to patch branch displacements.
347
348 Fri Feb 1 16:03:00 CET 2002 Paolo Molaro <lupus@ximian.com>
349
350         * x86/tramp.c, ppc/tramp.c: implement mono_method_pointer_get ().
351
352 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
353
354         * x86/tramp.c (mono_create_trampoline): Do not try to create a
355         mono_string_new if the return value from the PInvoke code is
356         NULL. 
357
358 Mon Jan 14 11:50:16 CET 2002 Paolo Molaro <lupus@ximian.com>
359
360         * x86/x86-codegen.c: added overflow condition code and some aliases
361         for the other ccs.
362
363 Thu Jan 10 21:01:08 CET 2002 Paolo Molaro <lupus@ximian.com>
364
365         * x86/tramp.c: mono_create_trampoline (): the runtime argument is
366         needed to handle correctly delegates, the previous change in handling
367         the string return type broke them.
368
369 Tue Jan  8 22:38:41 MST 2002 Matt Kimball <matt@kimball.net>
370         
371         * x86/tramp.c: handle strings returned from functions in external 
372         libraries by converting to a Mono string object after the pinvoke'd 
373         function returns
374         
375 Sat Jan 5 15:51:06 CET 2002 Paolo Molaro <lupus@ximian.com>
376
377         * x86/tramp.c: handle short integer return types.
378
379 Thu Dec 20 20:13:07 CET 2001 Paolo Molaro <lupus@ximian.com>
380
381         * x86/tramp.c: fix create_method_pointer() to pass the arguments
382         correctly and add check for overflow.
383
384 Thu Dec 13 15:56:53 CET 2001 Paolo Molaro <lupus@ximian.com>
385
386         * x86/x86-codegen.h: x86_mov_memindex_imm() added.
387         
388 2001-11-29  Radek Doulik  <rodo@ximian.com>
389
390         * ppc/tramp.c: use r12 which is volatile instead of non-volatile
391         r14 to avoid saving
392
393         * Makefile.am (libmonoarch_la_LIBADD): added ppc to DIST_SUBDIRS
394         generate libmonoarch for ppc
395
396 Tue Nov 27 15:24:07 CET 2001 Paolo Molaro <lupus@ximian.com>
397
398         * x96/x86-codegen.c: x86_lea_memindex() added.
399
400 Thu Nov 15 17:41:01 CET 2001 Paolo Molaro <lupus@ximian.com>
401
402         * x86/tramp.c: handle enums with underlying type different from int32.
403
404 Wed Nov 14 19:21:26 CET 2001 Paolo Molaro <lupus@ximian.com>
405
406         * x86/tramp.c: handle boolean as a return value.
407         * x96/x86-codegen.c: x86_widen_memindex() added.
408
409 2001-11-07  Miguel de Icaza  <miguel@ximian.com>
410
411         * x86/tramp.c: Include stdlib to kill warning.
412
413 Mon Oct 22 15:20:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
414
415         * x86/tramp.c: handle boolean, u1 and i1 as return values.
416
417 Wed Oct 10 16:07:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
418
419         * x86/x86-codegen.c: added x86_set_{reg,mem,membase}.
420
421 Mon Oct 8 16:13:07 CEST 2001 Paolo Molaro <lupus@ximian.com>
422
423         * x86/tramp.c: remove mono_get_ansi_string () and use
424         mono_string_to_utf8 () instead.
425
426 Thu Oct 4 19:09:13 CEST 2001 Paolo Molaro <lupus@ximian.com>
427
428         * x86/tramp.c: allow marshalling valuetypes if they are
429         4 bytes long.
430
431 Mon Oct 1 18:48:27 CEST 2001 Paolo Molaro <lupus@ximian.com>
432
433         * x86/tramp.c: fix thinko (s/SUB/ADD/) in stack adjustment
434         and avoid a couple of unnecessary instructions.
435
436 Fri Sep 28 19:43:12 CEST 2001 Paolo Molaro <lupus@ximian.com>
437
438         * x86/tramp.c: marshal valuetypes that are enums.
439
440 Thu Sep 27 15:34:37 CEST 2001 Paolo Molaro <lupus@ximian.com>
441
442         * x86/x86-codegen.h: in memindex operand you can use X86_NOBASEREG
443         as basereg.
444
445 Wed Sep 26 16:29:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
446
447         * x86/x86-codegen.h: added memindex addressing mode encoding
448         (and mov to/from register opcodes).
449
450 Mon Sep 24 18:49:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
451
452         * x86/tramp.c: don't change a MONO_TYPE_STRING to a char*
453         when it's an argument to an internalcall.
454
455 Sun Sep 23 13:44:57 CEST 2001 Paolo Molaro <lupus@ximian.com>
456
457         * x86/tramp.c: handle MONO_TYPE_CLASS in trampolines.
458
459 2001-09-21  Dietmar Maurer  <dietmar@ximian.com>
460
461         * x86/x86-codegen.h (x86_breakpoint): added.
462
463 Tue Sep 18 13:23:59 CEST 2001 Paolo Molaro <lupus@ximian.com>
464
465         * x86/x86-codegen.h: remove C++ comments.
466
467 2001-09-17  Dietmar Maurer  <dietmar@ximian.com>
468
469         * x86/x86-codegen.h (x86_alu_reg_reg): replaced src/dest
470
471 Mon Sep 10 17:26:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
472
473         * Makefile.am, x86/Makefile.am: conditional compile logic
474         to make porting to different targets easier.
475
476 Fri Sep 7 18:43:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
477
478         * x86/x86-codegen.h: fixes and x86_mov_membase_imm ().
479         * x86/tramp.c: implemented mono_create_method_pointer ():
480         creates a native pointer to a method implementation that can be 
481         used as a normal C callback.
482
483 Thu Sep 6 15:38:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
484
485         * x86/x86-codegen.h: added x86_rdtsc() and fixes.
486         * x86/tramp.c: create trampolines to call pinvoke methods.
487         * x86/Makefile.am: create a libmonoarch convenience library.
488
489 Mon Aug 27 09:29:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
490
491         * x86/x86-codegen.h: fix x86_call_code (). x86_mov_regp_reg () added.
492
493 Sat Aug 18 12:40:32 CEST 2001 Paolo Molaro <lupus@ximian.com>
494
495         * x86/x86-codegen.h: fix a couple of buglets and add x86_regp_emit().
496
497 Wed Aug 8 15:30:05 CEST 2001 Paolo Molaro <lupus@ximian.com>
498
499         * x86/x86-codegen.h, x86/test.c: added x86 code emitter with
500         test.
501