Tue Aug 5 12:21:08 CEST 2003 Paolo Molaro <lupus@ximian.com>
[mono.git] / mono / mini / ChangeLog
1
2 Tue Aug 5 12:21:08 CEST 2003 Paolo Molaro <lupus@ximian.com>
3
4         * cprop.c, mini-x86.c, cpu-pentium.md: fix buglets spotted
5         by Laurent Morichetti <l_m@pacbell.net>. Disabled local cprop
6         until it's fixed and actually useful.
7
8 Mon Aug 4 12:12:26 CEST 2003 Paolo Molaro <lupus@ximian.com>
9
10         * inssel-long32.brg: couple more opcodes implemented.
11
12 Thu Jul 31 22:43:02 EDT 2003 Mark Crichton <crichton@gimp.org>
13         
14         * mini-sparc.c: Even more opcodes implemeted.
15
16 Thu Jul 31 19:36:03 EDT 2003 Mark Crichton <crichton@gimp.org>
17
18         * mini-sparc.c: More opcodes implemented.
19
20 Thu Jul 31 15:16:26 EDT 2003 Mark Crichton <crichton@gimp.org>
21
22         * mini-sparc.c: More opcodes implemented.
23
24 Wed Jul 30 22:31:02 EDT 2003 Mark Crichton <crichton@gimp.org>
25
26         * inssel-sparc.brg: Add some needed rules.  Direct
27         copy from PPC.
28         * Makefile.am: Use inssel-sparc.brg
29         * exceptions-sparc.c: 0xdeadbeef/0xdecafbad to keep
30         an assert happy for now.
31
32 Wed Jul 30 20:44:07 EDT 2003 Mark Crichton <crichton@gimp.org>
33
34         * mini-sparc.c: Fixed compile errors.
35         * exceptions-sparc.c: Same.  We now produce a mono binary 
36         on sparc-linux.  Yea.
37
38 Wed Jul 30 14:10:12 EDT 2003 Mark Crichton <crichton@gimp.org>
39
40         * mini-sparc.c: Renamed registers.  Also some macro cleanups.
41         * exceptions-sparc.c, tramp-sparc.c: Various compile fixes.
42         They compile, but do not work.
43
44 Wed Jul 30 17:52:41 CEST 2003 Paolo Molaro <lupus@ximian.com>
45
46         * Makefile.am, cpu-sparc.md, exceptions-sparc.c, mini-sparc.c,
47         mini-sparc.h, tramp-sparc.c: Beginning of sparc support
48         from Mark Crichton <crichton@gimp.org> and Christopher Taylor
49         (ct@gentoo.org).
50
51 Tue Jul 29 12:43:08 CEST 2003 Paolo Molaro <lupus@ximian.com>
52
53         * mini.c: more opcodes implemented and better support for generics.
54
55 Fri Jul 25 18:51:45 CEST 2003 Paolo Molaro <lupus@ximian.com>
56
57         * cpu-g4.md, cpu-pentium.md: updates for new instructions.
58         * mini.c, mini.h: first cut at generics support: some new instructions 
59         added and changed the behaviour of some of the existing ones.
60
61 2003-07-21  Miguel de Icaza  <miguel@ximian.com>
62
63         * mini.c: Removed definition of metadata_shared mutex here.
64
65 Tue Jul 22 15:21:24 CEST 2003 Paolo Molaro <lupus@ximian.com>
66
67         * mini-x86.c: make vararg calls work for instance methods.
68
69 Fri Jul 18 19:26:20 CEST 2003 Paolo Molaro <lupus@ximian.com>
70
71         * mini.c, mini.h, mini-x86.c, mini-ppc.c: mono_arch_call_opcode()
72         returns the arguments in a separte list, now.
73
74 Fri Jul 18 13:16:18 CEST 2003 Paolo Molaro <lupus@ximian.com>
75
76         * aot.c, mini.c: updates for array type representation changes.
77
78 Fri Jul 18 11:28:28 CEST 2003 Paolo Molaro <lupus@ximian.com>
79
80         * mini.c: register function to perform jit shutdown.
81
82 Thu Jul 17 16:02:41 CEST 2003 Paolo Molaro <lupus@ximian.com>
83
84         * mini.c: use a faster allocator if possible.
85
86 Thu Jul 17 16:00:39 CEST 2003 Paolo Molaro <lupus@ximian.com>
87
88         * aot.c: some cleanups and portability changes.
89
90 Wed Jul 2 11:08:10 CEST 2003 Paolo Molaro <lupus@ximian.com>
91
92         * mini.c: use faster allocation for CEE_BOX if possible.
93
94 Mon Jun 30 19:16:33 CEST 2003 Paolo Molaro <lupus@ximian.com>
95
96         * mini.c, mini-ops.h, inssel.brg, mini-x86.c: optimized access to fields.
97         Moved inlined mempcy code to its own function so that is can be
98         reused. Added an inline memset function as well (optimized initobj).
99         * cpu-pentium.md, inssel-x86.brg: add and use lea_membase.
100
101 Fri Jun 27 11:19:10 CEST 2003 Paolo Molaro <lupus@ximian.com>
102
103         * mini.c, mini-ops.h, inssel.brg: optimized a couple of Array methods.
104
105 Wed Jun 25 13:19:25 CEST 2003 Paolo Molaro <lupus@ximian.com>
106
107         * mini.c, mini.h, mini.x86.c, mini-ppc.c: added facility so that
108         arch code can setup the cpu for CLR execution, if needed.
109         We use it on x86 to set the precision of FP operations.
110
111 Tue Jun 17 19:02:55 CEST 2003 Paolo Molaro <lupus@ximian.com>
112
113         * mini.c: disable some optimizations if we can guess they'll cost too
114         much for a given method.
115
116 2003-06-17  Zoltan Varga  <vargaz@freemail.hu>
117
118         * mini.h mini.c: Rework last patch based on suggestions by Paolo.
119         
120 2003-06-17  Zoltan Varga  <vargaz@freemail.hu>
121         * mini.h mini.c mini-x86.c: Added instruction level coverage 
122         info collection support.
123
124 Mon Jun 16 18:13:29 CEST 2003 Paolo Molaro <lupus@ximian.com>
125
126         * driver.c, mini-ppc.c, mini-x86.c, mini.c, mini.h: the coverage stuff
127         is now implemented in the profiling API. Get rid of a couple of
128         unnecessary global variables.
129
130 2003-06-15  Nick Drochak <ndrochak@gol.com>
131
132         * basic-long.cs: tests for negative values for bigmul, and unsigned.
133         * cpu-g4.md: add op_bigmul and op_bigmul_un
134         * cpu_pentium.md: add op_bigmul_un
135         * inssel-long32.brg: add rule for unsigned bigmul
136         * mini-ops.h: define OP_BIGMUL_UN
137         * mini-x86.c: THE BUG: handle (un)signed properly
138         * mini.c: choose unsigned opcode if needed.
139         This set of patches fixes bug #44291
140
141 2003-06-13  Dietmar Maurer  <dietmar@ximian.com>
142
143         * mini.c (optimize_branches): improved to handle all kinds of
144         conditional branches.
145
146 Wed Jun 11 18:01:06 CEST 2003 Paolo Molaro <lupus@ximian.com>
147
148         * mini.c, mini.h, jit-icalls.c: speedup emulation of opcodes that
149         don't raise exceptions.
150
151 Tue Jun 10 19:00:31 CEST 2003 Paolo Molaro <lupus@ximian.com>
152
153         * tramp-x86.c, tramp-ppc.c, debug-mini.c: move arch-specific code
154         to arch-specific files.
155
156 2003-06-09  Martin Baulig  <martin@ximian.com>
157
158         * Makefile.am (libs): Added $(LIBGC_LIBS).
159
160 Mon Jun 9 20:21:47 CEST 2003 Paolo Molaro <lupus@ximian.com>
161
162         * cpu-pentium.md, mini-x86.c: fix (well, actually implement) OP_TAN
163         and OP_ATAN (fixes bug#44293).
164
165 Mon Jun 9 19:00:56 CEST 2003 Paolo Molaro <lupus@ximian.com>
166
167         * Makefile.am, mini-x86.c: rename cpu description array to
168         pentium_desc, since some compilers define the 'pentium' preprocessor
169         symbol.
170
171 2003-05-28  Dietmar Maurer  <dietmar@ximian.com>
172
173         * mini.c (mini_select_instructions): add explicit branch if the
174         following block is not the false target of a conditional branch -
175         we need this with any optimization that reorder or remove bblocks
176
177         * mini.c (optimize_branches): bug fixes
178
179 2003-06-06  Dietmar Maurer  <dietmar@ximian.com>
180
181         * mini.c (mono_method_to_ir): inline static readonly fields
182
183         * ssa.c (fold_tree): start cfold support for long (very simple
184         cases only)
185
186         * cfold.c (mono_constant_fold_inst): opt. CEE_CONV_I8 (OP_ICONST)
187
188 Fri Jun 6 11:41:18 CEST 2003 Paolo Molaro <lupus@ximian.com>
189
190         * inssel.brg: fixed memcpy (bug #44219).
191
192 2003-06-05  Dick Porter  <dick@ximian.com>
193
194         * driver.c: Set the glib log levels to not abort if g_message
195         recurses.
196
197         g_set_prgname() has to happen before mini_init() so that the
198         process handle gets the info.
199         
200 Thu Jun 5 20:11:29 CEST 2003 Paolo Molaro <lupus@ximian.com>
201
202         * driver.c: add intrins to the default optimizations to get wider
203         exposure.
204
205 Wed Jun 4 19:47:57 CEST 2003 Paolo Molaro <lupus@ximian.com>
206
207         * mini.h: some large basic blocks will overflow a 16-bit
208         integers for symbolic registers.
209
210 2003-06-04  Dietmar Maurer  <dietmar@ximian.com>
211
212         * mini-x86.c (mono_arch_output_basic_block): revert previous fprem changes.
213         (mono_arch_output_basic_block): fix bug 43499 
214
215 Wed Jun 4 13:13:52 CEST 2003 Paolo Molaro <lupus@ximian.com>
216
217         * mini.c: kill duplicated definition of mono_debug_format.
218
219 Wed Jun 4 13:09:51 CEST 2003 Paolo Molaro <lupus@ximian.com>
220
221         * mini-x86.c, arrays.cs: fixed register allocation bug.
222
223 2003-06-04  Dietmar Maurer  <dietmar@ximian.com>
224
225         * mini-x86.c (mono_arch_output_basic_block): use IEEE compatible fprem1
226
227         * mini.c (mini_get_opcode_for_method): inline IEEERemainder
228
229 2003-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
230
231         * mini.c:
232         (print_method_from_ip): also print source location information if
233         available.
234
235 2003-06-02  Dietmar Maurer  <dietmar@ximian.com>
236
237         * mini.c (mono_find_block_region): bug fix in region code
238         (mini_method_compile): enable removing unreachable code again, but
239         only in methods without exception clauses.
240
241 Fri May 30 18:40:24 CEST 2003 Paolo Molaro <lupus@ximian.com>
242
243         * mini.c, mini-ops.h, cpu-pentium.md, inssel.brg, mini-x86.c, mini.h:
244         Implemented arglist opcode and handling of TypedReference type.
245         Fixed x86 call convention when a structure is returned.
246         Minimal support for calling static vararg methods.
247
248 2003-05-30  Dietmar Maurer  <dietmar@ximian.com>
249
250         * mini.c (mini_method_compile):  always remove unreachable code,
251         because the code in them may be inconsistent  (access to dead
252         variables for example).
253
254 Thu May 29 11:44:49 CEST 2003 Paolo Molaro <lupus@ximian.com>
255
256         * driver.c, debug-mini.c: warning fixes.
257
258 Wed May 28 11:19:15 CEST 2003 Paolo Molaro <lupus@ximian.com>
259
260         * Makefile.am, jit.h, mini.h: install header for embedding mono.
261
262 Tue May 27 17:56:12 CEST 2003 Paolo Molaro <lupus@ximian.com>
263
264         * mini.c: thread-static fields are registered in mono_class_vtable(),
265         so ensure the function is called before checking for them.
266
267 2003-05-27  Dietmar Maurer  <dietmar@ximian.com>
268
269         * mini.c (optimize_branches): fix for bug 43586
270
271         * jit-icalls.c (mono_llmult_ovf): added an additional check for
272         overflow (fixes Bug #43639)
273
274 Tue May 27 11:33:53 CEST 2003 Paolo Molaro <lupus@ximian.com>
275
276         * mini.c, objects.cs: allow the use of stobj for primitive types.
277
278 Tue May 27 10:33:53 CEST 2003 Paolo Molaro <lupus@ximian.com>
279
280         * mini.c: be less strict about argument checking until we support
281         running the verifier.
282
283 2003-05-27  Nick Drochak <ndrochak@gol.com>
284
285         * basic-long.cs: tests for (ulong)int * (ulong)int also
286         * mini.c: use the same trick for (ulong)int * (ulong)int
287
288 2003-05-27  Nick Drochak <ndrochak@gol.com>
289
290         * basic-long.cs: add regression test for (long)int * (long)int
291         * cpu-pentium.md: add op_bigmul specification
292         * inssel-long32.brg: add OP_BIGMUL rule
293         * mini-ops.h: add OP_BIGMUL
294         * mini-x86.c: register allocator: handle case where src1 needs to be
295         in EAX.
296         * mini.c: substitute special BIGMUL opcode in the tree for 
297         (long)int * (long)int
298
299 Mon May 26 20:20:13 CEST 2003 Paolo Molaro <lupus@ximian.com>
300
301         * jit-icalls.c: call the type ctor on field access if needed.
302
303 Mon May 26 15:21:21 CEST 2003 Paolo Molaro <lupus@ximian.com>
304
305         * mini-ops.h, mini.c, inssel.brg, exceptions.cs: validate arguments passed
306         to a method (including results of ldelema, bug#43207).
307
308 2003-05-26  Dietmar Maurer  <dietmar@ximian.com>
309
310         * graph.c (cfg_emit_one_loop_level): loop over all blocks. use
311         colors to show exception handler blocks.
312
313         * inssel-x86.brg (OP_OUTARG_VT): dont push zero sized structures
314         (fix for pinvoke7.cs).
315
316 Mon May 26 12:11:53 CEST 2003 Paolo Molaro <lupus@ximian.com>
317
318         * mini.h, mini.c: ensure correct initialization order for types that
319         require it. Prepare for lazy compilation of jit icall wrappers.
320         Provide a name for opcode emulation to reduce unneeded mallocing.
321
322 Fri May 23 16:08:54 CEST 2003 Paolo Molaro <lupus@ximian.com>
323
324         * mini-x86.c: better register restoring code and profiling
325         support for tail calls.
326
327 Fri May 23 15:30:53 CEST 2003 Paolo Molaro <lupus@ximian.com>
328
329         * mini.h, driver.c: prepare for leaf methods optimization.
330
331 Fri May 23 15:28:32 CEST 2003 Paolo Molaro <lupus@ximian.com>
332
333         * mini.c: get targets of branches before converting a method.
334
335 2003-05-23  Dietmar Maurer  <dietmar@ximian.com>
336
337         * mini.c (optimize_branches): added some experimental code (disbaled) 
338
339 2003-05-22  Dietmar Maurer  <dietmar@ximian.com>
340
341         * mini.c (optimize_branches): fix branch to branch optimization 
342
343         * exceptions-x86.c (mono_arch_handle_exception): bug fix.
344
345         * mini-x86.c (mono_arch_output_basic_block): cleanup up exception code
346
347         * inssel-x86.brg: added OP_START_HANDLER, CEE_ENDFINALLY, OP_ENDFILTER
348
349         * mini-x86.c (mono_arch_allocate_vars): only reserve space for lmf
350         if needed.
351
352 2003-05-21  Dietmar Maurer  <dietmar@ximian.com>
353
354         * mini.c (mono_method_to_ir): call handle_loaded_temps before inlining.
355         enable use of interface variables again.
356
357         * mini-x86.c (mono_arch_get_allocatable_int_vars): dont allocate
358         I1 to registers because there is no simply way to sign extend 8bit
359         quantities in caller saved registers on x86.
360
361         * inssel-float.brg: set costs of some rules to 2 so
362         that monobure always select the arch. specific ones if supplied,
363         regardless of the order we pass the files to monoburg.
364
365 Tue May 20 17:19:14 CEST 2003 Paolo Molaro <lupus@ximian.com>
366
367         * mini.c, mini-x86.c: since the magic trampoline for jumps
368         can't patch the code directly, we do it as soon as the
369         method gets compiled.
370
371 Tue May 20 16:02:52 CEST 2003 Paolo Molaro <lupus@ximian.com>
372
373         * mini-x86.c, mini.h: introduce a new patching method
374         to support CEE_JMP and tail calls.
375         * mini.c: obey tail.call. Don't precompile methods target
376         of CEE_JMP.
377         * tramp-x86.c: new trampoline code to handle methods
378         reached through a jump.
379
380 2003-05-20  Dietmar Maurer  <dietmar@ximian.com>
381
382         * mini-x86.c (mono_arch_get_allocatable_int_vars): allocate 8/16
383         bit values to registers
384
385 2003-05-19  Dietmar Maurer  <dietmar@ximian.com>
386
387         * mini.c (mono_compile_get_interface_var): share interface
388         variables if possible.
389
390 2003-05-16  Martin Baulig  <martin@ximian.com>
391
392         * debug-mini.c (mono_init_debugger): New function to initialize
393         the debugger.  This is not in the debugger since it needs to
394         access some of mini's internals.
395
396 2003-05-16  Dietmar Maurer  <dietmar@ximian.com>
397
398         * mini.c (mono_method_to_ir): inlining fixes/cleanups
399
400 Fri May 16 13:27:23 CEST 2003 Paolo Molaro <lupus@ximian.com>
401
402         * mini.c, mini-opts.h, inssel.brg: inline small memcpy
403         for value type handling.
404
405 2003-05-16  Dietmar Maurer  <dietmar@ximian.com>
406
407         * mini.c (mono_method_to_ir): inline LDFLD/STFLD wrappers
408         (mono_method_check_inlining): enable inlining of all kinds of wrappers
409
410 2003-05-15  Lluis Sanchez Gual  <lluis@ideary.com>
411
412         * mini.c: fixed little bug in CEE_NEWOBJ case when calling
413           the constructor through a proxy.
414
415 Thu May 15 17:17:27 CEST 2003 Paolo Molaro <lupus@ximian.com>
416
417         * jit-icalls.c, inssel.brg: fixes to array element address
418         calculations.
419
420 2003-05-15  Dietmar Maurer  <dietmar@ximian.com>
421
422         * mini-x86.c (is_regsize_var): allocate pointer to registers
423
424 Thu May 15 13:04:02 CEST 2003 Paolo Molaro <lupus@ximian.com>
425
426         * driver.c: fixed typo, added intrins to the set of optimizations
427         tested with regressions.
428
429 Thu May 15 11:57:42 CEST 2003 Paolo Molaro <lupus@ximian.com>
430
431         * mini-ops.h, mini.c, inssel.brg: optimize access to 2D arrays.
432         * jit-icalls.c, exceptions.cs: fixed index out of range checks, added
433         test case.
434
435 2003-05-14  Dietmar Maurer  <dietmar@ximian.com>
436
437         * inssel.brg: remove some common pop instructions without side effects
438
439 Wed May 14 12:40:31 CEST 2003 Paolo Molaro <lupus@ximian.com>
440
441         * inssel-x86.brg: fixed thinko in int to double conversions.
442
443 Wed May 14 12:01:58 CEST 2003 Paolo Molaro <lupus@ximian.com>
444
445         * mini.c, jit-icalls.c: added runtime thread-static variable support.
446
447 Tue May 13 22:02:06 CEST 2003 Paolo Molaro <lupus@ximian.com>
448
449         * inssel-long32.brg: two more missing instructions.
450
451 2003-05-13  Dietmar Maurer  <dietmar@ximian.com>
452
453         * mini.c (mono_emit_call_args): set the cil_code for all arguments
454         if not already set.
455
456 2003-05-12  Zoltan Varga  <vargaz@freemail.hu>
457
458         * mini-x86.c (mono_arch_output_basic_block): Handle negative zero
459         correctly.
460
461         * basic-float.cs: Added tests for negative zero.
462
463 Sun May 11 14:56:27 CEST 2003 Paolo Molaro <lupus@ximian.com>
464
465         * inssel-long32.brg, basic-long.cs, exceptions.cs: handle
466         a couple of missing operations for long casts, with test cases.
467
468 2003-05-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
469
470         * exceptions-x86.c: fixed small leaks in mono_arch_handle_exception.
471
472 2003-05-09  Dietmar Maurer  <dietmar@ximian.com>
473
474         * mini-x86.c (mono_arch_emit_prolog): avoid reallocs with better
475         code size estimation.
476
477 2003-05-08  Dietmar Maurer  <dietmar@ximian.com>
478
479         * mini.c (mono_jit_create_remoting_trampoline): make it work with
480         abstract methods (fix bug 42542)
481
482         * aot.c: add ability to handle array types
483         
484 2003-05-08  Zoltan Varga  <vargaz@freemail.hu>
485
486         * mini.c: Call the _specific versions of the object allocation
487         functions if possible.
488
489 Tue May 6 17:18:33 CEST 2003 Paolo Molaro <lupus@ximian.com>
490
491         * driver.c: call setlocale ().
492
493 Tue May 6 14:38:22 CEST 2003 Paolo Molaro <lupus@ximian.com>
494
495         * mini.h, mini.c, aot.c, debug-mini.c, exceptions.c: build fixes for
496         windows build.
497
498 2003-05-05  Dietmar Maurer  <dietmar@ximian.com>
499
500         * mini.c (optimize_branches): dont touch code inside exception clauses (fix bug 38136)
501
502         * exceptions-x86.c (ves_icall_get_frame_info): also skip remoting
503         wrappers (fix bug 42122)
504
505 2003-05-04  Martin Baulig  <martin@ximian.com>
506
507         * mini.h (mono_jit_init, mono_jit_cleanup): Added prototypes.
508
509         * driver.c: s/MONO_OPT_SAHRED/MONO_OPT_SHARED/g.
510         s/mini_set_defaults/mono_set_defaults/g.
511
512 2003-05-04  Martin Baulig  <martin@ximian.com>
513
514         * driver.c: s/mini_parse_default_optimizations/mono_parse_default_optimizations/g.
515
516 Sun May 4 11:48:08 CEST 2003 Paolo Molaro <lupus@ximian.com>
517
518         * inssel-long32.brg: add missing lreg: OP_LCONV_TO_U8 (lreg) rule
519         (reported by Don Roberts).
520
521 Fri May 2 18:36:45 CEST 2003 Paolo Molaro <lupus@ximian.com>
522
523         * mini.c: temporarily work around two bugs for this release.
524
525 Fri May 2 17:37:29 CEST 2003 Paolo Molaro <lupus@ximian.com>
526
527         * Makefile.am: avoid linking libmono with GMODULE_LIBS, because
528         that contains -export-dynamic and it makes using the ld script
529         useless.
530         * mini.h, main.c, driver.c: s/mini_main/mono_main/g.
531
532 Fri May 2 12:52:32 CEST 2003 Paolo Molaro <lupus@ximian.com>
533
534         * mini.h, mini-x86.c, driver.c: disable optimizations not available on a
535         specific cpu.
536
537 Thu May 1 15:28:21 CEST 2003 Paolo Molaro <lupus@ximian.com>
538
539         * mini.c: make sure leave calls all the needed finally blocks,
540         even when the target jumps out of multiple exception clauses.
541
542 Thu May 1 15:18:26 CEST 2003 Paolo Molaro <lupus@ximian.com>
543
544         * ldscript, Makefile.am: add linker script to reduce the number of
545         exported symbols (should also fix the issues with libwine defining
546         some of the same symbols in io-layer).
547
548 2003-05-01  Zoltan Varga  <vargaz@freemail.hu>
549
550         * driver.c (mini_main): Avoid assertion when no file name is given on 
551         the command line.
552
553 Wed Apr 30 15:33:11 CEST 2003 Paolo Molaro <lupus@ximian.com>
554
555         * driver.c: added --version/-V command line option.
556         Added the inline optimization in the regression tests.
557
558 Wed Apr 30 15:16:02 CEST 2003 Paolo Molaro <lupus@ximian.com>
559
560         * mini.c, basic-calls.cs: when inlining, save arguments to locals according 
561         to the type in the method signature (fixes bug#42134).
562
563 Wed Apr 30 12:38:44 CEST 2003 Paolo Molaro <lupus@ximian.com>
564
565         * mini.c: when inlining, check this is not null only when needed (bug #42135).
566
567 Wed Apr 30 11:44:36 CEST 2003 Paolo Molaro <lupus@ximian.com>
568
569         * mini-ppc.h, tramp-pcc.c: type fixes from Max Horn <max@quendi.de>.
570
571 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
572
573         * driver.c: fixed bug #42100.
574
575 2003-04-29  Dietmar Maurer  <dietmar@ximian.com>
576
577         * mini.c (mono_method_to_ir): UNBOX need to CAST objects first
578
579 Mon Apr 28 17:03:14 CEST 2003 Paolo Molaro <lupus@ximian.com>
580
581         * mini.c: moved most of the code required to do inlining to its own
582         function so it can be reused. Inline also ctors if appropriate.
583
584 2003-04-28  Zoltan Varga  <vargaz@freemail.hu>
585
586         * Makefile.am: Link with -export-dynamic so shared libs loaded by
587         the runtime can call mono API functions.
588
589 2003-04-27  Martin Baulig  <martin@ximian.com>
590
591         * debug-mini.c (mono_debug_init_method): Added
592         `guint32 breakpoint_id' argument; if the method has a breakpoint,
593         send a notification to the debugger.
594
595         * mini.c (mono_method_to_ir): Don't insert a breakpoint if we're
596         running in the Mono Debugger, just pass the breakpoint number to
597         mono_debug_init_method().
598
599         * tramp-x86.c, tramp-ppc.c: Removed the breakpoint trampolines.
600
601 Sun Apr 27 13:18:04 CEST 2003 Paolo Molaro <lupus@ximian.com>
602
603         * mini.c: allow some more unsafe compares.
604
605 Sat Apr 26 11:55:41 CEST 2003 Paolo Molaro <lupus@ximian.com>
606
607         * mini-x86.c, Makefile.am: make distcheck works (partially from
608         a patch by Richard Lee <r.h.lee@attbi.com>).
609         * regset.c, regset.h: removed, they are unused.
610
611 2003-04-25  Dick Porter  <dick@ximian.com>
612
613         * driver.c: Usage reports the name as 'mono' not 'mini'
614         * exceptions-x86.c: Build and run on freebsd
615
616 Thu Apr 24 17:09:03 CEST 2003 Paolo Molaro <lupus@ximian.com>
617
618         * Makefile.am: install the program with the 'mono' name and
619         the library as libmono instead of mini and libmini.
620
621 Thu Apr 24 17:08:07 CEST 2003 Paolo Molaro <lupus@ximian.com>
622
623         * driver.c: provide the APIs for the embedding interface of the old jit.
624
625 2003-04-23  Dietmar Maurer  <dietmar@ximian.com>
626
627         * jit-icalls.c (helper_stelem_ref): impl. (fix bug 41775)
628
629 2003-04-23  Martin Baulig  <martin@ximian.com>
630
631         * tramp-x86.c, tramp-ppc.c: Reenable the debugger breakpoint interface.
632
633         * driver.c: Added `--debug' command line argument to enable
634         debugging support.
635
636 2003-04-23  Martin Baulig  <martin@ximian.com>
637
638         * debug.[ch]: Removed.  The code is now in
639         ../metadata/mono-debug.[ch] and mono-debug-debugger.[ch].
640
641         * debug-stabs.c, debug-dwarf2.c: Removed; nobody used this for the
642         last six months.
643
644 2003-04-22  Dietmar Maurer  <dietmar@ximian.com>
645
646         * mini.c (mono_method_to_ir): set the cil_code address (fix bug 41525)
647
648 2003-04-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
649
650         * mini.c:
651         (mini_cleanup): moved mono_runtime_cleanup call after the call to
652         mono_domain_finalize.
653         (mini_method_compile): use mono_method_profile* if the the option is
654         enabled.
655
656 2003-04-17  Zoltan Varga  <vargaz@freemail.hu>
657
658         * tramp-x86.c (mono_arch_create_jit_trampoline): Subsitute synchronized
659         methods with their wrapper.
660
661         * tramp-ppc.c (mono_arch_create_jit_trampoline): Subsitute synchronized
662         methods with their wrapper.
663
664         * jit-icalls.c (mono_ldvirtfn): Subsitute synchronized methods with
665         their wrapper.
666
667         * mini.c (mono_method_to_ir): Subsitute synchronized methods with their
668         wrapper.
669
670         * mini.c (mono_method_check_inlining): Avoid inlining synchronized
671         methods.
672
673 2003-04-17  Dietmar Maurer  <dietmar@ximian.com>
674
675         * exceptions-x86.c (mono_arch_handle_exception): fix for bug 36252
676
677 2003-04-16  Dietmar Maurer  <dietmar@ximian.com>
678
679         * mini.c (mono_compile_create_var): use g_malloc/g_realloc instead
680         of the mempool. This is slightly faster and uses less memory
681
682 Wed Apr 16 12:53:10 CEST 2003 Paolo Molaro <lupus@ximian.com>
683
684         * mini.c: avoid O(n) allocation for variables.
685
686 Tue Apr 15 19:13:41 CEST 2003 Paolo Molaro <lupus@ximian.com>
687
688         * mini.c: handle items on the stack after inlining methods.
689
690 Tue Apr 15 14:17:57 CEST 2003 Paolo Molaro <lupus@ximian.com>
691
692         * mini.c: make the method->opcode optimization dependent
693         on MONO_OPT_INSTRINS and do it lazily.
694
695 Tue Apr 15 14:15:39 CEST 2003 Paolo Molaro <lupus@ximian.com>
696
697         * driver.c: print overall results at the end of regression run.
698
699 Tue Apr 15 11:18:46 CEST 2003 Paolo Molaro <lupus@ximian.com>
700
701         * inssel.brg: don't overwrite symbolic registers.
702
703 Mon Apr 14 17:41:34 CEST 2003 Paolo Molaro <lupus@ximian.com>
704
705         * inssel-x86.brg: fix conversion from long to float.
706
707 2003-04-11  Dietmar Maurer  <dietmar@ximian.com>
708
709         * mini.c (mini_init): use an opcode for get_Chars (OP_GETCHR)
710
711 2003-04-10  Zoltan Varga  <vargaz@freemail.hu>
712
713         * mini.c (mono_type_blittable): MONO_TYPE_OBJECT is blittable.
714
715         * driver.c: Added --print-vtable option as in the old JIT.
716
717 Thu Apr 10 17:43:49 CEST 2003 Paolo Molaro <lupus@ximian.com>
718
719         * inssel-long32.brg, exceptions.cs: fix conversions from long, too.
720
721 Thu Apr 10 16:27:43 CEST 2003 Paolo Molaro <lupus@ximian.com>
722
723         * inssel.brg, basic.cs: fixed checked conversions to byte and short.
724
725 2003-04-09  Zoltan Varga  <vargaz@freemail.hu>
726
727         * mini.c regalloc.c regalloc.h: Fix memory leak.
728
729 2003-04-09  Dietmar Maurer  <dietmar@ximian.com>
730
731         * aot.c (mono_aot_get_method): register all used strings
732
733 Wed Apr 9 15:22:18 CEST 2003 Paolo Molaro <lupus@ximian.com>
734
735         * mini.c: always intern strings references with ldstr at compile time.
736
737 Tue Apr 8 11:41:26 CEST 2003 Paolo Molaro <lupus@ximian.com>
738
739         * Makefile.am: add BUILT_SOURCES.
740
741 Mon Apr 7 16:31:34 CEST 2003 Paolo Molaro <lupus@ximian.com>
742
743         * driver.c: give a better error message when the assembly to execute
744         doesn't have an entry point.
745
746 2003-04-07  Dietmar Maurer  <dietmar@ximian.com>
747
748         * Makefile.am: added hack for automake
749
750         * mono/mini/mini.c (mono_save_args): always copy arguments to keep
751         correct sematics.
752
753         * mono/mini/ssa.c (mono_ssa_avoid_copies): don't optimize calls
754
755 22003-04-07  Martin Baulig  <martin@ximian.com>
756
757         * Makefile.am: Added Makefile.am.
758
759         * debugger-main.c: Removed, this is now in the debugger where it
760         belongs.
761
762         * mini.pc.in: Call this package `mini' for the moment.
763
764
765