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