grammar updates
[mono.git] / mono / mini / ChangeLog
1 2003-11-02  Martin Baulig  <martin@ximian.com>
2
3         * mini.c (inflate_generic_field): New static method.
4         (mono_method_to_ir): In CEE_LDFLD and CEE_LDSFLD: if we're a
5         generic instance and the field is declared in a generic type, call
6         inflate_generic_field() to inflate it.  Fixes gen-28.cs.
7
8 2003-10-31  Zoltan Varga  <vargaz@freemail.hu>
9
10         * mini.h mini.c (mono_method_same_domain): New function to return
11         whenever the caller and the callee are in the same domain.
12
13         * tramp-x86.c (x86_magic_trampoline): Use the new function.     
14
15 2003-10-30  Martin Baulig  <martin@ximian.com>
16
17         * mini.c (MTYPE_PARAM_TO_TYPE, MTYPE_PARAM_TO_CLASS): New macros;
18         similar to TYPE_PARAM_TO_TYPE and TYPE_PARAM_TO_CLASS, but for
19         method parameters.
20         (mono_method_to_ir): Added support for MONO_TYPE_MVAR; similar to
21         MONO_TYPE_VAR, we the actual types from MTYPE_PARAM_TO_CLASS(). 
22
23 2003-10-29  Zoltan Varga  <vargaz@freemail.hu>
24
25         * mini.c mini-ops.h inssel.brg: Implement undeniable exception 
26         propagation.
27
28         * mini.c (sigusr1_signal_handler): Move creation of the thread abort
29         object here, so it is in the correct appdomain etc.
30
31 2003-10-27  Zoltan Varga  <vargaz@freemail.hu>
32
33         * mini.c (mono_jit_compile_method_inner): Lookup icalls here if not
34         already done.
35         (mono_method_to_ir): Avoid freeing the type created returned from
36         mono_type_create_from_typespec, since it is put into an internal cache
37         by the function. Fixes pointer.exe.
38
39         * mini.c tramp-x86.c tramp-sparc.c tramp-ppc.c: Use the normal 
40         trampolines for icalls and pinvokes as well. Fixes #33569.
41
42 2003-10-24  Zoltan Varga  <vargaz@freemail.hu>
43
44         * mini.c: Update after appdomain changes.
45
46         * mini.c (mono_jit_compile_method_inner): Allways compile native
47         method wrappers in the root domain, since there can only be one
48         instance of them, whose address is stored in method->info.
49
50 2003-10-16  Zoltan Varga  <vargaz@freemail.hu>
51
52         * mini.c (mono_runtime_install_handlers): Get rid of the MONO_VALGRIND
53         environment variable. Instead detect automatically whenever running
54         under valgrind using the magic macro RUNNING_ON_VALGRIND from
55         valgrind.h.
56
57 2003-10-16  Miguel de Icaza  <miguel@ximian.com>
58
59         * trace.c, trace.h: New files that implement the new trace option
60         parsing. 
61
62         * driver.c: Document new --trace options.
63
64         * exceptions-ppc.c, exceptions-x86.c, mini-ppc.c, mini-sparc.c,
65         mini-x86.c: Apply:
66
67         -       if (mono_jit_trace_calls)
68         +       if (mono_jit_trace_calls != NULL && mono_trace_eval (method))
69
70         * mini.h: prototypes.
71         
72 2003-10-15  Zoltan Varga  <vargaz@freemail.hu>
73
74         * mini.c (mono_method_to_ir): Fix initialization of typedbyref locals.
75
76         * mini.c inssel.brg: Implement typedefbyref opcodes.
77
78         * mini.c (mono_jit_compile_method): Remove unused local variable.
79
80         * mini.c (mono_jit_compile_method_inner): Ditto.
81         
82 2003-10-12  Zoltan Varga  <vargaz@freemail.hu>
83
84         * tramp-x86.c (x86_class_init_trampoline): Fix build.
85         
86         * tramp-x86.c (x86_class_init_trampoline): Thread safety fixes.
87
88 2003-10-10  Zoltan Varga  <vargaz@freemail.hu>
89
90         * mini.c (mono_no_aot): Remove unused global variable.
91
92         * mini.c: Thread safety fixes.
93
94 2003-10-09  Zoltan Varga  <vargaz@freemail.hu>
95
96         * mini.c (mono_create_class_init_trampoline): Add a lock around
97         class_init_hash_addr.
98
99         * arrays.cs (test_0_newarr_emulation): Add new regression test for
100         #30073.
101
102         * mini.c: Decompose the NEWARR instruction before decomposing its
103         arguments. Fixes #30073.
104
105 2003-10-08  Zoltan Varga  <vargaz@freemail.hu>
106
107         * mini-x86.c (mono_arch_emit_epilog): Add support for stdcall calling
108         convention.
109
110 2003-10-06  Zoltan Varga  <vargaz@freemail.hu>
111
112         * mini.c (mono_method_to_ir): Allow wrapper data for CEE_LDELEMA.
113
114         * inssel-x86.brg (OP_LOCALLOC): Fix register assignment for localloc.
115
116         * driver.c: Add support for compiling icall wrappers to --compile.
117
118 2003-10-05  Zoltan Varga  <vargaz@freemail.hu>
119
120         * inssel.brg: The empty value in class->interface_offsets is -1, not
121         0. Fixes #49287.
122
123 2003-10-03  Zoltan Varga  <vargaz@freemail.hu>
124
125         * objects.cs: New test for 'is' operator on an array of interfaces.
126
127 Wed Oct 1 19:40:02 CEST 2003 Paolo Molaro <lupus@ximian.com>
128
129         * tramp-ppc.c: update trampoline code to support jumps
130         and class initialization.
131
132 2003-09-30  Zoltan Varga  <vargaz@freemail.hu>
133
134         * mini.c (mono_jit_compile_method): Fix reading of freed memory.
135
136         * inssel.brg (OP_UNBOXCAST): Fix #46027.
137
138         * inssel.brg (OP_UNBOX): Remove unused rule.
139
140         * mini.h mini.c inssel-x86.brg: Allocate one SP variable for each
141         region instead of one for each method. Fixes #47813.
142
143 2003-09-29  Zoltan Varga  <vargaz@freemail.hu>
144
145         * exceptions.cs (test_0_nested_finally): New regression test for
146         nested exception handlers.
147
148         * mini.c (mono_jit_runtime_invoke): Fix for the previous fix.
149
150         * mini.c (mono_method_to_ir): Avoid inlining tail calls.
151
152         * mini.c (mono_method_to_ir): Fix tail recursion in the presence of 
153         inlining.
154
155         * mini.c (mono_method_check_inlining): Make the inlining limit 
156         configurable by an environment variable.
157         
158         * mini.c (mono_jit_runtime_invoke): Add Gonzalo's fix for #36545.
159
160         * mini.h: Bump AOT file version.
161
162         * mini.h mini.c aot.c mini-x86.c: For relocations which refer to a 
163         token, store the image along with the token, since the token might not 
164         refer to the same image as the method containing the relocation, 
165         because of inlining.
166
167 2003-09-27  Zoltan Varga  <vargaz@freemail.hu>
168
169         * mini.c (mono_precompile_assemblies): New function to compile
170         all methods in all loaded assemblies.
171
172         * mini.h driver.c: Added new optimization flag MONO_OPT_PRECOMP.
173
174         * regalloc.h regalloc.c (MonoRegState): Change the type of 
175         iassign and fassign to int*, since they can contain large negative
176         values if the register is spilled. Also added some comments. Fixes
177         #45817.
178
179         * exceptions-x86.c (seh_handler): Fix handling of system exceptions
180         under Win32. Fixes #42964.
181
182 2003-09-26  Zoltan Varga  <vargaz@freemail.hu>
183
184         * mini.h (MONO_PATCH_INFO_WRAPPER): New patch type.
185
186         * aot.c: Added support for AOT compiling methods which contain calls
187         to wrappers. Currently, only remoting-invoke-with-check wrappers are
188         handled.
189         
190         * driver.c (compile_all_methods): Run the compilation in a thread
191         managed by mono. Fixes #44023.
192
193         * mini.c (mono_codegen): Print full method name in verbose output.
194
195         * mini-x86.c (mono_arch_patch_code): Fix warning.
196         
197         * mini-x86.c (mono_arch_patch_code): Allways create a trampoline for
198         jumps, since the method we are jumping to might be domain-specific.
199
200         * aot.c: Added support for MONO_PATCH_INFO_METHOD_JUMP.
201
202 Tue Sep 23 10:50:27 CEST 2003 Paolo Molaro <lupus@ximian.com>
203
204         * inssel.brg: string chars are unsigned.
205
206 2003-09-15  Zoltan Varga  <vargaz@freemail.hu>
207
208         * TODO: New todo item.
209
210         * tramp-x86.c (x86_class_init_trampoline): New trampoline function
211         which calls mono_runtime_class_init and patches the call site to
212         avoid further calls.
213         (mono_arch_create_class_init_trampoline): New arch specific function 
214         to create a class init trampoline.
215         (create_trampoline_code): Generalized so it can create
216         class init trampolines as well.
217
218         * mini.c (helper_sig_class_init_trampoline): New helper variable.
219         (mono_create_class_init_trampoline): New function to create and cache
220         class init trampolines.
221         (mono_find_class_init_trampoline_by_addr): New function to lookup the
222         vtable given the address of a class init trampoline. Used by the
223         patching process.
224         (mono_codegen): Generate a call to a trampoline instead of
225         mono_runtime_class_init in LDSFLD[A].
226         (mono_codegen): Add relocations for the new trampoline.
227         
228         * mini.h mini-x86.c aot.c: Added a new relocation type: 
229         MONO_PATCH_INFO_CLASS_INIT.
230
231         * mini.h: Bump AOT version number.
232
233         * aot.c: Create a copy of the loaded code instead of using the original
234         so methods which call each other will be close in memory, improving
235         cache behaviour.
236         
237         * exceptions-x86.c (mono_arch_has_unwind_info): Back out the previous
238         patch since it breaks the regression tests.
239         
240         * exceptions-x86.c (mono_arch_has_unwind_info): Added explicit check
241         for the register saving instruction sequence since the 
242         frame_state_for function in glibc 2.3.2 don't seem to detect it.
243
244 2003-09-14  Zoltan Varga  <vargaz@freemail.hu>
245
246         * TODO: Fix todo item && remove another.
247
248 2003-09-12  Zoltan Varga  <vargaz@freemail.hu>
249
250         * mini-x86.c (mono_arch_patch_code): Fix tail calls broken by a
251         previous checkin.
252
253         * aot.c: Moved the check for MONO_LASTAOT into the initialization
254         function of the module.
255
256         * mini.h mini.c aot.c: Added a new optimization flag OPT_AOT for
257         turning on/off the usage of AOT code. Got rid of mono_no_aot and the
258         --no-aot command line option.
259
260 2003-09-11  Zoltan Varga  <vargaz@freemail.hu>
261
262         * helpers.c (mono_disassemble_code): Make this work under cygwin. Patch
263         by Bernie Solomon (bernard@ugsolutions.com).
264
265         * inssel.brg: Refactor the interface offset table related code into
266         its separate functions and add support for the AOT case.
267
268 2003-09-10  Zoltan Varga  <vargaz@freemail.hu>
269
270         * aot.c (mono_aot_get_method_inner): Fix memory leak.
271         
272         * aot.c: Added mono_aot_verbose variable and made all debugging
273         output depend on the value of this variable.
274
275         * aot.c (mono_aot_get_method_inner): Avoid dynamic allocation of
276         method_label and info_label.
277
278         * mini.h mini-x86.c aot.c: Added a new relocation type 
279         MONO_PATCH_INFO_IID for klass->interface_id.
280
281         * mini.h mini.c driver.c aot.c: Changed mono_aot_get_method to return
282         the MonoJitInfo structure.
283
284         * mini.c (mono_jit_compile_method): Avoid using non-shared AOT in
285         a non-root appdomain in shared mode.
286
287 Tue Sep 9 16:33:07 CEST 2003 Paolo Molaro <lupus@ximian.com>
288
289         * aot.c: make aot loader less verbose. Remove free of unused variable.
290
291 2003-09-08  Zoltan Varga  <vargaz@freemail.hu>
292
293         * aot.c (mono_aot_get_method_inner): Fix MONO_PATCH_INFO_IMAGE.
294
295         * .cvsignore: Added *.dll.
296
297         * mini.c (mono_print_tree_nl): New function callable while debugging.
298
299         * mini.c (mono_print_code): Export this.
300
301         * tramp-x86.c (x86_magic_trampoline): Tell valgrind to recompile the
302         patched code.
303
304 2003-09-05  Zoltan Varga  <vargaz@freemail.hu>
305
306         * mini.h (MonoCompile): Added 'jit_info' field.
307
308         * mini.c (mini_method_compile): Save the generated MonoJitInfo into
309         the cfg structure, since it is needed by the AOT compiler.
310
311         * mini.h (MONO_AOT_FILE_VERSION): Bump version number.
312
313         * aot.c: A major rewrite. Changes include:
314         - save exception tables for methods which have them.
315         - cache failed lookups in aot_get_method () to avoid the (slow) calls 
316         to g_module_symbol.
317         - reworked the file format so it is now much smaller and needs
318         fewer relocation entries.
319         
320 2003-09-04  Zoltan Varga  <vargaz@freemail.hu>
321
322         * aot.c (load_aot_module): Fix build bustage on platforms without
323         Boehm GC.
324
325 2003-09-04  Martin Baulig  <martin@ximian.com>
326
327         * Makefile.am (INCLUDES): Added $(LIBGC_CFLAGS).
328
329 2003-09-04  Zoltan Varga  <vargaz@freemail.hu>
330
331         * TODO: Some new optimization ideas.
332
333         * aot.c: Move AOT module loading logic here from mono_assembly_open.
334
335         * aot.c: Save the optimization flags used to compile the code into
336         the AOT module.
337
338         * mini.h mini-x86.c mini.c aot.c: Added new types of relocations to
339         support emitting domain specific code.
340         
341         * mini.h mini.c aot.c: Modified the JIT so the generated AOT code is 
342         no longer domain neutral. It can be made domain neutral by compiling 
343         with --optimize=shared.
344
345         * aot.c (mono_aot_get_method_inner): Allow sharing of AOT methods
346         between appdomains.
347
348         * driver.c mini.h mini.c: New --no-aot debugging option which disables
349         loading of AOT code.
350
351         * inssel-x86.brg: Added missing AOTCONST -> OUTARG_VT rule.
352         
353         * tramp-x86.c (x86_magic_trampoline): Avoid patching the calling method
354         if there is no domain neutrality information.
355
356 2003-09-01  Zoltan Varga  <vargaz@freemail.hu>
357
358         * aot.c (mono_compile_assembly): Emit a symbol containing the file 
359         format version into the generated library.
360
361         * mini-x86.c (mono_arch_patch_code): Do not emit the address of the
362         callee method into the caller since one of them could be shared.
363
364         * mini.h mini-x86.c aot.c: Added two new relocations so throwing
365         system exceptions from AOT code now works.
366
367         * tramp-x86.c (x86_magic_trampoline): Avoid patching the calling 
368         method if it is domain neutral and the callee is not.
369
370         * graph.c (cfg_emit_one_loop_level): Fix warning.
371
372 2003-08-30  Zoltan Varga  <vargaz@freemail.hu>
373
374         * aot.c (mono_compile_assembly): Oops. Remove debugging cruft from
375         last checkin.
376
377 2003-08-29  Zoltan Varga  <vargaz@freemail.hu>
378
379         * mini.c (mini_init): Call mono_marshal_init () explicitly since it
380         is needed  by code which is executed before mono_runtime_init ().
381         Thanks to Bernie Solomon (bernard@ugsolutions.com) for noticing this.
382         
383         * mini.c (mono_thread_abort): Fix warning.
384         (mono_jit_compile_method): Call static constructor in the AOT case too.
385
386         * aot.c (mono_compile_assembly): Fix warning.
387
388 2003-08-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
389
390         * mini.c: register a SIGINT handler if MONO_DEBUG is defined.
391
392 2003-08-28  Zoltan Varga  <vargaz@freemail.hu>
393
394         * inssel.brg (OP_UNBOXCAST): Add support for the AOT case.
395
396         * cpu-pentium.md: Fix the length of call opcodes so they include the
397         ESP restoring instruction. Fixes #47968.
398
399 2003-08-28  Martin Baulig  <martin@ximian.com>
400
401         * mini-x86.c (mono_arch_call_opcode): Added support for
402         MONO_TYPE_GENERICINST.
403
404         * mini.c (check_call_signature): Added support for MONO_TYPE_GENERICINST.       
405
406 2003-08-27  Zoltan Varga  <vargaz@freemail.hu>
407
408         * Makefile.am (BUILT_SOURCES): Fix compilation on platforms without
409         a JIT. Patch by Bernie Solomon (bernard@ugsolutions.com).
410
411         * mini.c jit-icalls.c tramp-x86.c tramp-ppc.c tramp-sparc.c: Get rid of
412         metadata_section.
413
414 2003-08-26  Martin Baulig  <martin@ximian.com>
415
416         * mini.c (get_basic_blocks): Added `unsigned char **pos' argument;
417         when reporting an error, set this to the actual error location.
418         (mono_method_to_ir): Report the correct error location if
419         get_basic_blocks() returned an error.
420
421 2003-08-25  Zoltan Varga  <vargaz@freemail.hu>
422
423         * mini.c (mono_type_blittable): OBJECT is not blittable.
424         (mono_method_blittable): Methods which have marshalling descriptors
425         are not blittable either. Fixes #47842.
426
427 2003-08-22  Zoltan Varga  <vargaz@freemail.hu>
428
429         * driver.c mini.c: Use an environment variable instead of a global 
430         variable. Also fix the build.
431
432         * mini.c (mini_init): Call g_thread_init () to make glib thread-safe. 
433         Fixes #47682. Thanks to Laurent Morichetti (l_m@pacbell.net) for 
434         reporting this. 
435
436         * driver.c mini.c: Added --with-valgrind option to turn off some
437         code which prevents mono from running under valgrind.
438
439         * mini.c (mono_emit_call_args): Fixed warning.
440
441         * mini.c (mono_emulate_opcode): Fixed warning.
442
443 Thu Aug 21 19:10:08 CEST 2003 Paolo Molaro <lupus@ximian.com>
444
445         * inssel.brg: 64bit fixes from Laurent Morichetti <l_m@pacbell.net>.
446         * linear-scan.c, mini-ppc.h, mini-sparc.h, mini-x86.h, mini.h,
447         regalloc.c, regalloc.h: specify available registers in arch-specific
448         code and support floats in the regallocator (patch by Laurent Morichetti 
449         <l_m@pacbell.net>)
450
451 Wed Aug 20 19:02:22 CEST 2003 Paolo Molaro <lupus@ximian.com>
452
453         * mini.c: mono_thread_current() can be called only after
454         mono_runtime_init(): rearrange code to not call it early on.
455
456 Wed Aug 20 13:14:31 CEST 2003 Paolo Molaro <lupus@ximian.com>
457
458         * mini.c: allocate jump tables in the code mempools.
459
460 Wed Aug 20 13:04:53 CEST 2003 Paolo Molaro <lupus@ximian.com>
461
462         * mini.c, mini.h: make sure per-thread data allocated by the jit is
463         freed.
464
465 2003-08-10  Miguel de Icaza  <miguel@ximian.com>
466
467         * cpu-pentium.md (ldtoken): Change the length for mul.ovf.un from
468         12 to 16.  This fixes bug #47453.
469
470
471 Thu Aug 7 15:59:35 CEST 2003 Paolo Molaro <lupus@ximian.com>
472
473         * mini-ppc.c: fixed indexed load and unsigned compares.
474
475 2003-08-06  Lluis Sanchez Gual  <lluis@ximian.com>
476
477         * mini.c: reenabled installation of handler for
478           thread abort signal.
479
480 Tue Aug 5 12:21:08 CEST 2003 Paolo Molaro <lupus@ximian.com>
481
482         * cprop.c, mini-x86.c, cpu-pentium.md: fix buglets spotted
483         by Laurent Morichetti <l_m@pacbell.net>. Disabled local cprop
484         until it's fixed and actually useful.
485
486 Mon Aug 4 12:12:26 CEST 2003 Paolo Molaro <lupus@ximian.com>
487
488         * inssel-long32.brg: couple more opcodes implemented.
489
490 Thu Jul 31 22:43:02 EDT 2003 Mark Crichton <crichton@gimp.org>
491         
492         * mini-sparc.c: Even more opcodes implemeted.
493
494 Thu Jul 31 19:36:03 EDT 2003 Mark Crichton <crichton@gimp.org>
495
496         * mini-sparc.c: More opcodes implemented.
497
498 Thu Jul 31 15:16:26 EDT 2003 Mark Crichton <crichton@gimp.org>
499
500         * mini-sparc.c: More opcodes implemented.
501
502 Wed Jul 30 22:31:02 EDT 2003 Mark Crichton <crichton@gimp.org>
503
504         * inssel-sparc.brg: Add some needed rules.  Direct
505         copy from PPC.
506         * Makefile.am: Use inssel-sparc.brg
507         * exceptions-sparc.c: 0xdeadbeef/0xdecafbad to keep
508         an assert happy for now.
509
510 Wed Jul 30 20:44:07 EDT 2003 Mark Crichton <crichton@gimp.org>
511
512         * mini-sparc.c: Fixed compile errors.
513         * exceptions-sparc.c: Same.  We now produce a mono binary 
514         on sparc-linux.  Yea.
515
516 Wed Jul 30 14:10:12 EDT 2003 Mark Crichton <crichton@gimp.org>
517
518         * mini-sparc.c: Renamed registers.  Also some macro cleanups.
519         * exceptions-sparc.c, tramp-sparc.c: Various compile fixes.
520         They compile, but do not work.
521
522 Wed Jul 30 17:52:41 CEST 2003 Paolo Molaro <lupus@ximian.com>
523
524         * Makefile.am, cpu-sparc.md, exceptions-sparc.c, mini-sparc.c,
525         mini-sparc.h, tramp-sparc.c: Beginning of sparc support
526         from Mark Crichton <crichton@gimp.org> and Christopher Taylor
527         (ct@gentoo.org).
528
529 Tue Jul 29 12:43:08 CEST 2003 Paolo Molaro <lupus@ximian.com>
530
531         * mini.c: more opcodes implemented and better support for generics.
532
533 Fri Jul 25 18:51:45 CEST 2003 Paolo Molaro <lupus@ximian.com>
534
535         * cpu-g4.md, cpu-pentium.md: updates for new instructions.
536         * mini.c, mini.h: first cut at generics support: some new instructions 
537         added and changed the behaviour of some of the existing ones.
538
539 2003-07-21  Miguel de Icaza  <miguel@ximian.com>
540
541         * mini.c: Removed definition of metadata_shared mutex here.
542
543 Tue Jul 22 15:21:24 CEST 2003 Paolo Molaro <lupus@ximian.com>
544
545         * mini-x86.c: make vararg calls work for instance methods.
546
547 Fri Jul 18 19:26:20 CEST 2003 Paolo Molaro <lupus@ximian.com>
548
549         * mini.c, mini.h, mini-x86.c, mini-ppc.c: mono_arch_call_opcode()
550         returns the arguments in a separte list, now.
551
552 Fri Jul 18 13:16:18 CEST 2003 Paolo Molaro <lupus@ximian.com>
553
554         * aot.c, mini.c: updates for array type representation changes.
555
556 Fri Jul 18 11:28:28 CEST 2003 Paolo Molaro <lupus@ximian.com>
557
558         * mini.c: register function to perform jit shutdown.
559
560 Thu Jul 17 16:02:41 CEST 2003 Paolo Molaro <lupus@ximian.com>
561
562         * mini.c: use a faster allocator if possible.
563
564 Thu Jul 17 16:00:39 CEST 2003 Paolo Molaro <lupus@ximian.com>
565
566         * aot.c: some cleanups and portability changes.
567
568 Wed Jul 2 11:08:10 CEST 2003 Paolo Molaro <lupus@ximian.com>
569
570         * mini.c: use faster allocation for CEE_BOX if possible.
571
572 Mon Jun 30 19:16:33 CEST 2003 Paolo Molaro <lupus@ximian.com>
573
574         * mini.c, mini-ops.h, inssel.brg, mini-x86.c: optimized access to fields.
575         Moved inlined mempcy code to its own function so that is can be
576         reused. Added an inline memset function as well (optimized initobj).
577         * cpu-pentium.md, inssel-x86.brg: add and use lea_membase.
578
579 Fri Jun 27 11:19:10 CEST 2003 Paolo Molaro <lupus@ximian.com>
580
581         * mini.c, mini-ops.h, inssel.brg: optimized a couple of Array methods.
582
583 Wed Jun 25 13:19:25 CEST 2003 Paolo Molaro <lupus@ximian.com>
584
585         * mini.c, mini.h, mini.x86.c, mini-ppc.c: added facility so that
586         arch code can setup the cpu for CLR execution, if needed.
587         We use it on x86 to set the precision of FP operations.
588
589 Tue Jun 17 19:02:55 CEST 2003 Paolo Molaro <lupus@ximian.com>
590
591         * mini.c: disable some optimizations if we can guess they'll cost too
592         much for a given method.
593
594 2003-06-17  Zoltan Varga  <vargaz@freemail.hu>
595
596         * mini.h mini.c: Rework last patch based on suggestions by Paolo.
597         
598 2003-06-17  Zoltan Varga  <vargaz@freemail.hu>
599         * mini.h mini.c mini-x86.c: Added instruction level coverage 
600         info collection support.
601
602 Mon Jun 16 18:13:29 CEST 2003 Paolo Molaro <lupus@ximian.com>
603
604         * driver.c, mini-ppc.c, mini-x86.c, mini.c, mini.h: the coverage stuff
605         is now implemented in the profiling API. Get rid of a couple of
606         unnecessary global variables.
607
608 2003-06-15  Nick Drochak <ndrochak@gol.com>
609
610         * basic-long.cs: tests for negative values for bigmul, and unsigned.
611         * cpu-g4.md: add op_bigmul and op_bigmul_un
612         * cpu_pentium.md: add op_bigmul_un
613         * inssel-long32.brg: add rule for unsigned bigmul
614         * mini-ops.h: define OP_BIGMUL_UN
615         * mini-x86.c: THE BUG: handle (un)signed properly
616         * mini.c: choose unsigned opcode if needed.
617         This set of patches fixes bug #44291
618
619 2003-06-13  Dietmar Maurer  <dietmar@ximian.com>
620
621         * mini.c (optimize_branches): improved to handle all kinds of
622         conditional branches.
623
624 Wed Jun 11 18:01:06 CEST 2003 Paolo Molaro <lupus@ximian.com>
625
626         * mini.c, mini.h, jit-icalls.c: speedup emulation of opcodes that
627         don't raise exceptions.
628
629 Tue Jun 10 19:00:31 CEST 2003 Paolo Molaro <lupus@ximian.com>
630
631         * tramp-x86.c, tramp-ppc.c, debug-mini.c: move arch-specific code
632         to arch-specific files.
633
634 2003-06-09  Martin Baulig  <martin@ximian.com>
635
636         * Makefile.am (libs): Added $(LIBGC_LIBS).
637
638 Mon Jun 9 20:21:47 CEST 2003 Paolo Molaro <lupus@ximian.com>
639
640         * cpu-pentium.md, mini-x86.c: fix (well, actually implement) OP_TAN
641         and OP_ATAN (fixes bug#44293).
642
643 Mon Jun 9 19:00:56 CEST 2003 Paolo Molaro <lupus@ximian.com>
644
645         * Makefile.am, mini-x86.c: rename cpu description array to
646         pentium_desc, since some compilers define the 'pentium' preprocessor
647         symbol.
648
649 2003-05-28  Dietmar Maurer  <dietmar@ximian.com>
650
651         * mini.c (mini_select_instructions): add explicit branch if the
652         following block is not the false target of a conditional branch -
653         we need this with any optimization that reorder or remove bblocks
654
655         * mini.c (optimize_branches): bug fixes
656
657 2003-06-06  Dietmar Maurer  <dietmar@ximian.com>
658
659         * mini.c (mono_method_to_ir): inline static readonly fields
660
661         * ssa.c (fold_tree): start cfold support for long (very simple
662         cases only)
663
664         * cfold.c (mono_constant_fold_inst): opt. CEE_CONV_I8 (OP_ICONST)
665
666 Fri Jun 6 11:41:18 CEST 2003 Paolo Molaro <lupus@ximian.com>
667
668         * inssel.brg: fixed memcpy (bug #44219).
669
670 2003-06-05  Dick Porter  <dick@ximian.com>
671
672         * driver.c: Set the glib log levels to not abort if g_message
673         recurses.
674
675         g_set_prgname() has to happen before mini_init() so that the
676         process handle gets the info.
677         
678 Thu Jun 5 20:11:29 CEST 2003 Paolo Molaro <lupus@ximian.com>
679
680         * driver.c: add intrins to the default optimizations to get wider
681         exposure.
682
683 Wed Jun 4 19:47:57 CEST 2003 Paolo Molaro <lupus@ximian.com>
684
685         * mini.h: some large basic blocks will overflow a 16-bit
686         integers for symbolic registers.
687
688 2003-06-04  Dietmar Maurer  <dietmar@ximian.com>
689
690         * mini-x86.c (mono_arch_output_basic_block): revert previous fprem changes.
691         (mono_arch_output_basic_block): fix bug 43499 
692
693 Wed Jun 4 13:13:52 CEST 2003 Paolo Molaro <lupus@ximian.com>
694
695         * mini.c: kill duplicated definition of mono_debug_format.
696
697 Wed Jun 4 13:09:51 CEST 2003 Paolo Molaro <lupus@ximian.com>
698
699         * mini-x86.c, arrays.cs: fixed register allocation bug.
700
701 2003-06-04  Dietmar Maurer  <dietmar@ximian.com>
702
703         * mini-x86.c (mono_arch_output_basic_block): use IEEE compatible fprem1
704
705         * mini.c (mini_get_opcode_for_method): inline IEEERemainder
706
707 2003-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
708
709         * mini.c:
710         (print_method_from_ip): also print source location information if
711         available.
712
713 2003-06-02  Dietmar Maurer  <dietmar@ximian.com>
714
715         * mini.c (mono_find_block_region): bug fix in region code
716         (mini_method_compile): enable removing unreachable code again, but
717         only in methods without exception clauses.
718
719 Fri May 30 18:40:24 CEST 2003 Paolo Molaro <lupus@ximian.com>
720
721         * mini.c, mini-ops.h, cpu-pentium.md, inssel.brg, mini-x86.c, mini.h:
722         Implemented arglist opcode and handling of TypedReference type.
723         Fixed x86 call convention when a structure is returned.
724         Minimal support for calling static vararg methods.
725
726 2003-05-30  Dietmar Maurer  <dietmar@ximian.com>
727
728         * mini.c (mini_method_compile):  always remove unreachable code,
729         because the code in them may be inconsistent  (access to dead
730         variables for example).
731
732 Thu May 29 11:44:49 CEST 2003 Paolo Molaro <lupus@ximian.com>
733
734         * driver.c, debug-mini.c: warning fixes.
735
736 Wed May 28 11:19:15 CEST 2003 Paolo Molaro <lupus@ximian.com>
737
738         * Makefile.am, jit.h, mini.h: install header for embedding mono.
739
740 Tue May 27 17:56:12 CEST 2003 Paolo Molaro <lupus@ximian.com>
741
742         * mini.c: thread-static fields are registered in mono_class_vtable(),
743         so ensure the function is called before checking for them.
744
745 2003-05-27  Dietmar Maurer  <dietmar@ximian.com>
746
747         * mini.c (optimize_branches): fix for bug 43586
748
749         * jit-icalls.c (mono_llmult_ovf): added an additional check for
750         overflow (fixes Bug #43639)
751
752 Tue May 27 11:33:53 CEST 2003 Paolo Molaro <lupus@ximian.com>
753
754         * mini.c, objects.cs: allow the use of stobj for primitive types.
755
756 Tue May 27 10:33:53 CEST 2003 Paolo Molaro <lupus@ximian.com>
757
758         * mini.c: be less strict about argument checking until we support
759         running the verifier.
760
761 2003-05-27  Nick Drochak <ndrochak@gol.com>
762
763         * basic-long.cs: tests for (ulong)int * (ulong)int also
764         * mini.c: use the same trick for (ulong)int * (ulong)int
765
766 2003-05-27  Nick Drochak <ndrochak@gol.com>
767
768         * basic-long.cs: add regression test for (long)int * (long)int
769         * cpu-pentium.md: add op_bigmul specification
770         * inssel-long32.brg: add OP_BIGMUL rule
771         * mini-ops.h: add OP_BIGMUL
772         * mini-x86.c: register allocator: handle case where src1 needs to be
773         in EAX.
774         * mini.c: substitute special BIGMUL opcode in the tree for 
775         (long)int * (long)int
776
777 Mon May 26 20:20:13 CEST 2003 Paolo Molaro <lupus@ximian.com>
778
779         * jit-icalls.c: call the type ctor on field access if needed.
780
781 Mon May 26 15:21:21 CEST 2003 Paolo Molaro <lupus@ximian.com>
782
783         * mini-ops.h, mini.c, inssel.brg, exceptions.cs: validate arguments passed
784         to a method (including results of ldelema, bug#43207).
785
786 2003-05-26  Dietmar Maurer  <dietmar@ximian.com>
787
788         * graph.c (cfg_emit_one_loop_level): loop over all blocks. use
789         colors to show exception handler blocks.
790
791         * inssel-x86.brg (OP_OUTARG_VT): dont push zero sized structures
792         (fix for pinvoke7.cs).
793
794 Mon May 26 12:11:53 CEST 2003 Paolo Molaro <lupus@ximian.com>
795
796         * mini.h, mini.c: ensure correct initialization order for types that
797         require it. Prepare for lazy compilation of jit icall wrappers.
798         Provide a name for opcode emulation to reduce unneeded mallocing.
799
800 Fri May 23 16:08:54 CEST 2003 Paolo Molaro <lupus@ximian.com>
801
802         * mini-x86.c: better register restoring code and profiling
803         support for tail calls.
804
805 Fri May 23 15:30:53 CEST 2003 Paolo Molaro <lupus@ximian.com>
806
807         * mini.h, driver.c: prepare for leaf methods optimization.
808
809 Fri May 23 15:28:32 CEST 2003 Paolo Molaro <lupus@ximian.com>
810
811         * mini.c: get targets of branches before converting a method.
812
813 2003-05-23  Dietmar Maurer  <dietmar@ximian.com>
814
815         * mini.c (optimize_branches): added some experimental code (disbaled) 
816
817 2003-05-22  Dietmar Maurer  <dietmar@ximian.com>
818
819         * mini.c (optimize_branches): fix branch to branch optimization 
820
821         * exceptions-x86.c (mono_arch_handle_exception): bug fix.
822
823         * mini-x86.c (mono_arch_output_basic_block): cleanup up exception code
824
825         * inssel-x86.brg: added OP_START_HANDLER, CEE_ENDFINALLY, OP_ENDFILTER
826
827         * mini-x86.c (mono_arch_allocate_vars): only reserve space for lmf
828         if needed.
829
830 2003-05-21  Dietmar Maurer  <dietmar@ximian.com>
831
832         * mini.c (mono_method_to_ir): call handle_loaded_temps before inlining.
833         enable use of interface variables again.
834
835         * mini-x86.c (mono_arch_get_allocatable_int_vars): dont allocate
836         I1 to registers because there is no simply way to sign extend 8bit
837         quantities in caller saved registers on x86.
838
839         * inssel-float.brg: set costs of some rules to 2 so
840         that monobure always select the arch. specific ones if supplied,
841         regardless of the order we pass the files to monoburg.
842
843 Tue May 20 17:19:14 CEST 2003 Paolo Molaro <lupus@ximian.com>
844
845         * mini.c, mini-x86.c: since the magic trampoline for jumps
846         can't patch the code directly, we do it as soon as the
847         method gets compiled.
848
849 Tue May 20 16:02:52 CEST 2003 Paolo Molaro <lupus@ximian.com>
850
851         * mini-x86.c, mini.h: introduce a new patching method
852         to support CEE_JMP and tail calls.
853         * mini.c: obey tail.call. Don't precompile methods target
854         of CEE_JMP.
855         * tramp-x86.c: new trampoline code to handle methods
856         reached through a jump.
857
858 2003-05-20  Dietmar Maurer  <dietmar@ximian.com>
859
860         * mini-x86.c (mono_arch_get_allocatable_int_vars): allocate 8/16
861         bit values to registers
862
863 2003-05-19  Dietmar Maurer  <dietmar@ximian.com>
864
865         * mini.c (mono_compile_get_interface_var): share interface
866         variables if possible.
867
868 2003-05-16  Martin Baulig  <martin@ximian.com>
869
870         * debug-mini.c (mono_init_debugger): New function to initialize
871         the debugger.  This is not in the debugger since it needs to
872         access some of mini's internals.
873
874 2003-05-16  Dietmar Maurer  <dietmar@ximian.com>
875
876         * mini.c (mono_method_to_ir): inlining fixes/cleanups
877
878 Fri May 16 13:27:23 CEST 2003 Paolo Molaro <lupus@ximian.com>
879
880         * mini.c, mini-opts.h, inssel.brg: inline small memcpy
881         for value type handling.
882
883 2003-05-16  Dietmar Maurer  <dietmar@ximian.com>
884
885         * mini.c (mono_method_to_ir): inline LDFLD/STFLD wrappers
886         (mono_method_check_inlining): enable inlining of all kinds of wrappers
887
888 2003-05-15  Lluis Sanchez Gual  <lluis@ideary.com>
889
890         * mini.c: fixed little bug in CEE_NEWOBJ case when calling
891           the constructor through a proxy.
892
893 Thu May 15 17:17:27 CEST 2003 Paolo Molaro <lupus@ximian.com>
894
895         * jit-icalls.c, inssel.brg: fixes to array element address
896         calculations.
897
898 2003-05-15  Dietmar Maurer  <dietmar@ximian.com>
899
900         * mini-x86.c (is_regsize_var): allocate pointer to registers
901
902 Thu May 15 13:04:02 CEST 2003 Paolo Molaro <lupus@ximian.com>
903
904         * driver.c: fixed typo, added intrins to the set of optimizations
905         tested with regressions.
906
907 Thu May 15 11:57:42 CEST 2003 Paolo Molaro <lupus@ximian.com>
908
909         * mini-ops.h, mini.c, inssel.brg: optimize access to 2D arrays.
910         * jit-icalls.c, exceptions.cs: fixed index out of range checks, added
911         test case.
912
913 2003-05-14  Dietmar Maurer  <dietmar@ximian.com>
914
915         * inssel.brg: remove some common pop instructions without side effects
916
917 Wed May 14 12:40:31 CEST 2003 Paolo Molaro <lupus@ximian.com>
918
919         * inssel-x86.brg: fixed thinko in int to double conversions.
920
921 Wed May 14 12:01:58 CEST 2003 Paolo Molaro <lupus@ximian.com>
922
923         * mini.c, jit-icalls.c: added runtime thread-static variable support.
924
925 Tue May 13 22:02:06 CEST 2003 Paolo Molaro <lupus@ximian.com>
926
927         * inssel-long32.brg: two more missing instructions.
928
929 2003-05-13  Dietmar Maurer  <dietmar@ximian.com>
930
931         * mini.c (mono_emit_call_args): set the cil_code for all arguments
932         if not already set.
933
934 2003-05-12  Zoltan Varga  <vargaz@freemail.hu>
935
936         * mini-x86.c (mono_arch_output_basic_block): Handle negative zero
937         correctly.
938
939         * basic-float.cs: Added tests for negative zero.
940
941 Sun May 11 14:56:27 CEST 2003 Paolo Molaro <lupus@ximian.com>
942
943         * inssel-long32.brg, basic-long.cs, exceptions.cs: handle
944         a couple of missing operations for long casts, with test cases.
945
946 2003-05-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
947
948         * exceptions-x86.c: fixed small leaks in mono_arch_handle_exception.
949
950 2003-05-09  Dietmar Maurer  <dietmar@ximian.com>
951
952         * mini-x86.c (mono_arch_emit_prolog): avoid reallocs with better
953         code size estimation.
954
955 2003-05-08  Dietmar Maurer  <dietmar@ximian.com>
956
957         * mini.c (mono_jit_create_remoting_trampoline): make it work with
958         abstract methods (fix bug 42542)
959
960         * aot.c: add ability to handle array types
961         
962 2003-05-08  Zoltan Varga  <vargaz@freemail.hu>
963
964         * mini.c: Call the _specific versions of the object allocation
965         functions if possible.
966
967 Tue May 6 17:18:33 CEST 2003 Paolo Molaro <lupus@ximian.com>
968
969         * driver.c: call setlocale ().
970
971 Tue May 6 14:38:22 CEST 2003 Paolo Molaro <lupus@ximian.com>
972
973         * mini.h, mini.c, aot.c, debug-mini.c, exceptions.c: build fixes for
974         windows build.
975
976 2003-05-05  Dietmar Maurer  <dietmar@ximian.com>
977
978         * mini.c (optimize_branches): dont touch code inside exception clauses (fix bug 38136)
979
980         * exceptions-x86.c (ves_icall_get_frame_info): also skip remoting
981         wrappers (fix bug 42122)
982
983 2003-05-04  Martin Baulig  <martin@ximian.com>
984
985         * mini.h (mono_jit_init, mono_jit_cleanup): Added prototypes.
986
987         * driver.c: s/MONO_OPT_SAHRED/MONO_OPT_SHARED/g.
988         s/mini_set_defaults/mono_set_defaults/g.
989
990 2003-05-04  Martin Baulig  <martin@ximian.com>
991
992         * driver.c: s/mini_parse_default_optimizations/mono_parse_default_optimizations/g.
993
994 Sun May 4 11:48:08 CEST 2003 Paolo Molaro <lupus@ximian.com>
995
996         * inssel-long32.brg: add missing lreg: OP_LCONV_TO_U8 (lreg) rule
997         (reported by Don Roberts).
998
999 Fri May 2 18:36:45 CEST 2003 Paolo Molaro <lupus@ximian.com>
1000
1001         * mini.c: temporarily work around two bugs for this release.
1002
1003 Fri May 2 17:37:29 CEST 2003 Paolo Molaro <lupus@ximian.com>
1004
1005         * Makefile.am: avoid linking libmono with GMODULE_LIBS, because
1006         that contains -export-dynamic and it makes using the ld script
1007         useless.
1008         * mini.h, main.c, driver.c: s/mini_main/mono_main/g.
1009
1010 Fri May 2 12:52:32 CEST 2003 Paolo Molaro <lupus@ximian.com>
1011
1012         * mini.h, mini-x86.c, driver.c: disable optimizations not available on a
1013         specific cpu.
1014
1015 Thu May 1 15:28:21 CEST 2003 Paolo Molaro <lupus@ximian.com>
1016
1017         * mini.c: make sure leave calls all the needed finally blocks,
1018         even when the target jumps out of multiple exception clauses.
1019
1020 Thu May 1 15:18:26 CEST 2003 Paolo Molaro <lupus@ximian.com>
1021
1022         * ldscript, Makefile.am: add linker script to reduce the number of
1023         exported symbols (should also fix the issues with libwine defining
1024         some of the same symbols in io-layer).
1025
1026 2003-05-01  Zoltan Varga  <vargaz@freemail.hu>
1027
1028         * driver.c (mini_main): Avoid assertion when no file name is given on 
1029         the command line.
1030
1031 Wed Apr 30 15:33:11 CEST 2003 Paolo Molaro <lupus@ximian.com>
1032
1033         * driver.c: added --version/-V command line option.
1034         Added the inline optimization in the regression tests.
1035
1036 Wed Apr 30 15:16:02 CEST 2003 Paolo Molaro <lupus@ximian.com>
1037
1038         * mini.c, basic-calls.cs: when inlining, save arguments to locals according 
1039         to the type in the method signature (fixes bug#42134).
1040
1041 Wed Apr 30 12:38:44 CEST 2003 Paolo Molaro <lupus@ximian.com>
1042
1043         * mini.c: when inlining, check this is not null only when needed (bug #42135).
1044
1045 Wed Apr 30 11:44:36 CEST 2003 Paolo Molaro <lupus@ximian.com>
1046
1047         * mini-ppc.h, tramp-pcc.c: type fixes from Max Horn <max@quendi.de>.
1048
1049 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1050
1051         * driver.c: fixed bug #42100.
1052
1053 2003-04-29  Dietmar Maurer  <dietmar@ximian.com>
1054
1055         * mini.c (mono_method_to_ir): UNBOX need to CAST objects first
1056
1057 Mon Apr 28 17:03:14 CEST 2003 Paolo Molaro <lupus@ximian.com>
1058
1059         * mini.c: moved most of the code required to do inlining to its own
1060         function so it can be reused. Inline also ctors if appropriate.
1061
1062 2003-04-28  Zoltan Varga  <vargaz@freemail.hu>
1063
1064         * Makefile.am: Link with -export-dynamic so shared libs loaded by
1065         the runtime can call mono API functions.
1066
1067 2003-04-27  Martin Baulig  <martin@ximian.com>
1068
1069         * debug-mini.c (mono_debug_init_method): Added
1070         `guint32 breakpoint_id' argument; if the method has a breakpoint,
1071         send a notification to the debugger.
1072
1073         * mini.c (mono_method_to_ir): Don't insert a breakpoint if we're
1074         running in the Mono Debugger, just pass the breakpoint number to
1075         mono_debug_init_method().
1076
1077         * tramp-x86.c, tramp-ppc.c: Removed the breakpoint trampolines.
1078
1079 Sun Apr 27 13:18:04 CEST 2003 Paolo Molaro <lupus@ximian.com>
1080
1081         * mini.c: allow some more unsafe compares.
1082
1083 Sat Apr 26 11:55:41 CEST 2003 Paolo Molaro <lupus@ximian.com>
1084
1085         * mini-x86.c, Makefile.am: make distcheck works (partially from
1086         a patch by Richard Lee <r.h.lee@attbi.com>).
1087         * regset.c, regset.h: removed, they are unused.
1088
1089 2003-04-25  Dick Porter  <dick@ximian.com>
1090
1091         * driver.c: Usage reports the name as 'mono' not 'mini'
1092         * exceptions-x86.c: Build and run on freebsd
1093
1094 Thu Apr 24 17:09:03 CEST 2003 Paolo Molaro <lupus@ximian.com>
1095
1096         * Makefile.am: install the program with the 'mono' name and
1097         the library as libmono instead of mini and libmini.
1098
1099 Thu Apr 24 17:08:07 CEST 2003 Paolo Molaro <lupus@ximian.com>
1100
1101         * driver.c: provide the APIs for the embedding interface of the old jit.
1102
1103 2003-04-23  Dietmar Maurer  <dietmar@ximian.com>
1104
1105         * jit-icalls.c (helper_stelem_ref): impl. (fix bug 41775)
1106
1107 2003-04-23  Martin Baulig  <martin@ximian.com>
1108
1109         * tramp-x86.c, tramp-ppc.c: Reenable the debugger breakpoint interface.
1110
1111         * driver.c: Added `--debug' command line argument to enable
1112         debugging support.
1113
1114 2003-04-23  Martin Baulig  <martin@ximian.com>
1115
1116         * debug.[ch]: Removed.  The code is now in
1117         ../metadata/mono-debug.[ch] and mono-debug-debugger.[ch].
1118
1119         * debug-stabs.c, debug-dwarf2.c: Removed; nobody used this for the
1120         last six months.
1121
1122 2003-04-22  Dietmar Maurer  <dietmar@ximian.com>
1123
1124         * mini.c (mono_method_to_ir): set the cil_code address (fix bug 41525)
1125
1126 2003-04-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1127
1128         * mini.c:
1129         (mini_cleanup): moved mono_runtime_cleanup call after the call to
1130         mono_domain_finalize.
1131         (mini_method_compile): use mono_method_profile* if the the option is
1132         enabled.
1133
1134 2003-04-17  Zoltan Varga  <vargaz@freemail.hu>
1135
1136         * tramp-x86.c (mono_arch_create_jit_trampoline): Subsitute synchronized
1137         methods with their wrapper.
1138
1139         * tramp-ppc.c (mono_arch_create_jit_trampoline): Subsitute synchronized
1140         methods with their wrapper.
1141
1142         * jit-icalls.c (mono_ldvirtfn): Subsitute synchronized methods with
1143         their wrapper.
1144
1145         * mini.c (mono_method_to_ir): Subsitute synchronized methods with their
1146         wrapper.
1147
1148         * mini.c (mono_method_check_inlining): Avoid inlining synchronized
1149         methods.
1150
1151 2003-04-17  Dietmar Maurer  <dietmar@ximian.com>
1152
1153         * exceptions-x86.c (mono_arch_handle_exception): fix for bug 36252
1154
1155 2003-04-16  Dietmar Maurer  <dietmar@ximian.com>
1156
1157         * mini.c (mono_compile_create_var): use g_malloc/g_realloc instead
1158         of the mempool. This is slightly faster and uses less memory
1159
1160 Wed Apr 16 12:53:10 CEST 2003 Paolo Molaro <lupus@ximian.com>
1161
1162         * mini.c: avoid O(n) allocation for variables.
1163
1164 Tue Apr 15 19:13:41 CEST 2003 Paolo Molaro <lupus@ximian.com>
1165
1166         * mini.c: handle items on the stack after inlining methods.
1167
1168 Tue Apr 15 14:17:57 CEST 2003 Paolo Molaro <lupus@ximian.com>
1169
1170         * mini.c: make the method->opcode optimization dependent
1171         on MONO_OPT_INSTRINS and do it lazily.
1172
1173 Tue Apr 15 14:15:39 CEST 2003 Paolo Molaro <lupus@ximian.com>
1174
1175         * driver.c: print overall results at the end of regression run.
1176
1177 Tue Apr 15 11:18:46 CEST 2003 Paolo Molaro <lupus@ximian.com>
1178
1179         * inssel.brg: don't overwrite symbolic registers.
1180
1181 Mon Apr 14 17:41:34 CEST 2003 Paolo Molaro <lupus@ximian.com>
1182
1183         * inssel-x86.brg: fix conversion from long to float.
1184
1185 2003-04-11  Dietmar Maurer  <dietmar@ximian.com>
1186
1187         * mini.c (mini_init): use an opcode for get_Chars (OP_GETCHR)
1188
1189 2003-04-10  Zoltan Varga  <vargaz@freemail.hu>
1190
1191         * mini.c (mono_type_blittable): MONO_TYPE_OBJECT is blittable.
1192
1193         * driver.c: Added --print-vtable option as in the old JIT.
1194
1195 Thu Apr 10 17:43:49 CEST 2003 Paolo Molaro <lupus@ximian.com>
1196
1197         * inssel-long32.brg, exceptions.cs: fix conversions from long, too.
1198
1199 Thu Apr 10 16:27:43 CEST 2003 Paolo Molaro <lupus@ximian.com>
1200
1201         * inssel.brg, basic.cs: fixed checked conversions to byte and short.
1202
1203 2003-04-09  Zoltan Varga  <vargaz@freemail.hu>
1204
1205         * mini.c regalloc.c regalloc.h: Fix memory leak.
1206
1207 2003-04-09  Dietmar Maurer  <dietmar@ximian.com>
1208
1209         * aot.c (mono_aot_get_method): register all used strings
1210
1211 Wed Apr 9 15:22:18 CEST 2003 Paolo Molaro <lupus@ximian.com>
1212
1213         * mini.c: always intern strings references with ldstr at compile time.
1214
1215 Tue Apr 8 11:41:26 CEST 2003 Paolo Molaro <lupus@ximian.com>
1216
1217         * Makefile.am: add BUILT_SOURCES.
1218
1219 Mon Apr 7 16:31:34 CEST 2003 Paolo Molaro <lupus@ximian.com>
1220
1221         * driver.c: give a better error message when the assembly to execute
1222         doesn't have an entry point.
1223
1224 2003-04-07  Dietmar Maurer  <dietmar@ximian.com>
1225
1226         * Makefile.am: added hack for automake
1227
1228         * mono/mini/mini.c (mono_save_args): always copy arguments to keep
1229         correct sematics.
1230
1231         * mono/mini/ssa.c (mono_ssa_avoid_copies): don't optimize calls
1232
1233 22003-04-07  Martin Baulig  <martin@ximian.com>
1234
1235         * Makefile.am: Added Makefile.am.
1236
1237         * debugger-main.c: Removed, this is now in the debugger where it
1238         belongs.
1239
1240         * mini.pc.in: Call this package `mini' for the moment.
1241
1242
1243