2003-07-13 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mono / interpreter / ChangeLog
index 1cf1ce5d0b50063c3c87bc0df6b100d12ed678f2..b2952bc998efb8442c0794ead495966c0e8ae31e 100644 (file)
@@ -1,3 +1,407 @@
+2003-07-13  Zoltan Varga  <vargaz@freemail.hu>
+
+       * interp.c: Keep alloca()-d data on a free list to prevent stack
+       overflow errors when valuetypes are allocated in a loop. Fixes
+       #27420. Is the new code still faster than using malloc/free ?
+
+       * interp.c (ves_array_get): Add index checking to ves_array_get/set.
+       Fixes decimal-array.exe.
+
+       * interp.c (interp_mono_runtime_invoke): Unbox value type instances
+       before calling the method. Fixes appdomain2.exe.
+
+       * interp.c: Fix warnings.
+       
+       * interp.c: Report unhandled exceptions correctly.
+
+       * interp.c: Implement CEE_ISINST and CEE_CASTCLASS using 
+       mono_object_isinst. Fixes bug #45539 and reflection-enum.exe.
+
+Tue May 27 16:36:41 CEST 2003 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: don't use relative numbering stuff.
+
+Tue May 27 12:18:44 CEST 2003 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: update for mono_class_vtable() changes.
+
+Tue May 13 16:43:18 CEST 2003 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: handle thread static fields.
+
+Sun Apr 27 13:27:59 CEST 2003 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: check for arraytypemismatch.
+
+2003-04-23  Martin Baulig  <martin@ximian.com>
+
+       * interp.c: When running with --dieonex, use the debugging code to
+       print source lines in the backtrace.
+
+2003-02-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * interp.c: added a dummy mono_runtime_install_handlers function to
+       avoid crashing when ves_pinvoke_method tries to call it.
+
+2003-02-06  Piers Haken        <piersh@friskit.com>
+
+       * interp.c: warning cleanups
+
+2002-11-15  Dick Porter  <dick@ximian.com>
+
+       * interp.c: mono_runtime_init() now has an extra parameter for
+       thread attaching.
+
+2002-10-31  Dick Porter  <dick@ximian.com>
+
+       * Makefile.am: The previous automake-1.6 fix broke automake-1.4 on
+       cygwin.  Try again.
+
+2002-09-27  Dick Porter  <dick@ximian.com>
+
+       * interp.c: Tell glib what the program name is, by passing it the
+       name of the managed file we're executing
+
+2002-08-28  Dick Porter  <dick@ximian.com>
+
+       * interp.c: mono_set_rootdir() doesnt take any args now
+
+       * Makefile.am: Export HOST_CC and turn on optimisation for w32 builds
+
+2002-08-28  Nick Drochak  <ndrochak@gol.com>
+
+       * interp.c: check and throw exception if needed for overflow on 
+       multiplication of integer types.
+
+2002-08-07  Dietmar Maurer  <dietmar@ximian.com>
+
+       * interp.c (interp_walk_stack): removed the createdelegate icall
+
+2002-08-02  Dietmar Maurer  <dietmar@ximian.com>
+
+       * interp.c (get_virtual_method): support proxies
+       (ves_exec_method): impl. LDFLD/STFLD for proxies.
+
+Fri Aug 2 13:00:41 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c, interp.h: implemented exception trap for runtime_invoke
+       and handle exceptions across managed/unmanaged boundaries.
+
+2002-08-01  Dietmar Maurer  <dietmar@ximian.com>
+
+       * interp.c (stackval_from_data): add pinvoke argument
+       (stackval_to_data): add pinvoke argument. We need consider the
+       fact that unmanages structures may have different sizes.
+       (ves_pinvoke_method): do not call stackval_from_data if the result
+       is a value type.
+
+Wed Jul 31 17:47:11 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: simplified some more branch code.
+
+Wed Jul 31 16:50:42 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: fixed indentation, simplified some code.
+
+Wed Jul 31 14:29:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: fix so that mint can at least get to executing Main().
+
+2002-07-31  Dietmar Maurer  <dietmar@ximian.com>
+
+       * interp.c: use the new marshaling code. better delegate/remoting 
+       support.
+       (ves_exec_method): bug fix - directly jump to handle_exception.
+
+2002-07-29  Dietmar Maurer  <dietmar@ximian.com>
+
+       * interp.c (main): install compile_method handler
+
+Wed Jul 24 13:02:12 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: implemented stack walking function.
+
+Fri Jul 19 14:21:18 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: fix float boxing on LE systems.
+
+Sat Jul 13 19:54:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: advance ip in conv.r.un.
+
+2002-07-01  Dick Porter  <dick@ximian.com>
+
+       * interp.c (ves_exec): Removed unneeded argument to
+       mono_runtime_run_main()
+
+2002-06-25  Dick Porter  <dick@ximian.com>
+
+       * interp.c (ves_exec): Pass the assembly to mono_runtime_run_main
+
+Wed Jun 19 17:01:37 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: un-broke after stack trace changes.
+
+Fri May 31 16:17:20 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c, hacks.h: compiler compatibility fixes.
+
+Fri May 31 13:25:57 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c, mint.1: added --config command line option.
+
+Thu May 30 14:14:16 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: lookup P/Invoke method addr only when needed.
+
+2002-05-29  Dietmar Maurer  <dietmar@ximian.com>
+
+       * interp.c (ves_exec_method): free type in CEE_SIZEOF
+
+Tue May 28 16:10:49 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: fixed SIZEOF to work with typedef/typeref.
+
+Fri May 24 15:33:50 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: added partial async delegate and remoting support.
+
+Thu May 23 18:45:38 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: special case string ctors in invoke.
+       Handle null object in throw. Misc integer type mismatch fixes.
+
+2002-05-23  Dietmar Maurer  <dietmar@ximian.com>
+
+       * interp.c (ves_runtime_method): share more code with the jit.
+
+Wed May 22 12:31:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: fixed finally handling. In trace mode show
+       exception handling operations and the contents of the stack in the same
+       line as the executing instruction.
+
+2002-05-20  Miguel de Icaza  <miguel@ximian.com>
+
+       * interp.c: Updated help display.
+
+2002-05-20  Radek Doulik  <rodo@ximian.com>
+
+       * interp.c (dump_stack): print boxed values for --noptr
+       (ves_exec_method): use stackval_to_data as pointed out by lupus
+
+2002-05-17  Radek Doulik  <rodo@ximian.com>
+
+       * interp.c (dump_stack): if --noptr then print content of strings
+       in form [str:<printed string>]
+
+2002-05-16  Radek Doulik  <rodo@ximian.com>
+
+       * interp.c (ves_exec_method): use data.i instead of data.l in i32
+       case
+       (ves_exec_method): set type in I64 <--> I32 conversions
+
+2002-05-15  Radek Doulik  <rodo@ximian.com>
+
+       * interp.c (ves_runtime_method): moved stackval_from_data call
+       inside #else branch, consulted on irc with lupus
+
+2002-05-15  Dietmar Maurer  <dietmar@ximian.com>
+
+       * interp.c (ves_exec_method): use new mono_unhandled_exception()
+
+2002-05-14  Radek Doulik  <rodo@ximian.com>
+
+       * interp.c: introduced new --noptr option to suppres pointer
+       address printing. I find this useful for comparing trace outputs
+       while porting to ppc
+
+Tue May 14 16:37:55 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: some finally handling fixes and compilation fixes for
+       changes in the runtime lib.
+
+2002-04-30  Dick Porter  <dick@ximian.com>
+
+       * interp.c: Tell glib to not abort when g_log() etc print
+       recursively
+
+Mon Apr 22 16:52:03 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: handle muslticast delegates. Implement a couple more
+       convert opcodes. Pretend we spend some time jitting...
+
+2002-04-20  Dietmar Maurer  <dietmar@ximian.com>
+
+       * interp.c (ves_exec_method): support internalcall String constructors
+
+2002-04-19  Dan Lewis  <dihlewis@yahoo.co.uk>
+       
+       * interp.c: support for new szarray format.
+
+Tue Apr 16 20:12:58 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: removed profiling code (moved to common library).
+       Implemented inlining for some special methods.
+
+2002-04-15     Patrik Torstensson <patrik.torstensson@labs2.com>
+
+       * interp.c: Using fullnames when adding icall's (array)
+
+Wed Apr 10 16:07:23 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: quick implementation for opcodes needed by the new parse
+       routines in corlib.
+
+Tue Apr 9 13:08:26 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: make the interp thread-safe wrt the metadata lib.
+
+Mon Apr 8 17:15:48 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: display return value with --trace.
+       Call mono_runtime_init ().
+
+2002-04-06  Dietmar Maurer  <dietmar@ximian.com>
+
+       * interp.c (interp_mono_runtime_invoke): handle more types,
+       removed runtime_exec_main
+
+Thu Apr 4 11:36:52 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: don't try to get an IL opcode for runtime and internal
+       call methods.
+
+Thu Mar 28 16:54:51 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: spring warning cleanup.
+
+Thu Mar 28 12:03:28 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: check obj address in stfld.
+
+2002-03-27  Dietmar Maurer  <dietmar@ximian.com>
+
+       * interp.c (ves_exec_method): CASTCLASS: fix for transparent proxy
+
+Tue Mar 26 20:09:10 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: set frame->ip before dumping the stack trace.
+
+Tue Mar 26 19:54:45 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: remove glib mem vtable code.
+
+2002-03-26  Dick Porter  <dick@ximian.com>
+
+       * interp.c: Show thread ID's in trace output.
+               
+       New option "--traceclassinit" to put debug output around
+       runtime_class_init().
+
+       Make sure all options are displayed in usage().
+
+Tue Mar 26 17:03:14 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: support fieldrefs when accessing instance fields.
+
+Mon Mar 25 12:59:52 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: allow tracing to be done on a per-method basis.
+       Fix interp_mono_runtime_invoke() to deal correcttly with the return
+       value. Disable glib mem vtable setting.
+
+Thu Mar 21 18:08:37 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: set stack trace info when throwing an exception.
+
+Thu Mar 21 17:32:46 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: intern strings before executing a method (and don't 
+       intern command line arguments anymore). Add sanity checks in alloca
+       use.
+
+Sat Mar 16 19:15:18 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: restore frame on return from unmanaged calls.
+       Add support for continuing execution up to x IL insn.
+       Fix exception handling when an exception is raised in the catch
+       handler of the same method that issued the first one.
+
+2002-03-11  Dietmar Maurer  <dietmar@ximian.com>
+
+       * interp.c (ves_runtime_method): set method_info field
+
+Mon Mar 11 14:48:07 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: corlib consistency checls moved to libmetadata.
+
+Mon Mar 11 11:27:27 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: use the new facilities in debug-helpers to
+       disassemble CIL code and match method names to MonoMethods.
+
+Thu Mar 7 17:20:59 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: Boehm-GC enable. Fix some overflow opcodes.
+
+Tue Mar 5 18:12:40 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: fix non-debug build and some more opcode work.
+
+Mon Mar 4 11:21:44 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: print the address of 'this' in tracing mode.
+
+Thu Feb 28 19:18:59 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: add checks for more binary consistency.
+
+2002-02-27  Dietmar Maurer  <dietmar@ximian.com>
+
+       * interp.c (interp_mono_runtime_invoke): use alloca instead of g_new0
+
+Tue Feb 26 11:43:34 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: added profiling for object creation.
+
+Mon Feb 25 17:37:07 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: use correct value for guint64 max.
+
+2002-02-22  Radek Doulik  <rodo@ximian.com>
+
+       * interp.c: s/gulong/guint64 as it differs on ppc
+
+Wed Feb 20 22:18:40 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: more complete runtime_invoke () implementation.
+       Fixed castclass/isinst to work correctly with arrays.
+
+Tue Feb 19 20:21:14 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: implement the runtime_invoke function.
+
+Mon Feb 18 15:49:20 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: fix alignment code. Make sure to init classes
+       in more cases. Command-line arguments are interned.
+
+2002-02-16  Radek Doulik  <rodo@ximian.com>
+
+       * interp.c (ves_exec_method): test type of sp [-1] instead of sp
+       [0], because sp [-1] is the value going to be shifted, fixed in
+       CEE_SHL, CEE_SHR, CEE_UN opcodes)
+
+Sat Feb 16 12:00:24 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: fixed cut&paste error for ldind.r4 and ldind.r8.
+
+Fri Feb 15 15:07:27 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * interp.c: use strrchr instead of rindex. use _isnan and _finite on
+       win32 systems.
+
 2002-02-14  Jeffrey Stedfast  <fejj@ximian.com>
 
        * interp.c (ves_exec_method): replace