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