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