1 2003-11-27 Zoltan Varga <vargaz@freemail.hu>
3 * mini.c (mono_method_to_ir): Fix tail calls with valuetype arguments.
4 Also optimize the case when the arguments are the same in the caller
7 * iltests.il: Add tests for tail calls with valuetype arguments.
9 Thu Nov 27 21:06:37 CET 2003 Paolo Molaro <lupus@ximian.com>
11 * mini-ppc.c: fixes for struct return type.
13 Thu Nov 27 19:02:07 CET 2003 Paolo Molaro <lupus@ximian.com>
15 * mini.h, mini.c, mini-x86.c, mini-ppc.c, mini-sparc.c: move
16 mono_spillvar_offset() to arch-specific code.
18 Thu Nov 27 18:30:42 CET 2003 Paolo Molaro <lupus@ximian.com>
20 * mini-ppc.h, mini-ppc.c: handle some different ABI call convention issues.
22 2003-11-27 Zoltan Varga <vargaz@freemail.hu>
24 * exceptions-x86.c: Fix stack space leaks.
26 * exceptions-x86.c (mono_arch_find_jit_info): Restore callee saved
27 registers from the lmf if the method has save_lmf set.
29 2003-11-26 Zoltan Varga <vargaz@freemail.hu>
31 * tramp-x86.c (x86_magic_trampoline): Avoid patching in the addresses
32 of icall wrappers into InvokeInDomain, since these are now per-domain.
34 Wed Nov 26 20:15:04 CET 2003 Paolo Molaro <lupus@ximian.com>
36 * mini-ppc.h, mini-x86.h, mini.c, inssel-ppc.brg, jit-icalls.c:
37 make some opcode emulation and intrinsic ops enabled/disabled
38 according to the architecture. More fixes.
40 Wed Nov 26 19:59:09 CET 2003 Paolo Molaro <lupus@ximian.com>
42 * mini-ppc.c, mini-sparc.c, cpu-g4.md: more bug fixes.
44 Wed Nov 26 19:18:29 CET 2003 Paolo Molaro <lupus@ximian.com>
46 * mini.h, inssel.brg, mini-x86.c, mini-ppc.c, mini-sparc.c: move
47 arch-specific handling for 'this' and struct return type to
50 2003-11-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
52 * aot.c: prevent divide by zero error when reporting (it happened with
55 2003-11-25 Zoltan Varga <vargaz@freemail.hu>
57 * mini.h (inst_switch): Remove unused macro.
59 2003-11-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
62 (load_aot_module): free 'info->methods' and 'info' properly. No more
63 "free(): invalid pointer blah" messages when you have an old aot
66 2003-11-21 Lluis Sanchez Gual <lluis@ximian.com>
68 * jit-icalls.c, mini.c: Added support for context static fields.
70 2003-11-18 Zoltan Varga <vargaz@freemail.hu>
72 * mini.c (mono_method_blittable): Methods which set LastError are not
73 blittable either. Fixes #51108.
75 Tue Nov 18 16:41:37 CET 2003 Paolo Molaro <lupus@ximian.com>
77 * mini.c: flush icache.
78 * cpu-g4.md, mini-ppc.c, inssel.brg: more fixes. Trace support.
80 2003-11-18 Zoltan Varga <vargaz@freemail.hu>
82 * mini.c (mono_type_blittable): OBJECT is not blittable. Fixes #47842.
84 2003-11-17 Zoltan Varga <vargaz@freemail.hu>
86 * tramp-x86.c (x86_class_init_trampoline): Make code patching thread
89 * mini-x86.c (mono_arch_call_opcode): Disable AOT for methods with
92 * inssel.brg (CEE_MKREFANY): Fix AOT case.
94 2003-11-16 Zoltan Varga <vargaz@freemail.hu>
96 * mini-x86.c (mono_arch_local_regalloc): Fix regalloc for div
97 instruction when the result is discarded.
99 * iltests.il (test_0_div_regalloc): New regression test.
101 * arrays.cs: Fix compilation error.
103 Fri Nov 14 21:34:06 CET 2003 Paolo Molaro <lupus@ximian.com>
105 * inssel-x86.brg, inssel-float.brg, mini-ops.h: move x86-specific
106 float rules to inssel-x86.brg: sane architectures with FP registers
107 don't need to implement these rules.
109 Fri Nov 14 20:52:12 CET 2003 Paolo Molaro <lupus@ximian.com>
111 * mini-ppc.c, cpu-g4.md, inssel-ppc.brg: updates and fixes to the ppc port.
113 Fri Nov 14 17:58:27 CET 2003 Paolo Molaro <lupus@ximian.com>
115 * mini.h, inssel-long32.brg: fixed endianess issues in int64
116 implementation of 32 bit systems.
118 Thu Nov 13 16:14:41 CET 2003 Paolo Molaro <lupus@ximian.com>
120 * exceptions-ppc.c: fix build on Linux/ppc from Jeroen@xs4all.nl
121 (Jeroen Zwartepoorte).
123 2003-11-12 Zoltan Varga <vargaz@freemail.hu>
125 * mini.c (mono_method_to_ir): Use CEE_JMP only if the signature of
126 the caller and the callee matches.
128 * mini.c (mono_method_to_ir): Add comment.
130 * mini-x86.c (mono_arch_output_basic_block): Use mono_signbit, since
131 signbit is missing on some platforms.
133 2003-11-06 Zoltan Varga <vargaz@freemail.hu>
135 * mini.h (mono_arch_setup_jit_tls_data): New arch specific function.
137 * mini.c (setup_jit_tls_data): Call the new function.
139 * mini-x86.c mini-ppc.c mini-sparc.c: Define the new function.
141 * mini-x86.c: Add experimental support for fast access to the lmf
142 structure under NPTL/Linux 2.6.x.
144 2003-11-06 Martin Baulig <martin@ximian.com>
146 * ldscript: Make `GC_push_all_stack', `GC_start_blocking',
147 `GC_end_blocking' and 'gc_thread_vtable' public; they're used by
150 2003-11-02 Martin Baulig <martin@ximian.com>
152 * mini.c (inflate_generic_field): New static method.
153 (mono_method_to_ir): In CEE_LDFLD and CEE_LDSFLD: if we're a
154 generic instance and the field is declared in a generic type, call
155 inflate_generic_field() to inflate it. Fixes gen-28.cs.
157 2003-10-31 Zoltan Varga <vargaz@freemail.hu>
159 * mini.h mini.c (mono_method_same_domain): New function to return
160 whenever the caller and the callee are in the same domain.
162 * tramp-x86.c (x86_magic_trampoline): Use the new function.
164 2003-10-30 Martin Baulig <martin@ximian.com>
166 * mini.c (MTYPE_PARAM_TO_TYPE, MTYPE_PARAM_TO_CLASS): New macros;
167 similar to TYPE_PARAM_TO_TYPE and TYPE_PARAM_TO_CLASS, but for
169 (mono_method_to_ir): Added support for MONO_TYPE_MVAR; similar to
170 MONO_TYPE_VAR, we the actual types from MTYPE_PARAM_TO_CLASS().
172 2003-10-29 Zoltan Varga <vargaz@freemail.hu>
174 * mini.c mini-ops.h inssel.brg: Implement undeniable exception
177 * mini.c (sigusr1_signal_handler): Move creation of the thread abort
178 object here, so it is in the correct appdomain etc.
180 2003-10-27 Zoltan Varga <vargaz@freemail.hu>
182 * mini.c (mono_jit_compile_method_inner): Lookup icalls here if not
184 (mono_method_to_ir): Avoid freeing the type created returned from
185 mono_type_create_from_typespec, since it is put into an internal cache
186 by the function. Fixes pointer.exe.
188 * mini.c tramp-x86.c tramp-sparc.c tramp-ppc.c: Use the normal
189 trampolines for icalls and pinvokes as well. Fixes #33569.
191 2003-10-24 Zoltan Varga <vargaz@freemail.hu>
193 * mini.c: Update after appdomain changes.
195 * mini.c (mono_jit_compile_method_inner): Allways compile native
196 method wrappers in the root domain, since there can only be one
197 instance of them, whose address is stored in method->info.
199 2003-10-16 Zoltan Varga <vargaz@freemail.hu>
201 * mini.c (mono_runtime_install_handlers): Get rid of the MONO_VALGRIND
202 environment variable. Instead detect automatically whenever running
203 under valgrind using the magic macro RUNNING_ON_VALGRIND from
206 2003-10-16 Miguel de Icaza <miguel@ximian.com>
208 * trace.c, trace.h: New files that implement the new trace option
211 * driver.c: Document new --trace options.
213 * exceptions-ppc.c, exceptions-x86.c, mini-ppc.c, mini-sparc.c,
216 - if (mono_jit_trace_calls)
217 + if (mono_jit_trace_calls != NULL && mono_trace_eval (method))
219 * mini.h: prototypes.
221 2003-10-15 Zoltan Varga <vargaz@freemail.hu>
223 * mini.c (mono_method_to_ir): Fix initialization of typedbyref locals.
225 * mini.c inssel.brg: Implement typedefbyref opcodes.
227 * mini.c (mono_jit_compile_method): Remove unused local variable.
229 * mini.c (mono_jit_compile_method_inner): Ditto.
231 2003-10-12 Zoltan Varga <vargaz@freemail.hu>
233 * tramp-x86.c (x86_class_init_trampoline): Fix build.
235 * tramp-x86.c (x86_class_init_trampoline): Thread safety fixes.
237 2003-10-10 Zoltan Varga <vargaz@freemail.hu>
239 * mini.c (mono_no_aot): Remove unused global variable.
241 * mini.c: Thread safety fixes.
243 2003-10-09 Zoltan Varga <vargaz@freemail.hu>
245 * mini.c (mono_create_class_init_trampoline): Add a lock around
246 class_init_hash_addr.
248 * arrays.cs (test_0_newarr_emulation): Add new regression test for
251 * mini.c: Decompose the NEWARR instruction before decomposing its
252 arguments. Fixes #30073.
254 2003-10-08 Zoltan Varga <vargaz@freemail.hu>
256 * mini-x86.c (mono_arch_emit_epilog): Add support for stdcall calling
259 2003-10-06 Zoltan Varga <vargaz@freemail.hu>
261 * mini.c (mono_method_to_ir): Allow wrapper data for CEE_LDELEMA.
263 * inssel-x86.brg (OP_LOCALLOC): Fix register assignment for localloc.
265 * driver.c: Add support for compiling icall wrappers to --compile.
267 2003-10-05 Zoltan Varga <vargaz@freemail.hu>
269 * inssel.brg: The empty value in class->interface_offsets is -1, not
272 2003-10-03 Zoltan Varga <vargaz@freemail.hu>
274 * objects.cs: New test for 'is' operator on an array of interfaces.
276 Wed Oct 1 19:40:02 CEST 2003 Paolo Molaro <lupus@ximian.com>
278 * tramp-ppc.c: update trampoline code to support jumps
279 and class initialization.
281 2003-09-30 Zoltan Varga <vargaz@freemail.hu>
283 * mini.c (mono_jit_compile_method): Fix reading of freed memory.
285 * inssel.brg (OP_UNBOXCAST): Fix #46027.
287 * inssel.brg (OP_UNBOX): Remove unused rule.
289 * mini.h mini.c inssel-x86.brg: Allocate one SP variable for each
290 region instead of one for each method. Fixes #47813.
292 2003-09-29 Zoltan Varga <vargaz@freemail.hu>
294 * exceptions.cs (test_0_nested_finally): New regression test for
295 nested exception handlers.
297 * mini.c (mono_jit_runtime_invoke): Fix for the previous fix.
299 * mini.c (mono_method_to_ir): Avoid inlining tail calls.
301 * mini.c (mono_method_to_ir): Fix tail recursion in the presence of
304 * mini.c (mono_method_check_inlining): Make the inlining limit
305 configurable by an environment variable.
307 * mini.c (mono_jit_runtime_invoke): Add Gonzalo's fix for #36545.
309 * mini.h: Bump AOT file version.
311 * mini.h mini.c aot.c mini-x86.c: For relocations which refer to a
312 token, store the image along with the token, since the token might not
313 refer to the same image as the method containing the relocation,
316 2003-09-27 Zoltan Varga <vargaz@freemail.hu>
318 * mini.c (mono_precompile_assemblies): New function to compile
319 all methods in all loaded assemblies.
321 * mini.h driver.c: Added new optimization flag MONO_OPT_PRECOMP.
323 * regalloc.h regalloc.c (MonoRegState): Change the type of
324 iassign and fassign to int*, since they can contain large negative
325 values if the register is spilled. Also added some comments. Fixes
328 * exceptions-x86.c (seh_handler): Fix handling of system exceptions
329 under Win32. Fixes #42964.
331 2003-09-26 Zoltan Varga <vargaz@freemail.hu>
333 * mini.h (MONO_PATCH_INFO_WRAPPER): New patch type.
335 * aot.c: Added support for AOT compiling methods which contain calls
336 to wrappers. Currently, only remoting-invoke-with-check wrappers are
339 * driver.c (compile_all_methods): Run the compilation in a thread
340 managed by mono. Fixes #44023.
342 * mini.c (mono_codegen): Print full method name in verbose output.
344 * mini-x86.c (mono_arch_patch_code): Fix warning.
346 * mini-x86.c (mono_arch_patch_code): Allways create a trampoline for
347 jumps, since the method we are jumping to might be domain-specific.
349 * aot.c: Added support for MONO_PATCH_INFO_METHOD_JUMP.
351 Tue Sep 23 10:50:27 CEST 2003 Paolo Molaro <lupus@ximian.com>
353 * inssel.brg: string chars are unsigned.
355 2003-09-15 Zoltan Varga <vargaz@freemail.hu>
357 * TODO: New todo item.
359 * tramp-x86.c (x86_class_init_trampoline): New trampoline function
360 which calls mono_runtime_class_init and patches the call site to
362 (mono_arch_create_class_init_trampoline): New arch specific function
363 to create a class init trampoline.
364 (create_trampoline_code): Generalized so it can create
365 class init trampolines as well.
367 * mini.c (helper_sig_class_init_trampoline): New helper variable.
368 (mono_create_class_init_trampoline): New function to create and cache
369 class init trampolines.
370 (mono_find_class_init_trampoline_by_addr): New function to lookup the
371 vtable given the address of a class init trampoline. Used by the
373 (mono_codegen): Generate a call to a trampoline instead of
374 mono_runtime_class_init in LDSFLD[A].
375 (mono_codegen): Add relocations for the new trampoline.
377 * mini.h mini-x86.c aot.c: Added a new relocation type:
378 MONO_PATCH_INFO_CLASS_INIT.
380 * mini.h: Bump AOT version number.
382 * aot.c: Create a copy of the loaded code instead of using the original
383 so methods which call each other will be close in memory, improving
386 * exceptions-x86.c (mono_arch_has_unwind_info): Back out the previous
387 patch since it breaks the regression tests.
389 * exceptions-x86.c (mono_arch_has_unwind_info): Added explicit check
390 for the register saving instruction sequence since the
391 frame_state_for function in glibc 2.3.2 don't seem to detect it.
393 2003-09-14 Zoltan Varga <vargaz@freemail.hu>
395 * TODO: Fix todo item && remove another.
397 2003-09-12 Zoltan Varga <vargaz@freemail.hu>
399 * mini-x86.c (mono_arch_patch_code): Fix tail calls broken by a
402 * aot.c: Moved the check for MONO_LASTAOT into the initialization
403 function of the module.
405 * mini.h mini.c aot.c: Added a new optimization flag OPT_AOT for
406 turning on/off the usage of AOT code. Got rid of mono_no_aot and the
407 --no-aot command line option.
409 2003-09-11 Zoltan Varga <vargaz@freemail.hu>
411 * helpers.c (mono_disassemble_code): Make this work under cygwin. Patch
412 by Bernie Solomon (bernard@ugsolutions.com).
414 * inssel.brg: Refactor the interface offset table related code into
415 its separate functions and add support for the AOT case.
417 2003-09-10 Zoltan Varga <vargaz@freemail.hu>
419 * aot.c (mono_aot_get_method_inner): Fix memory leak.
421 * aot.c: Added mono_aot_verbose variable and made all debugging
422 output depend on the value of this variable.
424 * aot.c (mono_aot_get_method_inner): Avoid dynamic allocation of
425 method_label and info_label.
427 * mini.h mini-x86.c aot.c: Added a new relocation type
428 MONO_PATCH_INFO_IID for klass->interface_id.
430 * mini.h mini.c driver.c aot.c: Changed mono_aot_get_method to return
431 the MonoJitInfo structure.
433 * mini.c (mono_jit_compile_method): Avoid using non-shared AOT in
434 a non-root appdomain in shared mode.
436 Tue Sep 9 16:33:07 CEST 2003 Paolo Molaro <lupus@ximian.com>
438 * aot.c: make aot loader less verbose. Remove free of unused variable.
440 2003-09-08 Zoltan Varga <vargaz@freemail.hu>
442 * aot.c (mono_aot_get_method_inner): Fix MONO_PATCH_INFO_IMAGE.
444 * .cvsignore: Added *.dll.
446 * mini.c (mono_print_tree_nl): New function callable while debugging.
448 * mini.c (mono_print_code): Export this.
450 * tramp-x86.c (x86_magic_trampoline): Tell valgrind to recompile the
453 2003-09-05 Zoltan Varga <vargaz@freemail.hu>
455 * mini.h (MonoCompile): Added 'jit_info' field.
457 * mini.c (mini_method_compile): Save the generated MonoJitInfo into
458 the cfg structure, since it is needed by the AOT compiler.
460 * mini.h (MONO_AOT_FILE_VERSION): Bump version number.
462 * aot.c: A major rewrite. Changes include:
463 - save exception tables for methods which have them.
464 - cache failed lookups in aot_get_method () to avoid the (slow) calls
466 - reworked the file format so it is now much smaller and needs
467 fewer relocation entries.
469 2003-09-04 Zoltan Varga <vargaz@freemail.hu>
471 * aot.c (load_aot_module): Fix build bustage on platforms without
474 2003-09-04 Martin Baulig <martin@ximian.com>
476 * Makefile.am (INCLUDES): Added $(LIBGC_CFLAGS).
478 2003-09-04 Zoltan Varga <vargaz@freemail.hu>
480 * TODO: Some new optimization ideas.
482 * aot.c: Move AOT module loading logic here from mono_assembly_open.
484 * aot.c: Save the optimization flags used to compile the code into
487 * mini.h mini-x86.c mini.c aot.c: Added new types of relocations to
488 support emitting domain specific code.
490 * mini.h mini.c aot.c: Modified the JIT so the generated AOT code is
491 no longer domain neutral. It can be made domain neutral by compiling
492 with --optimize=shared.
494 * aot.c (mono_aot_get_method_inner): Allow sharing of AOT methods
497 * driver.c mini.h mini.c: New --no-aot debugging option which disables
500 * inssel-x86.brg: Added missing AOTCONST -> OUTARG_VT rule.
502 * tramp-x86.c (x86_magic_trampoline): Avoid patching the calling method
503 if there is no domain neutrality information.
505 2003-09-01 Zoltan Varga <vargaz@freemail.hu>
507 * aot.c (mono_compile_assembly): Emit a symbol containing the file
508 format version into the generated library.
510 * mini-x86.c (mono_arch_patch_code): Do not emit the address of the
511 callee method into the caller since one of them could be shared.
513 * mini.h mini-x86.c aot.c: Added two new relocations so throwing
514 system exceptions from AOT code now works.
516 * tramp-x86.c (x86_magic_trampoline): Avoid patching the calling
517 method if it is domain neutral and the callee is not.
519 * graph.c (cfg_emit_one_loop_level): Fix warning.
521 2003-08-30 Zoltan Varga <vargaz@freemail.hu>
523 * aot.c (mono_compile_assembly): Oops. Remove debugging cruft from
526 2003-08-29 Zoltan Varga <vargaz@freemail.hu>
528 * mini.c (mini_init): Call mono_marshal_init () explicitly since it
529 is needed by code which is executed before mono_runtime_init ().
530 Thanks to Bernie Solomon (bernard@ugsolutions.com) for noticing this.
532 * mini.c (mono_thread_abort): Fix warning.
533 (mono_jit_compile_method): Call static constructor in the AOT case too.
535 * aot.c (mono_compile_assembly): Fix warning.
537 2003-08-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
539 * mini.c: register a SIGINT handler if MONO_DEBUG is defined.
541 2003-08-28 Zoltan Varga <vargaz@freemail.hu>
543 * inssel.brg (OP_UNBOXCAST): Add support for the AOT case.
545 * cpu-pentium.md: Fix the length of call opcodes so they include the
546 ESP restoring instruction. Fixes #47968.
548 2003-08-28 Martin Baulig <martin@ximian.com>
550 * mini-x86.c (mono_arch_call_opcode): Added support for
551 MONO_TYPE_GENERICINST.
553 * mini.c (check_call_signature): Added support for MONO_TYPE_GENERICINST.
555 2003-08-27 Zoltan Varga <vargaz@freemail.hu>
557 * Makefile.am (BUILT_SOURCES): Fix compilation on platforms without
558 a JIT. Patch by Bernie Solomon (bernard@ugsolutions.com).
560 * mini.c jit-icalls.c tramp-x86.c tramp-ppc.c tramp-sparc.c: Get rid of
563 2003-08-26 Martin Baulig <martin@ximian.com>
565 * mini.c (get_basic_blocks): Added `unsigned char **pos' argument;
566 when reporting an error, set this to the actual error location.
567 (mono_method_to_ir): Report the correct error location if
568 get_basic_blocks() returned an error.
570 2003-08-25 Zoltan Varga <vargaz@freemail.hu>
572 * mini.c (mono_type_blittable): OBJECT is not blittable.
573 (mono_method_blittable): Methods which have marshalling descriptors
574 are not blittable either. Fixes #47842.
576 2003-08-22 Zoltan Varga <vargaz@freemail.hu>
578 * driver.c mini.c: Use an environment variable instead of a global
579 variable. Also fix the build.
581 * mini.c (mini_init): Call g_thread_init () to make glib thread-safe.
582 Fixes #47682. Thanks to Laurent Morichetti (l_m@pacbell.net) for
585 * driver.c mini.c: Added --with-valgrind option to turn off some
586 code which prevents mono from running under valgrind.
588 * mini.c (mono_emit_call_args): Fixed warning.
590 * mini.c (mono_emulate_opcode): Fixed warning.
592 Thu Aug 21 19:10:08 CEST 2003 Paolo Molaro <lupus@ximian.com>
594 * inssel.brg: 64bit fixes from Laurent Morichetti <l_m@pacbell.net>.
595 * linear-scan.c, mini-ppc.h, mini-sparc.h, mini-x86.h, mini.h,
596 regalloc.c, regalloc.h: specify available registers in arch-specific
597 code and support floats in the regallocator (patch by Laurent Morichetti
600 Wed Aug 20 19:02:22 CEST 2003 Paolo Molaro <lupus@ximian.com>
602 * mini.c: mono_thread_current() can be called only after
603 mono_runtime_init(): rearrange code to not call it early on.
605 Wed Aug 20 13:14:31 CEST 2003 Paolo Molaro <lupus@ximian.com>
607 * mini.c: allocate jump tables in the code mempools.
609 Wed Aug 20 13:04:53 CEST 2003 Paolo Molaro <lupus@ximian.com>
611 * mini.c, mini.h: make sure per-thread data allocated by the jit is
614 2003-08-10 Miguel de Icaza <miguel@ximian.com>
616 * cpu-pentium.md (ldtoken): Change the length for mul.ovf.un from
617 12 to 16. This fixes bug #47453.
620 Thu Aug 7 15:59:35 CEST 2003 Paolo Molaro <lupus@ximian.com>
622 * mini-ppc.c: fixed indexed load and unsigned compares.
624 2003-08-06 Lluis Sanchez Gual <lluis@ximian.com>
626 * mini.c: reenabled installation of handler for
629 Tue Aug 5 12:21:08 CEST 2003 Paolo Molaro <lupus@ximian.com>
631 * cprop.c, mini-x86.c, cpu-pentium.md: fix buglets spotted
632 by Laurent Morichetti <l_m@pacbell.net>. Disabled local cprop
633 until it's fixed and actually useful.
635 Mon Aug 4 12:12:26 CEST 2003 Paolo Molaro <lupus@ximian.com>
637 * inssel-long32.brg: couple more opcodes implemented.
639 Thu Jul 31 22:43:02 EDT 2003 Mark Crichton <crichton@gimp.org>
641 * mini-sparc.c: Even more opcodes implemeted.
643 Thu Jul 31 19:36:03 EDT 2003 Mark Crichton <crichton@gimp.org>
645 * mini-sparc.c: More opcodes implemented.
647 Thu Jul 31 15:16:26 EDT 2003 Mark Crichton <crichton@gimp.org>
649 * mini-sparc.c: More opcodes implemented.
651 Wed Jul 30 22:31:02 EDT 2003 Mark Crichton <crichton@gimp.org>
653 * inssel-sparc.brg: Add some needed rules. Direct
655 * Makefile.am: Use inssel-sparc.brg
656 * exceptions-sparc.c: 0xdeadbeef/0xdecafbad to keep
657 an assert happy for now.
659 Wed Jul 30 20:44:07 EDT 2003 Mark Crichton <crichton@gimp.org>
661 * mini-sparc.c: Fixed compile errors.
662 * exceptions-sparc.c: Same. We now produce a mono binary
665 Wed Jul 30 14:10:12 EDT 2003 Mark Crichton <crichton@gimp.org>
667 * mini-sparc.c: Renamed registers. Also some macro cleanups.
668 * exceptions-sparc.c, tramp-sparc.c: Various compile fixes.
669 They compile, but do not work.
671 Wed Jul 30 17:52:41 CEST 2003 Paolo Molaro <lupus@ximian.com>
673 * Makefile.am, cpu-sparc.md, exceptions-sparc.c, mini-sparc.c,
674 mini-sparc.h, tramp-sparc.c: Beginning of sparc support
675 from Mark Crichton <crichton@gimp.org> and Christopher Taylor
678 Tue Jul 29 12:43:08 CEST 2003 Paolo Molaro <lupus@ximian.com>
680 * mini.c: more opcodes implemented and better support for generics.
682 Fri Jul 25 18:51:45 CEST 2003 Paolo Molaro <lupus@ximian.com>
684 * cpu-g4.md, cpu-pentium.md: updates for new instructions.
685 * mini.c, mini.h: first cut at generics support: some new instructions
686 added and changed the behaviour of some of the existing ones.
688 2003-07-21 Miguel de Icaza <miguel@ximian.com>
690 * mini.c: Removed definition of metadata_shared mutex here.
692 Tue Jul 22 15:21:24 CEST 2003 Paolo Molaro <lupus@ximian.com>
694 * mini-x86.c: make vararg calls work for instance methods.
696 Fri Jul 18 19:26:20 CEST 2003 Paolo Molaro <lupus@ximian.com>
698 * mini.c, mini.h, mini-x86.c, mini-ppc.c: mono_arch_call_opcode()
699 returns the arguments in a separte list, now.
701 Fri Jul 18 13:16:18 CEST 2003 Paolo Molaro <lupus@ximian.com>
703 * aot.c, mini.c: updates for array type representation changes.
705 Fri Jul 18 11:28:28 CEST 2003 Paolo Molaro <lupus@ximian.com>
707 * mini.c: register function to perform jit shutdown.
709 Thu Jul 17 16:02:41 CEST 2003 Paolo Molaro <lupus@ximian.com>
711 * mini.c: use a faster allocator if possible.
713 Thu Jul 17 16:00:39 CEST 2003 Paolo Molaro <lupus@ximian.com>
715 * aot.c: some cleanups and portability changes.
717 Wed Jul 2 11:08:10 CEST 2003 Paolo Molaro <lupus@ximian.com>
719 * mini.c: use faster allocation for CEE_BOX if possible.
721 Mon Jun 30 19:16:33 CEST 2003 Paolo Molaro <lupus@ximian.com>
723 * mini.c, mini-ops.h, inssel.brg, mini-x86.c: optimized access to fields.
724 Moved inlined mempcy code to its own function so that is can be
725 reused. Added an inline memset function as well (optimized initobj).
726 * cpu-pentium.md, inssel-x86.brg: add and use lea_membase.
728 Fri Jun 27 11:19:10 CEST 2003 Paolo Molaro <lupus@ximian.com>
730 * mini.c, mini-ops.h, inssel.brg: optimized a couple of Array methods.
732 Wed Jun 25 13:19:25 CEST 2003 Paolo Molaro <lupus@ximian.com>
734 * mini.c, mini.h, mini.x86.c, mini-ppc.c: added facility so that
735 arch code can setup the cpu for CLR execution, if needed.
736 We use it on x86 to set the precision of FP operations.
738 Tue Jun 17 19:02:55 CEST 2003 Paolo Molaro <lupus@ximian.com>
740 * mini.c: disable some optimizations if we can guess they'll cost too
741 much for a given method.
743 2003-06-17 Zoltan Varga <vargaz@freemail.hu>
745 * mini.h mini.c: Rework last patch based on suggestions by Paolo.
747 2003-06-17 Zoltan Varga <vargaz@freemail.hu>
748 * mini.h mini.c mini-x86.c: Added instruction level coverage
749 info collection support.
751 Mon Jun 16 18:13:29 CEST 2003 Paolo Molaro <lupus@ximian.com>
753 * driver.c, mini-ppc.c, mini-x86.c, mini.c, mini.h: the coverage stuff
754 is now implemented in the profiling API. Get rid of a couple of
755 unnecessary global variables.
757 2003-06-15 Nick Drochak <ndrochak@gol.com>
759 * basic-long.cs: tests for negative values for bigmul, and unsigned.
760 * cpu-g4.md: add op_bigmul and op_bigmul_un
761 * cpu_pentium.md: add op_bigmul_un
762 * inssel-long32.brg: add rule for unsigned bigmul
763 * mini-ops.h: define OP_BIGMUL_UN
764 * mini-x86.c: THE BUG: handle (un)signed properly
765 * mini.c: choose unsigned opcode if needed.
766 This set of patches fixes bug #44291
768 2003-06-13 Dietmar Maurer <dietmar@ximian.com>
770 * mini.c (optimize_branches): improved to handle all kinds of
771 conditional branches.
773 Wed Jun 11 18:01:06 CEST 2003 Paolo Molaro <lupus@ximian.com>
775 * mini.c, mini.h, jit-icalls.c: speedup emulation of opcodes that
776 don't raise exceptions.
778 Tue Jun 10 19:00:31 CEST 2003 Paolo Molaro <lupus@ximian.com>
780 * tramp-x86.c, tramp-ppc.c, debug-mini.c: move arch-specific code
781 to arch-specific files.
783 2003-06-09 Martin Baulig <martin@ximian.com>
785 * Makefile.am (libs): Added $(LIBGC_LIBS).
787 Mon Jun 9 20:21:47 CEST 2003 Paolo Molaro <lupus@ximian.com>
789 * cpu-pentium.md, mini-x86.c: fix (well, actually implement) OP_TAN
790 and OP_ATAN (fixes bug#44293).
792 Mon Jun 9 19:00:56 CEST 2003 Paolo Molaro <lupus@ximian.com>
794 * Makefile.am, mini-x86.c: rename cpu description array to
795 pentium_desc, since some compilers define the 'pentium' preprocessor
798 2003-05-28 Dietmar Maurer <dietmar@ximian.com>
800 * mini.c (mini_select_instructions): add explicit branch if the
801 following block is not the false target of a conditional branch -
802 we need this with any optimization that reorder or remove bblocks
804 * mini.c (optimize_branches): bug fixes
806 2003-06-06 Dietmar Maurer <dietmar@ximian.com>
808 * mini.c (mono_method_to_ir): inline static readonly fields
810 * ssa.c (fold_tree): start cfold support for long (very simple
813 * cfold.c (mono_constant_fold_inst): opt. CEE_CONV_I8 (OP_ICONST)
815 Fri Jun 6 11:41:18 CEST 2003 Paolo Molaro <lupus@ximian.com>
817 * inssel.brg: fixed memcpy (bug #44219).
819 2003-06-05 Dick Porter <dick@ximian.com>
821 * driver.c: Set the glib log levels to not abort if g_message
824 g_set_prgname() has to happen before mini_init() so that the
825 process handle gets the info.
827 Thu Jun 5 20:11:29 CEST 2003 Paolo Molaro <lupus@ximian.com>
829 * driver.c: add intrins to the default optimizations to get wider
832 Wed Jun 4 19:47:57 CEST 2003 Paolo Molaro <lupus@ximian.com>
834 * mini.h: some large basic blocks will overflow a 16-bit
835 integers for symbolic registers.
837 2003-06-04 Dietmar Maurer <dietmar@ximian.com>
839 * mini-x86.c (mono_arch_output_basic_block): revert previous fprem changes.
840 (mono_arch_output_basic_block): fix bug 43499
842 Wed Jun 4 13:13:52 CEST 2003 Paolo Molaro <lupus@ximian.com>
844 * mini.c: kill duplicated definition of mono_debug_format.
846 Wed Jun 4 13:09:51 CEST 2003 Paolo Molaro <lupus@ximian.com>
848 * mini-x86.c, arrays.cs: fixed register allocation bug.
850 2003-06-04 Dietmar Maurer <dietmar@ximian.com>
852 * mini-x86.c (mono_arch_output_basic_block): use IEEE compatible fprem1
854 * mini.c (mini_get_opcode_for_method): inline IEEERemainder
856 2003-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
859 (print_method_from_ip): also print source location information if
862 2003-06-02 Dietmar Maurer <dietmar@ximian.com>
864 * mini.c (mono_find_block_region): bug fix in region code
865 (mini_method_compile): enable removing unreachable code again, but
866 only in methods without exception clauses.
868 Fri May 30 18:40:24 CEST 2003 Paolo Molaro <lupus@ximian.com>
870 * mini.c, mini-ops.h, cpu-pentium.md, inssel.brg, mini-x86.c, mini.h:
871 Implemented arglist opcode and handling of TypedReference type.
872 Fixed x86 call convention when a structure is returned.
873 Minimal support for calling static vararg methods.
875 2003-05-30 Dietmar Maurer <dietmar@ximian.com>
877 * mini.c (mini_method_compile): always remove unreachable code,
878 because the code in them may be inconsistent (access to dead
879 variables for example).
881 Thu May 29 11:44:49 CEST 2003 Paolo Molaro <lupus@ximian.com>
883 * driver.c, debug-mini.c: warning fixes.
885 Wed May 28 11:19:15 CEST 2003 Paolo Molaro <lupus@ximian.com>
887 * Makefile.am, jit.h, mini.h: install header for embedding mono.
889 Tue May 27 17:56:12 CEST 2003 Paolo Molaro <lupus@ximian.com>
891 * mini.c: thread-static fields are registered in mono_class_vtable(),
892 so ensure the function is called before checking for them.
894 2003-05-27 Dietmar Maurer <dietmar@ximian.com>
896 * mini.c (optimize_branches): fix for bug 43586
898 * jit-icalls.c (mono_llmult_ovf): added an additional check for
899 overflow (fixes Bug #43639)
901 Tue May 27 11:33:53 CEST 2003 Paolo Molaro <lupus@ximian.com>
903 * mini.c, objects.cs: allow the use of stobj for primitive types.
905 Tue May 27 10:33:53 CEST 2003 Paolo Molaro <lupus@ximian.com>
907 * mini.c: be less strict about argument checking until we support
908 running the verifier.
910 2003-05-27 Nick Drochak <ndrochak@gol.com>
912 * basic-long.cs: tests for (ulong)int * (ulong)int also
913 * mini.c: use the same trick for (ulong)int * (ulong)int
915 2003-05-27 Nick Drochak <ndrochak@gol.com>
917 * basic-long.cs: add regression test for (long)int * (long)int
918 * cpu-pentium.md: add op_bigmul specification
919 * inssel-long32.brg: add OP_BIGMUL rule
920 * mini-ops.h: add OP_BIGMUL
921 * mini-x86.c: register allocator: handle case where src1 needs to be
923 * mini.c: substitute special BIGMUL opcode in the tree for
924 (long)int * (long)int
926 Mon May 26 20:20:13 CEST 2003 Paolo Molaro <lupus@ximian.com>
928 * jit-icalls.c: call the type ctor on field access if needed.
930 Mon May 26 15:21:21 CEST 2003 Paolo Molaro <lupus@ximian.com>
932 * mini-ops.h, mini.c, inssel.brg, exceptions.cs: validate arguments passed
933 to a method (including results of ldelema, bug#43207).
935 2003-05-26 Dietmar Maurer <dietmar@ximian.com>
937 * graph.c (cfg_emit_one_loop_level): loop over all blocks. use
938 colors to show exception handler blocks.
940 * inssel-x86.brg (OP_OUTARG_VT): dont push zero sized structures
941 (fix for pinvoke7.cs).
943 Mon May 26 12:11:53 CEST 2003 Paolo Molaro <lupus@ximian.com>
945 * mini.h, mini.c: ensure correct initialization order for types that
946 require it. Prepare for lazy compilation of jit icall wrappers.
947 Provide a name for opcode emulation to reduce unneeded mallocing.
949 Fri May 23 16:08:54 CEST 2003 Paolo Molaro <lupus@ximian.com>
951 * mini-x86.c: better register restoring code and profiling
952 support for tail calls.
954 Fri May 23 15:30:53 CEST 2003 Paolo Molaro <lupus@ximian.com>
956 * mini.h, driver.c: prepare for leaf methods optimization.
958 Fri May 23 15:28:32 CEST 2003 Paolo Molaro <lupus@ximian.com>
960 * mini.c: get targets of branches before converting a method.
962 2003-05-23 Dietmar Maurer <dietmar@ximian.com>
964 * mini.c (optimize_branches): added some experimental code (disbaled)
966 2003-05-22 Dietmar Maurer <dietmar@ximian.com>
968 * mini.c (optimize_branches): fix branch to branch optimization
970 * exceptions-x86.c (mono_arch_handle_exception): bug fix.
972 * mini-x86.c (mono_arch_output_basic_block): cleanup up exception code
974 * inssel-x86.brg: added OP_START_HANDLER, CEE_ENDFINALLY, OP_ENDFILTER
976 * mini-x86.c (mono_arch_allocate_vars): only reserve space for lmf
979 2003-05-21 Dietmar Maurer <dietmar@ximian.com>
981 * mini.c (mono_method_to_ir): call handle_loaded_temps before inlining.
982 enable use of interface variables again.
984 * mini-x86.c (mono_arch_get_allocatable_int_vars): dont allocate
985 I1 to registers because there is no simply way to sign extend 8bit
986 quantities in caller saved registers on x86.
988 * inssel-float.brg: set costs of some rules to 2 so
989 that monobure always select the arch. specific ones if supplied,
990 regardless of the order we pass the files to monoburg.
992 Tue May 20 17:19:14 CEST 2003 Paolo Molaro <lupus@ximian.com>
994 * mini.c, mini-x86.c: since the magic trampoline for jumps
995 can't patch the code directly, we do it as soon as the
996 method gets compiled.
998 Tue May 20 16:02:52 CEST 2003 Paolo Molaro <lupus@ximian.com>
1000 * mini-x86.c, mini.h: introduce a new patching method
1001 to support CEE_JMP and tail calls.
1002 * mini.c: obey tail.call. Don't precompile methods target
1004 * tramp-x86.c: new trampoline code to handle methods
1005 reached through a jump.
1007 2003-05-20 Dietmar Maurer <dietmar@ximian.com>
1009 * mini-x86.c (mono_arch_get_allocatable_int_vars): allocate 8/16
1010 bit values to registers
1012 2003-05-19 Dietmar Maurer <dietmar@ximian.com>
1014 * mini.c (mono_compile_get_interface_var): share interface
1015 variables if possible.
1017 2003-05-16 Martin Baulig <martin@ximian.com>
1019 * debug-mini.c (mono_init_debugger): New function to initialize
1020 the debugger. This is not in the debugger since it needs to
1021 access some of mini's internals.
1023 2003-05-16 Dietmar Maurer <dietmar@ximian.com>
1025 * mini.c (mono_method_to_ir): inlining fixes/cleanups
1027 Fri May 16 13:27:23 CEST 2003 Paolo Molaro <lupus@ximian.com>
1029 * mini.c, mini-opts.h, inssel.brg: inline small memcpy
1030 for value type handling.
1032 2003-05-16 Dietmar Maurer <dietmar@ximian.com>
1034 * mini.c (mono_method_to_ir): inline LDFLD/STFLD wrappers
1035 (mono_method_check_inlining): enable inlining of all kinds of wrappers
1037 2003-05-15 Lluis Sanchez Gual <lluis@ideary.com>
1039 * mini.c: fixed little bug in CEE_NEWOBJ case when calling
1040 the constructor through a proxy.
1042 Thu May 15 17:17:27 CEST 2003 Paolo Molaro <lupus@ximian.com>
1044 * jit-icalls.c, inssel.brg: fixes to array element address
1047 2003-05-15 Dietmar Maurer <dietmar@ximian.com>
1049 * mini-x86.c (is_regsize_var): allocate pointer to registers
1051 Thu May 15 13:04:02 CEST 2003 Paolo Molaro <lupus@ximian.com>
1053 * driver.c: fixed typo, added intrins to the set of optimizations
1054 tested with regressions.
1056 Thu May 15 11:57:42 CEST 2003 Paolo Molaro <lupus@ximian.com>
1058 * mini-ops.h, mini.c, inssel.brg: optimize access to 2D arrays.
1059 * jit-icalls.c, exceptions.cs: fixed index out of range checks, added
1062 2003-05-14 Dietmar Maurer <dietmar@ximian.com>
1064 * inssel.brg: remove some common pop instructions without side effects
1066 Wed May 14 12:40:31 CEST 2003 Paolo Molaro <lupus@ximian.com>
1068 * inssel-x86.brg: fixed thinko in int to double conversions.
1070 Wed May 14 12:01:58 CEST 2003 Paolo Molaro <lupus@ximian.com>
1072 * mini.c, jit-icalls.c: added runtime thread-static variable support.
1074 Tue May 13 22:02:06 CEST 2003 Paolo Molaro <lupus@ximian.com>
1076 * inssel-long32.brg: two more missing instructions.
1078 2003-05-13 Dietmar Maurer <dietmar@ximian.com>
1080 * mini.c (mono_emit_call_args): set the cil_code for all arguments
1083 2003-05-12 Zoltan Varga <vargaz@freemail.hu>
1085 * mini-x86.c (mono_arch_output_basic_block): Handle negative zero
1088 * basic-float.cs: Added tests for negative zero.
1090 Sun May 11 14:56:27 CEST 2003 Paolo Molaro <lupus@ximian.com>
1092 * inssel-long32.brg, basic-long.cs, exceptions.cs: handle
1093 a couple of missing operations for long casts, with test cases.
1095 2003-05-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1097 * exceptions-x86.c: fixed small leaks in mono_arch_handle_exception.
1099 2003-05-09 Dietmar Maurer <dietmar@ximian.com>
1101 * mini-x86.c (mono_arch_emit_prolog): avoid reallocs with better
1102 code size estimation.
1104 2003-05-08 Dietmar Maurer <dietmar@ximian.com>
1106 * mini.c (mono_jit_create_remoting_trampoline): make it work with
1107 abstract methods (fix bug 42542)
1109 * aot.c: add ability to handle array types
1111 2003-05-08 Zoltan Varga <vargaz@freemail.hu>
1113 * mini.c: Call the _specific versions of the object allocation
1114 functions if possible.
1116 Tue May 6 17:18:33 CEST 2003 Paolo Molaro <lupus@ximian.com>
1118 * driver.c: call setlocale ().
1120 Tue May 6 14:38:22 CEST 2003 Paolo Molaro <lupus@ximian.com>
1122 * mini.h, mini.c, aot.c, debug-mini.c, exceptions.c: build fixes for
1125 2003-05-05 Dietmar Maurer <dietmar@ximian.com>
1127 * mini.c (optimize_branches): dont touch code inside exception clauses (fix bug 38136)
1129 * exceptions-x86.c (ves_icall_get_frame_info): also skip remoting
1130 wrappers (fix bug 42122)
1132 2003-05-04 Martin Baulig <martin@ximian.com>
1134 * mini.h (mono_jit_init, mono_jit_cleanup): Added prototypes.
1136 * driver.c: s/MONO_OPT_SAHRED/MONO_OPT_SHARED/g.
1137 s/mini_set_defaults/mono_set_defaults/g.
1139 2003-05-04 Martin Baulig <martin@ximian.com>
1141 * driver.c: s/mini_parse_default_optimizations/mono_parse_default_optimizations/g.
1143 Sun May 4 11:48:08 CEST 2003 Paolo Molaro <lupus@ximian.com>
1145 * inssel-long32.brg: add missing lreg: OP_LCONV_TO_U8 (lreg) rule
1146 (reported by Don Roberts).
1148 Fri May 2 18:36:45 CEST 2003 Paolo Molaro <lupus@ximian.com>
1150 * mini.c: temporarily work around two bugs for this release.
1152 Fri May 2 17:37:29 CEST 2003 Paolo Molaro <lupus@ximian.com>
1154 * Makefile.am: avoid linking libmono with GMODULE_LIBS, because
1155 that contains -export-dynamic and it makes using the ld script
1157 * mini.h, main.c, driver.c: s/mini_main/mono_main/g.
1159 Fri May 2 12:52:32 CEST 2003 Paolo Molaro <lupus@ximian.com>
1161 * mini.h, mini-x86.c, driver.c: disable optimizations not available on a
1164 Thu May 1 15:28:21 CEST 2003 Paolo Molaro <lupus@ximian.com>
1166 * mini.c: make sure leave calls all the needed finally blocks,
1167 even when the target jumps out of multiple exception clauses.
1169 Thu May 1 15:18:26 CEST 2003 Paolo Molaro <lupus@ximian.com>
1171 * ldscript, Makefile.am: add linker script to reduce the number of
1172 exported symbols (should also fix the issues with libwine defining
1173 some of the same symbols in io-layer).
1175 2003-05-01 Zoltan Varga <vargaz@freemail.hu>
1177 * driver.c (mini_main): Avoid assertion when no file name is given on
1180 Wed Apr 30 15:33:11 CEST 2003 Paolo Molaro <lupus@ximian.com>
1182 * driver.c: added --version/-V command line option.
1183 Added the inline optimization in the regression tests.
1185 Wed Apr 30 15:16:02 CEST 2003 Paolo Molaro <lupus@ximian.com>
1187 * mini.c, basic-calls.cs: when inlining, save arguments to locals according
1188 to the type in the method signature (fixes bug#42134).
1190 Wed Apr 30 12:38:44 CEST 2003 Paolo Molaro <lupus@ximian.com>
1192 * mini.c: when inlining, check this is not null only when needed (bug #42135).
1194 Wed Apr 30 11:44:36 CEST 2003 Paolo Molaro <lupus@ximian.com>
1196 * mini-ppc.h, tramp-pcc.c: type fixes from Max Horn <max@quendi.de>.
1198 2003-04-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1200 * driver.c: fixed bug #42100.
1202 2003-04-29 Dietmar Maurer <dietmar@ximian.com>
1204 * mini.c (mono_method_to_ir): UNBOX need to CAST objects first
1206 Mon Apr 28 17:03:14 CEST 2003 Paolo Molaro <lupus@ximian.com>
1208 * mini.c: moved most of the code required to do inlining to its own
1209 function so it can be reused. Inline also ctors if appropriate.
1211 2003-04-28 Zoltan Varga <vargaz@freemail.hu>
1213 * Makefile.am: Link with -export-dynamic so shared libs loaded by
1214 the runtime can call mono API functions.
1216 2003-04-27 Martin Baulig <martin@ximian.com>
1218 * debug-mini.c (mono_debug_init_method): Added
1219 `guint32 breakpoint_id' argument; if the method has a breakpoint,
1220 send a notification to the debugger.
1222 * mini.c (mono_method_to_ir): Don't insert a breakpoint if we're
1223 running in the Mono Debugger, just pass the breakpoint number to
1224 mono_debug_init_method().
1226 * tramp-x86.c, tramp-ppc.c: Removed the breakpoint trampolines.
1228 Sun Apr 27 13:18:04 CEST 2003 Paolo Molaro <lupus@ximian.com>
1230 * mini.c: allow some more unsafe compares.
1232 Sat Apr 26 11:55:41 CEST 2003 Paolo Molaro <lupus@ximian.com>
1234 * mini-x86.c, Makefile.am: make distcheck works (partially from
1235 a patch by Richard Lee <r.h.lee@attbi.com>).
1236 * regset.c, regset.h: removed, they are unused.
1238 2003-04-25 Dick Porter <dick@ximian.com>
1240 * driver.c: Usage reports the name as 'mono' not 'mini'
1241 * exceptions-x86.c: Build and run on freebsd
1243 Thu Apr 24 17:09:03 CEST 2003 Paolo Molaro <lupus@ximian.com>
1245 * Makefile.am: install the program with the 'mono' name and
1246 the library as libmono instead of mini and libmini.
1248 Thu Apr 24 17:08:07 CEST 2003 Paolo Molaro <lupus@ximian.com>
1250 * driver.c: provide the APIs for the embedding interface of the old jit.
1252 2003-04-23 Dietmar Maurer <dietmar@ximian.com>
1254 * jit-icalls.c (helper_stelem_ref): impl. (fix bug 41775)
1256 2003-04-23 Martin Baulig <martin@ximian.com>
1258 * tramp-x86.c, tramp-ppc.c: Reenable the debugger breakpoint interface.
1260 * driver.c: Added `--debug' command line argument to enable
1263 2003-04-23 Martin Baulig <martin@ximian.com>
1265 * debug.[ch]: Removed. The code is now in
1266 ../metadata/mono-debug.[ch] and mono-debug-debugger.[ch].
1268 * debug-stabs.c, debug-dwarf2.c: Removed; nobody used this for the
1271 2003-04-22 Dietmar Maurer <dietmar@ximian.com>
1273 * mini.c (mono_method_to_ir): set the cil_code address (fix bug 41525)
1275 2003-04-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1278 (mini_cleanup): moved mono_runtime_cleanup call after the call to
1279 mono_domain_finalize.
1280 (mini_method_compile): use mono_method_profile* if the the option is
1283 2003-04-17 Zoltan Varga <vargaz@freemail.hu>
1285 * tramp-x86.c (mono_arch_create_jit_trampoline): Subsitute synchronized
1286 methods with their wrapper.
1288 * tramp-ppc.c (mono_arch_create_jit_trampoline): Subsitute synchronized
1289 methods with their wrapper.
1291 * jit-icalls.c (mono_ldvirtfn): Subsitute synchronized methods with
1294 * mini.c (mono_method_to_ir): Subsitute synchronized methods with their
1297 * mini.c (mono_method_check_inlining): Avoid inlining synchronized
1300 2003-04-17 Dietmar Maurer <dietmar@ximian.com>
1302 * exceptions-x86.c (mono_arch_handle_exception): fix for bug 36252
1304 2003-04-16 Dietmar Maurer <dietmar@ximian.com>
1306 * mini.c (mono_compile_create_var): use g_malloc/g_realloc instead
1307 of the mempool. This is slightly faster and uses less memory
1309 Wed Apr 16 12:53:10 CEST 2003 Paolo Molaro <lupus@ximian.com>
1311 * mini.c: avoid O(n) allocation for variables.
1313 Tue Apr 15 19:13:41 CEST 2003 Paolo Molaro <lupus@ximian.com>
1315 * mini.c: handle items on the stack after inlining methods.
1317 Tue Apr 15 14:17:57 CEST 2003 Paolo Molaro <lupus@ximian.com>
1319 * mini.c: make the method->opcode optimization dependent
1320 on MONO_OPT_INSTRINS and do it lazily.
1322 Tue Apr 15 14:15:39 CEST 2003 Paolo Molaro <lupus@ximian.com>
1324 * driver.c: print overall results at the end of regression run.
1326 Tue Apr 15 11:18:46 CEST 2003 Paolo Molaro <lupus@ximian.com>
1328 * inssel.brg: don't overwrite symbolic registers.
1330 Mon Apr 14 17:41:34 CEST 2003 Paolo Molaro <lupus@ximian.com>
1332 * inssel-x86.brg: fix conversion from long to float.
1334 2003-04-11 Dietmar Maurer <dietmar@ximian.com>
1336 * mini.c (mini_init): use an opcode for get_Chars (OP_GETCHR)
1338 2003-04-10 Zoltan Varga <vargaz@freemail.hu>
1340 * mini.c (mono_type_blittable): MONO_TYPE_OBJECT is blittable.
1342 * driver.c: Added --print-vtable option as in the old JIT.
1344 Thu Apr 10 17:43:49 CEST 2003 Paolo Molaro <lupus@ximian.com>
1346 * inssel-long32.brg, exceptions.cs: fix conversions from long, too.
1348 Thu Apr 10 16:27:43 CEST 2003 Paolo Molaro <lupus@ximian.com>
1350 * inssel.brg, basic.cs: fixed checked conversions to byte and short.
1352 2003-04-09 Zoltan Varga <vargaz@freemail.hu>
1354 * mini.c regalloc.c regalloc.h: Fix memory leak.
1356 2003-04-09 Dietmar Maurer <dietmar@ximian.com>
1358 * aot.c (mono_aot_get_method): register all used strings
1360 Wed Apr 9 15:22:18 CEST 2003 Paolo Molaro <lupus@ximian.com>
1362 * mini.c: always intern strings references with ldstr at compile time.
1364 Tue Apr 8 11:41:26 CEST 2003 Paolo Molaro <lupus@ximian.com>
1366 * Makefile.am: add BUILT_SOURCES.
1368 Mon Apr 7 16:31:34 CEST 2003 Paolo Molaro <lupus@ximian.com>
1370 * driver.c: give a better error message when the assembly to execute
1371 doesn't have an entry point.
1373 2003-04-07 Dietmar Maurer <dietmar@ximian.com>
1375 * Makefile.am: added hack for automake
1377 * mono/mini/mini.c (mono_save_args): always copy arguments to keep
1380 * mono/mini/ssa.c (mono_ssa_avoid_copies): don't optimize calls
1382 22003-04-07 Martin Baulig <martin@ximian.com>
1384 * Makefile.am: Added Makefile.am.
1386 * debugger-main.c: Removed, this is now in the debugger where it
1389 * mini.pc.in: Call this package `mini' for the moment.