2008-11-20 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mono / arch / ChangeLog
1 2008-11-20  Zoltan Varga  <vargaz@gmail.com>
2
3         Backport of r119444.
4         
5         * arm/Makefile.am (libmonoarch_arm_la_SOURCES): Don't build tramp.c, it is only
6         used by the interpreter.
7
8 2008-11-04  Rodrigo Kumpera  <rkumpera@novell.com>
9
10         * x86/x86-codegen.h: Add store nta.
11
12 2008-11-03  Rodrigo Kumpera  <rkumpera@novell.com>
13
14         * x86/x86-codegen.h: Add prefetch instruction
15         and x86_sse_alu_reg_membase macro.
16
17 2008-10-28  Rodrigo Kumpera  <rkumpera@novell.com>
18
19         * x86/x86-codegen.h: Add long version of the packed integer
20         ops.
21
22 2008-10-27  Rodrigo Kumpera  <rkumpera@novell.com>
23
24         * x86/x86-codegen.h: Add movddup.
25
26 2008-10-24  Rodrigo Kumpera  <rkumpera@novell.com>
27
28         * x86/x86-codegen.h: Add signed pack with saturation.
29
30 2008-10-24  Rodrigo Kumpera  <rkumpera@novell.com>
31
32         * x86/x86-codegen.h: Add signed packed mul high.
33
34 2008-10-23  Rodrigo Kumpera  <rkumpera@novell.com>
35
36         * x86/x86-codegen.h: Add signed packed max, min, add/sub with saturation
37         and compare greater.
38
39 2008-10-20  Rodrigo Kumpera  <rkumpera@novell.com>
40
41         * x86/x86-codegen.h: Add multiply and store high.
42
43 2008-10-17  Rodrigo Kumpera  <rkumpera@novell.com>
44
45         * x86/x86-codegen.h: Add packed int shuffle.
46
47 2008-10-16  Rodrigo Kumpera  <rkumpera@novell.com>
48
49         * x86/x86-codegen.h: Add packed int compare equals and
50         psabw.
51
52 2008-10-15  Rodrigo Kumpera  <rkumpera@novell.com>
53
54         * x86/x86-codegen.h: Add packed int max/min/avg/shuffle and extract mask.
55
56 2008-10-14  Rodrigo Kumpera  <rkumpera@novell.com>
57
58         * x86/x86-codegen.h: Add movsldup and movshdup.
59
60 2008-10-13  Rodrigo Kumpera  <rkumpera@novell.com>
61
62         * x86/x86-codegen.h: Add remaining FP sse1 ops.
63         Add sse ps encoding with imm operand.
64         Add remaining sse1 ops.
65
66 2008-10-12  Rodrigo Kumpera  <rkumpera@novell.com>
67
68         * x86/x86-codegen.h: Add macro for sse41 ops.
69         Add defined for pack ops, dword shifts/mul/pack.
70
71 2008-10-11  Zoltan Varga  <vargaz@gmail.com>
72
73         * amd64/amd64-codegen.h (amd64_jump_code_size): Fix the 64 bit support.
74
75 2008-10-10  Zoltan Varga  <vargaz@gmail.com>
76
77         * amd64/amd64-codegen.h (amd64_jump_code_size): Handle non 32-bit targets.
78
79 2008-10-09  Rodrigo Kumpera  <rkumpera@novell.com>
80
81         * x86/x86-codegen.h: Add macros for sse shift, pack, unpack,
82         saturated math and packed byte/word/dword math.
83
84 2008-10-03  Rodrigo Kumpera  <rkumpera@novell.com>
85
86         * x86/x86-codegen.h: Add macros for SSE instructions.
87
88 2008-09-27  Mark Probst  <mark.probst@gmail.com>
89
90         * ppc/ppc-codegen.h: A few typecasts to fix compiler warnings.
91
92 2008-09-07  Mark Probst  <mark.probst@gmail.com>
93
94         * ppc/ppc-codegen.h (ppc_load): Inserted cast to fix some
95         warnings.
96
97 2008-06-16  Mark Probst  <mark.probst@gmail.com>
98
99         * amd64/amd64-codegen.h: Removed extraneous parenthesis in a macro
100         nobody uses.
101
102 2008-06-06  Zoltan Varga  <vargaz@gmail.com>
103
104         * amd64/amd64-codegen.h (amd64_padding_size): Rewrite this to use the
105         instructions recommended by the amd64 manual.
106
107 2008-04-19  Zoltan Varga  <vargaz@gmail.com>
108
109         * amd64/amd64-codegen.h (amd64_is_imm32): Use gint64 instead of glong because of
110         win64.
111
112 2008-03-13  Geoff Norton  <gnorton@novell.com>
113
114         * arch/arm/tramp.c:  Dont compile this on PLATFORM_MACOSX
115
116 2008-02-18  Zoltan Varga  <vargaz@gmail.com>
117
118         * amd64/amd64-codegen.h (amd64_movsxd_reg_mem): New codegen macro.
119
120 2008-02-14  Zoltan Varga  <vargaz@gmail.com>
121
122         * amd64/amd64-codegen.h (amd64_alu_membase8_imm_size): New codegen macro.
123
124 2008-02-08  Zoltan Varga  <vargaz@gmail.com>
125
126         * arm/arm-codegen.h: Fix the ordering of arguments for some load/store opcodes
127         so they are consistent.
128
129 2008-01-24  Zoltan Varga  <vargaz@gmail.com>
130
131         * Makefile.am (SUBDIRS): Or if INTERP_SUPPORTED is true.
132         
133         * Makefile.am (SUBDIRS): Only set this on arm.
134
135 2007-11-20  Zoltan Varga  <vargaz@gmail.com>
136
137         * amd64/amd64-codegen.h (amd64_alu_reg_imm_size): Prefer the smaller 
138         instruction encoding.
139
140 2007-11-03  David S. Miller  <davem@davemloft.net>
141
142        * sparc/sparc-codegen.h (sparc_set32, sparc_set): A plain sethi
143        can be used if the constant value only has the top 22 bits set.
144
145 2007-11-01  Geoff Norton  <gnorton@novell.com>
146
147         * x86/Makefile.am:  Only compile tramp.c if INTERP_SUPPORTED is true
148         Fixes the build on Leopard.
149
150 2007-11-01  Geoff Norton  <gnorton@novell.com>
151
152         * ppc/Makefile.am:  Only compile tramp.c if INTERP_SUPPORTED is true
153         Fixes the build on Leopard.
154
155 2007-10-26  Jonathan Chambers <joncham@gmail.com>
156
157         * amd64/amd64-codegen.h: Begin Win64 port. Use AMD64_ARG_REG#
158         defines to access param registers. Replace long usage with
159         gsize as sizeof(long) != sizeof(void*) on Win64.
160
161         Code is contributed under MIT/X11 license.
162
163 2007-10-09  Zoltan Varga  <vargaz@gmail.com>
164
165         * amd64/amd64-codegen.h (amd64_jump_membase_size): Remove an unneccesary
166         rex prefix which trips up valgrind.
167
168 2007-07-14  Zoltan Varga  <vargaz@gmail.com>
169
170         * amd64/amd64-codegen.h: Remove some unused rex prefixes.
171
172 Wed Jul 4 15:29:07 CEST 2007 Paolo Molaro <lupus@ximian.com>
173
174         * x86/x86-codegen.h: added minimal sse instructions currently
175         needed by the JIT.
176
177 2007-06-13  Randolph Chung  <tausq@debian.org>
178
179         * hppa/hppa-codegen.h: Update with more instructions.
180         * hppa/tramp.c: Disable for linux since we don't support the
181         interpreter.
182
183 2007-05-20  Zoltan Varga  <vargaz@gmail.com>
184
185         * amd64/amd64-codegen.h (amd64_call_reg): Remove a got prefix which isn't needed.
186
187 2007-04-23  Zoltan Varga  <vargaz@gmail.com>
188
189         * alpha/alpha-codegen.h: More alpha port work from 
190         Sergey Tikhonov <tsv@solvo.ru>.
191
192 Mon Mar 12 17:07:32 CET 2007 Paolo Molaro <lupus@ximian.com>
193
194         * amd64/amd64-codegen.h: removed some useless size rex prefixes.
195
196 Wed Jan 24 21:00:40 CET 2007 Paolo Molaro <lupus@ximian.com>
197
198         * arm/arm-codegen.h: fixed encoding of short/byte load/store
199         instructions with negative immediate offsets.
200
201 Mon Nov 20 17:36:45 CET 2006 Paolo Molaro <lupus@ximian.com>
202
203         * arm/arm-codegen.h: added suppot for thumb interworking instructions.
204
205 Wed Nov 15 16:56:53 CET 2006 Paolo Molaro <lupus@ximian.com>
206
207         * mips/*: fixes by Mark E Mason <mark.e.mason@broadcom.com>.
208
209 2006-09-12  Zoltan Varga  <vargaz@gmail.com>
210
211         * alpha/alpha-codegen.h: More alpha updates from Sergey Tikhonov <tsv@solvo.ru>.
212
213 Tue Sep 12 13:09:56 CEST 2006 Paolo Molaro <lupus@ximian.com>
214
215         * arm/*: VFP floating point format code generation support.
216
217 2006-09-12  Zoltan Varga  <vargaz@gmail.com>
218
219         * ia64/ia64-codegen.h: Add xmpy_l/u pseudo ops.
220
221 2006-07-19  Zoltan Varga  <vargaz@gmail.com>
222
223         * amd64/amd64-codegen.h: Fix amd64_mov_mem_reg.
224
225         * alpha/alpha-codegen.h alpha/test.c alpha/tramp.c: Applied patch from 
226         Sergey Tikhonov <tsv@solvo.ru>. Updates to alpha support.
227
228 Thu Jun 15 16:59:36 CEST 2006 Paolo Molaro <lupus@ximian.com>
229
230         * ppc/ppc-codegen.h: reduce noisy build warnings by
231         casting to the more commonly used unsigned char type
232         (from johannes@sipsolutions.net (Johannes Berg)).
233
234 2006-05-14  Zoltan Varga  <vargaz@gmail.com>
235
236         * ia64/ia64-codegen.h (ia64_fetchadd8_acq_hint_pred): Fix encoding of this
237         opcode.
238
239 2006-04-21  Zoltan Varga  <vargaz@gmail.com>
240
241         * Makefile.am (SUBDIRS): Revert the last change as arm depends on the old
242         behaviour.
243
244 2006-04-12  Zoltan Varga  <vargaz@gmail.com>
245
246         * sparc/sparc-codegen.h (sparc_inst_i): New disassembly macro.
247
248 2006-04-04  Zoltan Varga  <vargaz@gmail.com>
249
250         * Makefile.am (SUBDIRS): Avoid compiling subdirs needed by the
251         interpreter.
252
253 2005-12-22  Zoltan Varga  <vargaz@gmail.com>
254
255         * sparc/sparc-codegen.h (sparc_membar): Add membar instruction.
256
257 2005-10-30  Zoltan Varga  <vargaz@gmail.com>
258
259         * ia64/ia64-codegen.h (ia64_m17): Fix a warning.
260
261 2005-10-16  Zoltan Varga  <vargaz@freemail.hu>
262
263         * amd64/amd64-codegen.h (AMD64_CALLEE_SAVED_REGS): Add %rbp.
264
265 2005-09-27  Raja R Harinath  <rharinath@novell.com>
266
267         * arm/dpiops.sh, arm/fpaops.h: Output to stdout.
268         * arm/Makefile.am (arm_dpimacros.h, arm_fpamacros.h): Update.  Fix
269         for srcdir != builddir.
270
271 2005-09-11  Zoltan Varga  <vargaz@gmail.com>
272
273         * ia64/ia64-codegen.h (ia64_unw_pop_frames): New unwind macro.
274
275 2005-09-10  Zoltan Varga  <vargaz@gmail.com>
276
277         * ia64/ia64-codegen.h: Remove 'manual' emitting of instructions. 
278         Integrate emission of unwind directives into the assembly macros.
279
280 2005-09-04  Zoltan Varga  <vargaz@gmail.com>
281
282         * ia64/ia64-codegen.h (ia64_no_stop): New macro.
283
284 2005-08-27  Zoltan Varga  <vargaz@gmail.com>
285
286         * ia64/ia64-codegen.h: Fix some bugs.
287
288         * ia64/codegen.c: Update to work with latest ia64-codegen.h
289
290 2005-08-26  Zoltan Varga  <vargaz@gmail.com>
291
292         * ia64/Makefile.am: Distribute ia64-codegen.h.
293
294 2005-08-21  Zoltan Varga  <vargaz@freemail.hu>
295
296         * ia64/ia64-codegen.h: Improve ins scheduling and fix some bugs.
297
298 2005-08-17  Zoltan Varga  <vargaz@freemail.hu>
299
300         * ia64/ia64-codegen.h: Add dependency information for all instructions.
301
302 2005-07-30  Zoltan Varga  <vargaz@freemail.hu>
303
304         * ia64/ia64-codegen.h: Ongoing IA64 work.
305
306 Wed Jul 20 18:01:54 BST 2005 Paolo Molaro <lupus@ximian.com>
307
308         * arm/*: more codegen macros.
309
310 2005-07-18  Zoltan Varga  <vargaz@freemail.hu>
311
312         * ia64/ia64-codegen.h (ia64_is_adds_imm): Ongoing IA64 work.
313
314 2005-06-23  Zoltan Varga  <vargaz@freemail.hu>
315
316         * ia64/ia64-codegen.h: Add some new pseudo ops.
317
318 2005-06-19  Zoltan Varga  <vargaz@freemail.hu>
319
320         * ia64/ia64-codegen.h: Fix encoding of ia64_fclass.
321
322 2005-06-12  Zoltan Varga  <vargaz@freemail.hu>
323
324         * ia64/ia64-codegen.h: Ongoing IA64 work.
325
326 2005-06-09  Zoltan Varga  <vargaz@freemail.hu>
327
328         * ia64/ia64-codegen.h: Ongoing IA64 work.
329
330 2005-05-30  Zoltan Varga  <vargaz@freemail.hu>
331
332         * ia64/codegen.c: Fix it after latest changes.
333
334 2005-05-29  Zoltan Varga  <vargaz@freemail.hu>
335
336         * ia64/ia64-codegen.h: Ongoing IA64 work.
337         
338         * ia64/ia64-codegen.h: Ongoing IA64 work.
339
340 2005-05-28  Zoltan Varga  <vargaz@freemail.hu>
341
342         * ia64/ia64-codegen.h: Ongoing IA64 work.
343         
344         * ia64/ia64-codegen.h: Ongoing IA64 work.
345
346         * ia64/ia64-codegen.h: Ongoing IA64 work.
347
348 2005-05-26  Zoltan Varga  <vargaz@freemail.hu>
349
350         * ia64/ia64-codegen.h: Ongoing IA64 work.
351
352 2005-05-22  Zoltan Varga  <vargaz@freemail.hu>
353
354         * ia64/ia64-codegen.h: Ongoing IA64 work.
355         
356         * ia64/ia64-codegen.h: Ongoing IA64 work.
357
358         * ia64/ia64-codegen.h: Ongoing IA64 work.
359
360 2005-05-21  Zoltan Varga  <vargaz@freemail.hu>
361
362         * ia64/ia64-codegen.h: Ongoing IA64 work.
363
364 2005-05-19  Zoltan Varga  <vargaz@freemail.hu>
365
366         * ia64/ia64-codegen.h ia64/codegen.c: Ongoing ia64 work.
367
368 2005-05-18  Zoltan Varga  <vargaz@freemail.hu>
369
370         * ia64/ia64-codegen.h (ia64_codegen_init): Rename macro parameter.
371
372 2005-05-14  Zoltan Varga  <vargaz@freemail.hu>
373
374         * Makefile.am: Only compile libmonoarch if the interpreter is compiled.
375
376         * ia64/ia64-codegen.h: Add IA64 code generation macros.
377
378         * Makefile.am: Add ia64 subdir.
379
380 2005-05-05  Zoltan Varga  <vargaz@freemail.hu>
381
382         * alpha/tramp.c: Applied patch from Jakub Bogusz <qboosh@pld-linux.org>.
383
384 2005-03-28  Zoltan Varga  <vargaz@freemail.hu>
385
386         * amd64/amd64-codegen.h: Avoid emitting a rex in some places.
387
388 2005-03-15  Zoltan Varga  <vargaz@freemail.hu>
389
390         * amd64/amd64-codegen.h (amd64_emit_rex): Emit a rex when accessing the
391         byte registers.
392         
393         * amd64/amd64-codegen.h (AMD64_BYTE_REGS): Add AMD64_BYTE_REGS macro.
394
395 2005-03-14  Zoltan Varga  <vargaz@freemail.hu>
396
397         * amd64/amd64-codegen.h: Add missing AMD64_XMM7.
398
399 2005-03-13  Zoltan Varga  <vargaz@freemail.hu>
400
401         * amd64/amd64-codegen.h: Remove some unneccesary REXes.
402
403 2005-03-08  Zoltan Varga  <vargaz@freemail.hu>
404
405         * amd64/amd64-codegen.h (amd64_sse_cvtsi2sd_reg_reg_size): Add _size
406         variants to some sse2 macros.
407
408         * amd64/amd64-codegen.h (amd64_sse_cvtsd2si_reg_reg): Make this convert
409         to a 64 bit value.
410
411 2005-03-06  Zoltan Varga  <vargaz@freemail.hu>
412
413         * amd64/amd64-codegen.h: Add some SSE2 instructions.
414
415 2005-02-20  Zoltan Varga  <vargaz@freemail.hu>
416
417         * amd64/amd64-codegen.h: Add xadd instructions.
418         
419         * amd64/amd64-codegen.h (amd64_jump_code_size): Do not emit a rex.
420
421 2004-11-25  Zoltan Varga  <vargaz@freemail.hu>
422
423         * amd64/amd64-codegen.h: Updates to support the PIC changes.
424
425 Fri Nov 19 17:29:22 CET 2004 Paolo Molaro <lupus@ximian.com>
426
427         * ppc/ppc-codegen.h: counter reg decrement branch values
428         (patch by Geoff Norton <gnorton@customerdna.com>).
429
430 2004-11-16  Patrik Torstensson <patrik.torstensson@gmail.com>
431
432         * x86/x86-codegen.h: added opcodes for xadd instructions
433
434 2004-11-15  Zoltan Varga  <vargaz@freemail.hu>
435
436         * amd64/x86-64-codegen.h: Get rid of this.
437
438 2004-08-30  Zoltan Varga  <vargaz@freemail.hu>
439
440         * amd64/amd64-codegen.h (amd64_imul_reg_membase_size): Fix REX
441         generation.
442
443 2004-08-29  Zoltan Varga  <vargaz@freemail.hu>
444
445         * amd64/amd64-codegen.h: More SSE work.
446         
447         * amd64/amd64-codegen.h: Add SSE2 instructions.
448
449 2004-08-21  Zoltan Varga  <vargaz@freemail.hu>
450
451         * amd64/amd64-codegen.h (X86_IS_BYTE_REG): Redefine X86_IS_BYTE_REG
452         since under amd64, all 16 registers have a low part.
453
454 2004-08-16  Zoltan Varga  <vargaz@freemail.hu>
455
456         * x86/x86-codegen.h: Add macros for accessing the mod/rm byte.
457
458 2004-07-30  Zoltan Varga  <vargaz@freemail.hu>
459
460         * amd64/amd64-codegen.h: Ongoing JIT work.
461
462 2004-07-29  Ben Maurer  <bmaurer@ximian.com>
463
464         * x86/x86-codegen.h: Add opcodes for cmp BYTE PTR [eax], imm
465
466 2004-07-28  Zoltan Varga  <vargaz@freemail.hu>
467
468         * amd64/amd64-codegen.h: Ongoing JIT work.
469
470 2004-07-24  Zoltan Varga  <vargaz@freemail.hu>
471
472         * amd64/amd64-codegen.h: Ongoing JIT work.
473
474 2004-07-23  Zoltan Varga  <vargaz@freemail.hu>
475
476         * amd64/amd64-codegen.h: Ongoing JIT work.
477
478 2004-07-23  zovarga  <vargaz@freemail.hu>
479
480         * amd64/amd64-codegen.h: Ongoing JIT work.
481
482 2004-06-30  Zoltan Varga  <vargaz@freemail.hu>
483
484         * sparc/sparc-codegen.h: Add SPARC64 support.
485
486 2004-05-07  Bernie Solomon  <bernard@ugsolutions.com>
487
488         * ppc/ppc-codegen.h: remove GCC-ism in ppc_emit32
489
490 2004-04-29  Bernie Solomon  <bernard@ugsolutions.com>
491
492         * ppc/tramp.c: use sizeof (stackval), fix
493         delegate tramp frame layout for Apple
494
495 2004-04-26  David Waite <mass@akuma.org>
496
497         * unknown.c: modify to have content for defined platforms (to
498         avoid ISO C warning)
499
500 2004-03-29  Bernie Solomon  <bernard@ugsolutions.com>
501
502         * amd64/tramp.c:
503         * arm/tramp.c:
504         * hppa/tramp.c:
505         * ppc/tramp.c:
506         * s390/tramp.c:
507         * sparc/tramp.c:
508         * x86/tramp.c:
509         remove child from MonoInvocation as it isn't used.
510
511         * hppa/hppa-codegen.h:
512         fix displacements in FP instrs
513
514 2004-03-23  Bernie Solomon  <bernard@ugsolutions.com>
515
516         * hppa/hppa-codegen.h: created
517
518         * hppa/tramp.c: changed style to be more like
519         other platforms.
520
521         * hppa/Makefile.am: add hppa-codegen.h
522
523 2004-03-16  Zoltan Varga  <vargaz@freemail.hu>
524
525         * sparc/sparc-codegen.h: Add v9 branches with prediction.
526
527 2004-03-15  Bernie Solomon  <bernard@ugsolutions.com>
528
529         * sparc/sparc-codegen.h: tweak sparc_mov_reg_reg
530         so Sun's dis command recognizes it.
531
532 2004-03-15  Zoltan Varga  <vargaz@freemail.hu>
533
534         * sparc/sparc-codegen.h: Add some v9 instructions.
535
536 2004-03-11  Zoltan Varga  <vargaz@freemail.hu>
537
538         * sparc/sparc-codegen.h: Ongoing sparc work.
539
540 2004-03-07  Duncan Mak  <duncan@ximian.com>
541
542         * Makefile.am: Removed the reference to 'x86-64'. This was the cause
543         of the missing Mono daily tarballs, 'make dist' wasn't working.
544         
545         We do have an 'amd64' directory, but it doesn't make it in 'make
546         dist'.
547
548 2004-02-19  Zoltan Varga  <vargaz@freemail.hu>
549
550         * sparc/sparc-codegen.h: Fix lots of opcodes + add new ones.
551
552         * sparc/tramp.c: Fix alignment of structures containing doubles.
553
554 2004-02-02  Zoltan Varga  <vargaz@freemail.hu>
555
556         * sparc/tramp.c: Implement all floating point argument passing conventions in
557         Sparc V8. Also fix structure passing in V8.
558
559 Thu Nov 13 16:24:29 CET 2003 Paolo Molaro <lupus@ximian.com>
560
561         * ppc/ppc-codegen.h: fixed most of the incorrect macros from ct.
562
563 2003-10-31  Zoltan Varga  <vargaz@freemail.hu>
564
565         * */tramp.c (mono_create_method_pointer): Rename to 
566         mono_arch_create_method_pointer, move common code to a new function in
567         interp.c.
568
569         * */tramp.c (mono_create_trampoline): Rename to 
570         mono_arch_create_trampoline for consistency.
571         
572 2003-10-13  Bernie Solomon  <bernard@ugsolutions.com>
573
574         * x86/tramp.c: restore EDX after memcpy call
575
576 2003-10-13  Bernie Solomon  <bernard@ugsolutions.com>
577
578         * Makefile.am: add hppa subdir 
579
580         * hppa/tramp.c: add initial implementation - this is 64 bit only
581         hppa/Makefile.am hppa/.cvsignore: added
582
583 2003-10-13  Bernie Solomon  <bernard@ugsolutions.com>
584
585         * sparc/sparc-codegen.h sparc/tramp.c: add initial implementation
586         for V9 (64 bit), cover more 32 bit cases as well.
587
588 2003-09-03  Zoltan Varga  <vargaz@freemail.hu>
589
590         * x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com).
591
592 2003-08-21  Zoltan Varga  <vargaz@freemail.hu>
593
594         * x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com).
595
596 Tue Jul 1 13:03:43 CEST 2003 Paolo Molaro <lupus@ximian.com>
597
598         * alpha/tramp.c: update from Laramie Leavitt (lar@leavitt.us).
599
600 2003-05-20  Dietmar Maurer  <dietmar@ximian.com>
601
602         * x86/x86-codegen.h (x86_set_reg): add an assertion - it does
603         not work for all registers.
604
605 Sat Feb 1 10:59:31 CET 2003 Paolo Molaro <lupus@ximian.com>
606
607         * alpha/*: update from Laramie.
608
609 Mon Jan 27 12:49:10 CET 2003 Paolo Molaro <lupus@ximian.com>
610
611         * alpha/*: start of the port to the alpha architecture by
612         Laramie Leavitt (<lar@leavitt.us>).
613
614 Tue Jan 21 17:29:53 CET 2003 Paolo Molaro <lupus@ximian.com>
615
616         * ppc/ppc-codegen.h: completed ppc native code generation by
617         Taylor Christopher P <ct@cs.clemson.edu>.
618
619 Fri Jan 17 21:14:18 CET 2003 Paolo Molaro <lupus@ximian.com>
620
621         * ppc/tramp.c: adapted to work for MacOSX (from a patch by 
622         John Duncan).
623
624 2002-11-11  Mark Crichton  <crichton@gimp.org>
625
626         * sparc/tramp.c: Added some disassembly bits for debugging.
627
628 2002-10-02  Mark Crichton  <crichton@gimp.org>
629
630         * sparc/tramp.c: More cleanup of the trampoline code.  Still some
631         problems with it w.r.t. delegates.
632
633 2002-09-25  Mark Crichton  <crichton@gimp.org>
634
635         * sparc/tramp.c: Off by one error.  Whoops.  Trampoline code should
636         now work properly.
637
638 2002-09-24  Mark Crichton  <crichton@gimp.org>
639
640         * sparc/tramp.c: Works as well as the old code did.  Cleanup is
641         finished.  The framework now for adding more type support is in,
642         and should be a *lot* cleaner.
643         
644 2002-09-22  Mark Crichton  <crichton@gimp.org>
645
646         * sparc/tramp.c: Completely broke trampolining on SPARC processors.
647         The code needed a nasty cleanup, so most of it is rewritten.
648         It will be fixed.
649
650 2002-08-20  Mark Crichton <crichton@gimp.org>
651
652         * sparc/tramp.c (mono_create_trampoline): Now works on Sparc.  Tested
653         on an Ultra 2 running Linux.
654
655 Mon Aug 5 19:21:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
656
657         * x86/tramp.c: fix random memory read in mono_create_method_pointer.
658
659 2002-08-05  Dietmar Maurer  <dietmar@ximian.com>
660
661         * x86/tramp.c (mono_create_trampoline): fixed stack_size bug
662
663 2002-08-01  Dietmar Maurer  <dietmar@ximian.com>
664
665         * x86/tramp.c (mono_create_method_pointer): allocate space for
666         value types.
667         (mono_create_trampoline): also push the value type pointer for
668         methods returning value types.
669         (mono_create_method_pointer): support valuetype returns.
670
671 2002-07-31  Dietmar Maurer  <dietmar@ximian.com>
672
673         * x86/tramp.c: remove code to handle PInvoke because this is no
674         longer needed.
675         (mono_create_method_pointer): return method->addr for pinvoke methods
676
677 Fri Jul 19 14:18:36 CEST 2002 Paolo Molaro <lupus@ximian.com>
678
679         * x86/tramp.c: fix float loads. Simple delegate marshaling fix.
680
681 2002-07-08  Radek Doulik  <rodo@ximian.com>
682
683         * ppc/tramp.c: marshaling for SZARRAY
684
685 2002-07-05  Radek Doulik  <rodo@ximian.com>
686
687         * ppc/tramp.c: removed magic hack
688
689 Tue Jun 18 10:21:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
690
691         * x86/tramp.c: marshal simple arrays correctly.
692
693 2002-05-27  Miguel de Icaza  <miguel@ximian.com>
694
695         * x86/x86-codegen.h: Set the standard header format.
696
697 2002-05-23  Dietmar Maurer  <dietmar@ximian.com>
698
699         * x86/tramp.c (mono_create_method_pointer): removed the magic
700         trick to store the function pointer in the prolog and use the same
701         mechanism as in the jit.
702
703 2002-05-13  Radek Doulik  <rodo@ximian.com>
704
705         * ppc/tramp.c (emit_save_parameters): fix I8 parameters
706
707 2002-05-06  Sergey Chaban  <serge@wildwestsoftware.com>
708
709         * x86/x86-codegen.h: added missing shifts;
710         8-bit ALU operations (reg-reg);
711         macro for FPU ops with integer operand;
712         FIST macro (without pop);
713
714 Mon Apr 22 12:57:31 CEST 2002 Paolo Molaro <lupus@ximian.com>
715
716         * x86/x86-codegen.h: added loop instructions and made x86_patch fully
717         useful.
718
719 2002-04-20  Dietmar Maurer  <dietmar@ximian.com>
720
721         * x86/tramp.c (mono_create_trampoline): support internalcall
722         String constructors
723
724 Sat Apr 6 16:29:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
725
726         * x86/tramp.c: fix advancement of argument position on the stack.
727
728 Sat Mar 16 19:12:57 CET 2002 Paolo Molaro <lupus@ximian.com>
729
730         * x86/tramp.c: increase default allocated size for trampolines
731         and assert on overflow.
732
733 2002-03-14  Dietmar Maurer  <dietmar@ximian.com>
734
735         * x86/tramp.c (mono_create_trampoline): dont use fld/fst to copy
736         R8 values
737
738 Mon Mar 11 16:14:29 CET 2002 Paolo Molaro <lupus@ximian.com>
739
740         * x86/x86-codegen.h: addex x86_clear_reg() and changed
741         x86_mov_reg_imm() to not check for imm == 0.
742
743 Thu Feb 28 12:34:21 CET 2002 Paolo Molaro <lupus@ximian.com>
744
745         * x86/tramp.c: start handling of more complex marshaling stuff.
746
747 2002-02-25  Sergey Chaban  <serge@wildwestsoftware.com>
748
749         * arm: added ARM support code.
750         * Makefile.am: added arm to DIST_SUBDIRS.
751
752 2002-02-24  Radek Doulik  <rodo@ximian.com>
753
754         * ppc/tramp.c (mono_create_method_pointer): basic delegates
755         implementation, it works for simple delegates now and I am already
756         pretty close to have it working for every delegates, but I am
757         going to sleep and finish it tomorrow?
758         (mono_create_method_pointer): implements delegates with parameters
759         and return value
760
761 2002-02-22  Jeffrey Stedfast  <fejj@ximian.com>
762
763         * sparc/tramp.c (mono_create_trampoline): Much tinkering to get
764         the opcodes more correct. Still needs a lot of work.
765
766 2002-02-19  Radek Doulik  <rodo@ximian.com>
767
768         * ppc/tramp.c (emit_save_parameters): don't start saving 64bit values to
769         even registers
770         added stack saving for most arguments
771
772 Tue Feb 19 20:19:38 CET 2002 Paolo Molaro <lupus@ximian.com>
773
774         * x86/tramp.c: avoid pointer arthmetric (pointed out by Serge).
775
776 2002-02-17  Radek Doulik  <rodo@ximian.com>
777
778         * ppc/tramp.c: fixed minimal stack size, fixed string parameters,
779         fix byte and half word parameters 
780         (mono_string_new_wrapper): new helper function, cut&pasted from
781         x86, modified to check for NULL text to avoid branching in
782         generated code
783         (calculate_sizes): updated for string retval changes
784         (emit_call_and_store_retval): updated for string retval
785
786         * ppc/ppc-codegen.h (ppc_mr): added lhz, lbz, sth
787
788 2002-02-16  Radek Doulik  <rodo@ximian.com>
789
790         * ppc/tramp.c (emit_call_and_store_retval): support U2, I2, CHAR
791
792 Mon Feb 11 18:40:04 CET 2002 Paolo Molaro <lupus@ximian.com>
793
794         * sparc/*: sparc codegen header and some untested trampoline code.
795
796 Mon Feb 11 12:32:35 CET 2002 Paolo Molaro <lupus@ximian.com>
797
798         * x86/tramp.c: fix handling of multiple marshaleed strings.
799         * x86/x86-codegen.h: some code to patch branch displacements.
800
801 Fri Feb 1 16:03:00 CET 2002 Paolo Molaro <lupus@ximian.com>
802
803         * x86/tramp.c, ppc/tramp.c: implement mono_method_pointer_get ().
804
805 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
806
807         * x86/tramp.c (mono_create_trampoline): Do not try to create a
808         mono_string_new if the return value from the PInvoke code is
809         NULL. 
810
811 Mon Jan 14 11:50:16 CET 2002 Paolo Molaro <lupus@ximian.com>
812
813         * x86/x86-codegen.c: added overflow condition code and some aliases
814         for the other ccs.
815
816 Thu Jan 10 21:01:08 CET 2002 Paolo Molaro <lupus@ximian.com>
817
818         * x86/tramp.c: mono_create_trampoline (): the runtime argument is
819         needed to handle correctly delegates, the previous change in handling
820         the string return type broke them.
821
822 Tue Jan  8 22:38:41 MST 2002 Matt Kimball <matt@kimball.net>
823         
824         * x86/tramp.c: handle strings returned from functions in external 
825         libraries by converting to a Mono string object after the pinvoke'd 
826         function returns
827         
828 Sat Jan 5 15:51:06 CET 2002 Paolo Molaro <lupus@ximian.com>
829
830         * x86/tramp.c: handle short integer return types.
831
832 Thu Dec 20 20:13:07 CET 2001 Paolo Molaro <lupus@ximian.com>
833
834         * x86/tramp.c: fix create_method_pointer() to pass the arguments
835         correctly and add check for overflow.
836
837 Thu Dec 13 15:56:53 CET 2001 Paolo Molaro <lupus@ximian.com>
838
839         * x86/x86-codegen.h: x86_mov_memindex_imm() added.
840         
841 2001-11-29  Radek Doulik  <rodo@ximian.com>
842
843         * ppc/tramp.c: use r12 which is volatile instead of non-volatile
844         r14 to avoid saving
845
846         * Makefile.am (libmonoarch_la_LIBADD): added ppc to DIST_SUBDIRS
847         generate libmonoarch for ppc
848
849 Tue Nov 27 15:24:07 CET 2001 Paolo Molaro <lupus@ximian.com>
850
851         * x96/x86-codegen.c: x86_lea_memindex() added.
852
853 Thu Nov 15 17:41:01 CET 2001 Paolo Molaro <lupus@ximian.com>
854
855         * x86/tramp.c: handle enums with underlying type different from int32.
856
857 Wed Nov 14 19:21:26 CET 2001 Paolo Molaro <lupus@ximian.com>
858
859         * x86/tramp.c: handle boolean as a return value.
860         * x96/x86-codegen.c: x86_widen_memindex() added.
861
862 2001-11-07  Miguel de Icaza  <miguel@ximian.com>
863
864         * x86/tramp.c: Include stdlib to kill warning.
865
866 Mon Oct 22 15:20:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
867
868         * x86/tramp.c: handle boolean, u1 and i1 as return values.
869
870 Wed Oct 10 16:07:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
871
872         * x86/x86-codegen.c: added x86_set_{reg,mem,membase}.
873
874 Mon Oct 8 16:13:07 CEST 2001 Paolo Molaro <lupus@ximian.com>
875
876         * x86/tramp.c: remove mono_get_ansi_string () and use
877         mono_string_to_utf8 () instead.
878
879 Thu Oct 4 19:09:13 CEST 2001 Paolo Molaro <lupus@ximian.com>
880
881         * x86/tramp.c: allow marshalling valuetypes if they are
882         4 bytes long.
883
884 Mon Oct 1 18:48:27 CEST 2001 Paolo Molaro <lupus@ximian.com>
885
886         * x86/tramp.c: fix thinko (s/SUB/ADD/) in stack adjustment
887         and avoid a couple of unnecessary instructions.
888
889 Fri Sep 28 19:43:12 CEST 2001 Paolo Molaro <lupus@ximian.com>
890
891         * x86/tramp.c: marshal valuetypes that are enums.
892
893 Thu Sep 27 15:34:37 CEST 2001 Paolo Molaro <lupus@ximian.com>
894
895         * x86/x86-codegen.h: in memindex operand you can use X86_NOBASEREG
896         as basereg.
897
898 Wed Sep 26 16:29:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
899
900         * x86/x86-codegen.h: added memindex addressing mode encoding
901         (and mov to/from register opcodes).
902
903 Mon Sep 24 18:49:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
904
905         * x86/tramp.c: don't change a MONO_TYPE_STRING to a char*
906         when it's an argument to an internalcall.
907
908 Sun Sep 23 13:44:57 CEST 2001 Paolo Molaro <lupus@ximian.com>
909
910         * x86/tramp.c: handle MONO_TYPE_CLASS in trampolines.
911
912 2001-09-21  Dietmar Maurer  <dietmar@ximian.com>
913
914         * x86/x86-codegen.h (x86_breakpoint): added.
915
916 Tue Sep 18 13:23:59 CEST 2001 Paolo Molaro <lupus@ximian.com>
917
918         * x86/x86-codegen.h: remove C++ comments.
919
920 2001-09-17  Dietmar Maurer  <dietmar@ximian.com>
921
922         * x86/x86-codegen.h (x86_alu_reg_reg): replaced src/dest
923
924 Mon Sep 10 17:26:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
925
926         * Makefile.am, x86/Makefile.am: conditional compile logic
927         to make porting to different targets easier.
928
929 Fri Sep 7 18:43:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
930
931         * x86/x86-codegen.h: fixes and x86_mov_membase_imm ().
932         * x86/tramp.c: implemented mono_create_method_pointer ():
933         creates a native pointer to a method implementation that can be 
934         used as a normal C callback.
935
936 Thu Sep 6 15:38:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
937
938         * x86/x86-codegen.h: added x86_rdtsc() and fixes.
939         * x86/tramp.c: create trampolines to call pinvoke methods.
940         * x86/Makefile.am: create a libmonoarch convenience library.
941
942 Mon Aug 27 09:29:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
943
944         * x86/x86-codegen.h: fix x86_call_code (). x86_mov_regp_reg () added.
945
946 Sat Aug 18 12:40:32 CEST 2001 Paolo Molaro <lupus@ximian.com>
947
948         * x86/x86-codegen.h: fix a couple of buglets and add x86_regp_emit().
949
950 Wed Aug 8 15:30:05 CEST 2001 Paolo Molaro <lupus@ximian.com>
951
952         * x86/x86-codegen.h, x86/test.c: added x86 code emitter with
953         test.
954