1 2007-06-04 Mark Probst <mark.probst@gmail.com>
3 * interp.c, interp.h (RuntimeMethod): Due to the jit_code_hash
4 change in MonoDomain this had to be changed slightly, too.
6 2006-05-09 Miguel de Icaza <miguel@novell.com>
8 * interp.c (ves_exec_method_with_context): Pass a temporary to the
9 mono_load_remote_field routine, instead of passing a NULL.
11 Thu Aug 4 20:09:40 BST 2005 Paolo Molaro <lupus@ximian.com>
13 * interp.c: a real zombie is supposed to at least walk.
16 2005-03-07 Zoltan Varga <vargaz@freemail.hu>
18 * transform.c (generate): Add CEE_MONO_NOT_TAKEN.
20 2005-01-31 Bernie Solomon <bernard@ugsolutions.com>
24 2005-01-29 Ben Maurer <bmaurer@ximian.com>
26 * *: MonoMethod->signature might be NULL now. You *MUST* use
27 mono_method_signature.
29 2005-01-20 Bernie Solomon <bernard@ugsolutions.com>
31 * interp.c: mono_init_icall got renamed
33 2005-01-03 Zoltan Varga <vargaz@freemail.hu>
35 * transform.c (generate): Handle MONO_CLASSCONST.
37 2004-12-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
39 * interp.c: fix the build. Dunno if it's correct.
41 2004-12-02 Bernie Solomon <bernard@ugsolutions.com>
45 * interp.c: cope with new thread interruption icall
47 2004-11-12 Ben Maurer <bmaurer@ximian.com>
49 * transform.c: Fix bug with delegates in interp.
51 2004-11-10 Lluis Sanchez Gual <lluis@novell.com>
53 * interp.c: Added MonoRemotingTarget parameter to signature
54 interp_create_remoting_trampoline.
56 Tue Nov 9 17:28:48 CET 2004 Paolo Molaro <lupus@ximian.com>
58 * interp.c: update to exception clause structure changes.
60 2004-11-08 Ben Maurer <bmaurer@ximian.com>
62 * interp.c: warning free
64 2004-10-29 Zoltan Varga <vargaz@freemail.hu>
66 * Makefile.am (libgc_libs): Do some automake magic so libmono/mono
69 Wed Sep 22 19:06:02 CEST 2004 Paolo Molaro <lupus@ximian.com>
71 * interp.c: updates for stack walk interface.
73 2004-09-09 Lluis Sanchez Gual <lluis@novell.com>
75 * interp.c: In interp_walk_stack, don't crash if the context is not set
76 (this may happen if the method is called by unmanaged code).
78 2004-08-17 Ben Maurer <bmaurer@users.sourceforge.net>
80 * interp.c: thread local alloc
82 2004-08-05 Bernie Solomon <bernard@ugsolutions.com>
84 * interp.c: (mono_interp_init) use g_thread_supported
85 to stop multiple g_thread_init calls.
86 Also attach domain to thread like mono_jit_init
88 2004-07-31 Bernie Solomon <bernard@ugsolutions.com>
90 * interp.h: add mono_interp_ftnptr_to_delegate
92 * transform.c (generate): use mono_interp_ftnptr_to_delegate
95 * interp.c: add mono_interp_ftnptr_to_delegate to create
96 interpreter style delegate. fixes pinvoke3
98 2004-07-28 Lluis Sanchez Gual <lluis@novell.com>
100 * interp.c: Use mono_init_from_assembly instead of mono_init.
102 2004-07-27 Bernie Solomon <bernard@ugsolutions.com>
104 * transform.c (mono_interp_transform_method):
105 quick fix to cope with the fake ptr classes
107 2004-07-26 Bernie Solomon <bernard@ugsolutions.com>
109 * mintops.def: more options on ICALL op code
111 * interp.c: cope with exception in ICALL ops, more of them
113 * transforms.c: more ICALL opcodes
115 2004-07-21 Bernie Solomon <bernard@ugsolutions.com>
117 * mintops.def: rename the ICALL op codes to give a better
118 clue about their signature.
120 * transform.c (generate): use new ICALL types and add
121 a case for two args + a result
123 * interp.c (ves_exec_method_with_context): new ICALL
126 2004-07-21 Bernie Solomon <bernard@ugsolutions.com>
128 * mintops.def: add MINT_DUP_VT
130 * transform.c (generate): cope with CEE_DUP on value type
132 * interp.c (ves_exec_method_with_context): implement MINT_DUP_VT
133 (interp_mono_runtime_invoke): don't unbox this for valuetypes
134 here as it is now done in the callers.
136 2004-07-09 Ben Maurer <bmaurer@ximian.com>
138 * interp.c: register gc roots
140 2004-07-08 Zoltan Varga <vargaz@freemail.hu>
142 * interp.c mintops.def transform.c: Replace CEE_MONO_PROC<x> with
145 2004-07-05 Zoltan Varga <vargaz@freemail.hu>
147 * mintops.h: Applied patch from Marcin Krzyzanowski (krzak@pld-linux.org). Add support for unaligned access on little endian machines.
149 * interp.c:Applied patch from Marcin Krzyzanowski (krzak@pld-linux.org). Fix crash seen on amd64.
151 2004-06-24 David Waite <mass@akuma.org>
153 * interp.c: change to C90-style comments from C99/C++-style
155 Mon Jun 21 14:06:03 CEST 2004 Paolo Molaro <lupus@ximian.com>
157 * interp.h: API updates.
159 2004-05-21 Bernie Solomon <bernard@ugsolutions.com>
161 * transform.c: ignore new LMF opcodes
163 2004-05-20 Lluis Sanchez Gual <lluis@ximian.com>
165 * interp.c, interp.h: Use the new methods for handling thread.abort.
167 2004-05-04 Zoltan Varga <vargaz@freemail.hu>
169 * interp.c (ves_exec_method_with_context): Disable explicit assignment
170 of 'esi' to the ip variable, since it causes register allocation errors
171 on some versions of gcc. Fixes #58010.
173 2004-04-29 Bernie Solomon <bernard@ugsolutions.com>
175 * transform.c (generate): missed a couple
176 of places that should use ADD_CODE so buffer
179 * interp.c (interp_mono_runtime_invoke):
180 restore state better on catching exception
183 2004-04-29 Bernie Solomon <bernard@ugsolutions.com>
187 Implement STARG for valuetypes as mcs needs it.
189 2004-04-28 Bernie Solomon <bernard@ugsolutions.com>
191 * transform.c: Make sure ENSURE_I4 is called on
193 (mono_interp_transform_method): allow some stack
194 space for tracing to work.
196 2004-04-26 David Waite <mass@akuma.org>
198 * interp.h: remove comma from end of enumeration constants
201 2004-04-21 Bernie Solomon <bernard@ugsolutions.com>
203 * interp.h: put in space for old type field
204 for PPC as tramp.c assumes it. Quick fix until that's fixed.
206 * interp.c: reenable instruction tracing for DEBUG_INTERP
208 2004-04-19 Bernie Solomon <bernard@ugsolutions.com>
212 * interp.c: now interprets different VM code
215 * mintops.c: definition of new VM code
216 * transform.c: convert CIL to new VM code
218 2004-04-14 Zoltan Varga <vargaz@freemail.hu>
220 * interp.c (ves_exec_method_with_context): Add support for STRWLPARRAY
221 marshalling convention.
223 2004-03-29 Bernie Solomon <bernard@ugsolutions.com>
225 * interp.c interp.h: remove child from MonoInvocation
228 2004-03-25 Martin Baulig <martin@ximian.com>
230 * interp.c (stackval_from_data): Added MONO_TYPE_GENERICINST.
231 (stackval_to_data): Added MONO_TYPE_GENERICINST.
232 (calc_offsets): Use mono_class_get_full() and mono_get_method_full().
233 (ves_exec_method_with_context): Likewise.
235 2004-03-04 Lluis Sanchez Gual <lluis@ximian.com>
237 * interp.c: Get the type of transparent proxies from its remote_class.
239 2004-02-02 Zoltan Varga <vargaz@freemail.hu>
241 * interp.c (ves_exec_method_with_context): Add new marshalling
244 2004-01-22 Zoltan Varga <vargaz@freemail.hu>
246 * interp.c (mono_main): Remove call to mono_verify_corlib (), since
247 the verification code is not up-to-date.
249 2004-01-19 Bernie Solomon <bernard@ugsolutions.com>
251 * interp.c (ves_exec_method_with_context):
252 get_native_wrapper removed and call
253 mono_marshal_get_native_wrapper directly
254 with new DllNotFoundException handling
256 Mon Jan 19 17:52:33 CET 2004 Paolo Molaro <lupus@ximian.com>
258 * interp.c: eliminate CSIZE macro.
260 2004-01-15 Zoltan Varga <vargaz@freemail.hu>
262 * interp.c (ves_array_set): Check for ArrayTypeMismatchException.
264 2004-01-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
266 * interp.c: call setlocale (). Fixes bug #52100.
268 2003-12-19 Bernie Solomon <bernard@ugsolutions.com>
270 * embed.h, main.c: new files to enable embedding
273 * interp.c: make main callable from main.c
274 rearrange main for embedding
276 * Makefile.am: changes now most code is in a library
278 2003-11-21 Lluis Sanchez Gual <lluis@ximian.com>
280 * interp.c: Added support for context static fields.
282 2003-10-31 Zoltan Varga <vargaz@freemail.hu>
284 * interp.c (mono_create_method_pointer): New function which contains
285 the arch independent part of method wrapper creation. Add a cache
286 for the wrapper code, since Delegate::Equals depends on the wrapper
287 address being constant for a method. Fixes #50366.
289 2003-10-30 Bernie Solomon <bernard@ugsolutions.com>
291 * interp.c: (ves_exec_method_with_context)
292 we need to lookup internal calls now.
293 don't free type in CEE_SIZEOF.
294 fix CEE_NEWOBJ inside wrapper methods
296 2003-10-24 Zoltan Varga <vargaz@freemail.hu>
298 * interp.c: Update after appdomain changes.
300 2003-10-13 Bernie Solomon <bernard@ugsolutions.com>
302 * interp.c - set large stack size on HP 64bit
304 2003-10-02 Bernie Solomon <bernard@ugsolutions.com>
306 * hacks.h - work round HP 64 bit problem with isunordered
308 2003-10-03 Zoltan Varga <vargaz@freemail.hu>
310 * interp.c (dump_frame): Avoid crash on frames without a method. Patch
311 sam@superduper.net (sam clegg). Fixes #46197.
312 (ves_exec_method_with_context): Fix unbox casting.
314 2003-09-25 Bernie Solomon <bernard@ugsolutions.com>
316 * interp.c - reinstate use of mono_marshal_get_delegate_invoke
317 for ordering and fix CALLI to handle wrapper. More wrapper handling
318 in CALL and LDSTR. Add another string conversion case.
320 2003-09-25 Zoltan Varga <vargaz@freemail.hu>
322 * interp.c (ves_exec_method): Fix warning.
323 (ves_exec_method_with_context): Fix CGT_UN and CLT_UN. Patch by
324 David Waite (mass@akuma.org).
326 2003-9-24 Bernie Solomon <bernard@ugsolutions.com>
328 * interp.c: I broke calling native delegates reinstate
329 old code for the moment.
331 2003-9-22 Bernie Solomon <bernard@ugsolutions.com>
333 * interp.c: use mono_marshal_get_delegate_invoke to get delegate
334 invocation order consistent. Fix THROW_EX, fix ip in overflow
337 Fri Sep 12 10:42:08 CEST 2003 Paolo Molaro <lupus@ximian.com>
339 * interp.c, interp.h: patch from Bernie Solomon <bernard@ugsolutions.com>:
340 64 bit/opcodes/exception handling fixes.
342 2003-08-30 Zoltan Varga <vargaz@freemail.hu>
344 * interp.c: Use mono_field_from_token () in the appropriate places.
345 This simplifies the code and also fixes #48051.
347 2003-08-27 Zoltan Varga <vargaz@freemail.hu>
349 * interp.c (main): Fix the order of initialization calls so it maches
350 the order in the JIT.Patch by Bernie Solomon (bernard@ugsolutions.com).
351 Also remove the unused ms mutex.
353 * interp.c: Get rid of metadata_section.
355 2003-08-22 Zoltan Varga <vargaz@freemail.hu>
357 * interp.c (main): Call g_thread_init () to make glib thread-safe.
358 Fixes #47682. Thanks to Laurent Morichetti (l_m@pacbell.net) for
361 2003-08-18 Zoltan Varga <vargaz@freemail.hu>
363 * interp.c: Get rid of duplicate definition of CHECK_MUL_OVERFLOW.
364 * interp.h interp.c: Get rid of VAL_VALUETA, use VAL_MP instead. Fix
365 the INITOBJ opcode which was the only user of VALUETA.
367 2003-08-16 Zoltan Varga <vargaz@freemail.hu>
369 * interp.c (ves_exec_method): Implemented mul.ovf correctly for int32
370 and int64. Implement the conv.ovf opcodes for all argument types.
372 2003-08-15 Zoltan Varga <vargaz@freemail.hu>
374 * interp.c (ves_exec_method): Handle non-valuetypes in CEE_STOBJ.
376 (ves_exec_method): Added support for the synchronized flag to the
377 interpreter. Also fixed the CALLI opcode, and made exception handling
378 work though the managed-unmanaged barrier.
380 Fri Jul 25 19:06:27 CEST 2003 Paolo Molaro <lupus@ximian.com>
382 * interp.c: updates for new instructions.
384 2003-07-22 Zoltan Varga <vargaz@freemail.hu>
386 * interp.c: Use the new metadata_section lock instead of metadata_lock.
387 Patch by Bernie Solomon (bernard@ugsolutions.com).
389 Fri Jul 18 15:11:44 CEST 2003 Paolo Molaro <lupus@ximian.com>
391 * interp.c: 64 bit fixes from Laurent Morichetti <l_m@pacbell.net>.
392 Install cleanup function.
394 2003-07-13 Zoltan Varga <vargaz@freemail.hu>
396 * interp.c: Keep alloca()-d data on a free list to prevent stack
397 overflow errors when valuetypes are allocated in a loop. Fixes
398 #27420. Is the new code still faster than using malloc/free ?
400 * interp.c (ves_array_get): Add index checking to ves_array_get/set.
401 Fixes decimal-array.exe.
403 * interp.c (interp_mono_runtime_invoke): Unbox value type instances
404 before calling the method. Fixes appdomain2.exe.
406 * interp.c: Fix warnings.
408 * interp.c: Report unhandled exceptions correctly.
410 * interp.c: Implement CEE_ISINST and CEE_CASTCLASS using
411 mono_object_isinst. Fixes bug #45539 and reflection-enum.exe.
413 Tue May 27 16:36:41 CEST 2003 Paolo Molaro <lupus@ximian.com>
415 * interp.c: don't use relative numbering stuff.
417 Tue May 27 12:18:44 CEST 2003 Paolo Molaro <lupus@ximian.com>
419 * interp.c: update for mono_class_vtable() changes.
421 Tue May 13 16:43:18 CEST 2003 Paolo Molaro <lupus@ximian.com>
423 * interp.c: handle thread static fields.
425 Sun Apr 27 13:27:59 CEST 2003 Paolo Molaro <lupus@ximian.com>
427 * interp.c: check for arraytypemismatch.
429 2003-04-23 Martin Baulig <martin@ximian.com>
431 * interp.c: When running with --dieonex, use the debugging code to
432 print source lines in the backtrace.
434 2003-02-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
436 * interp.c: added a dummy mono_runtime_install_handlers function to
437 avoid crashing when ves_pinvoke_method tries to call it.
439 2003-02-06 Piers Haken <piersh@friskit.com>
441 * interp.c: warning cleanups
443 2002-11-15 Dick Porter <dick@ximian.com>
445 * interp.c: mono_runtime_init() now has an extra parameter for
448 2002-10-31 Dick Porter <dick@ximian.com>
450 * Makefile.am: The previous automake-1.6 fix broke automake-1.4 on
453 2002-09-27 Dick Porter <dick@ximian.com>
455 * interp.c: Tell glib what the program name is, by passing it the
456 name of the managed file we're executing
458 2002-08-28 Dick Porter <dick@ximian.com>
460 * interp.c: mono_set_rootdir() doesnt take any args now
462 * Makefile.am: Export HOST_CC and turn on optimisation for w32 builds
464 2002-08-28 Nick Drochak <ndrochak@gol.com>
466 * interp.c: check and throw exception if needed for overflow on
467 multiplication of integer types.
469 2002-08-07 Dietmar Maurer <dietmar@ximian.com>
471 * interp.c (interp_walk_stack): removed the createdelegate icall
473 2002-08-02 Dietmar Maurer <dietmar@ximian.com>
475 * interp.c (get_virtual_method): support proxies
476 (ves_exec_method): impl. LDFLD/STFLD for proxies.
478 Fri Aug 2 13:00:41 CEST 2002 Paolo Molaro <lupus@ximian.com>
480 * interp.c, interp.h: implemented exception trap for runtime_invoke
481 and handle exceptions across managed/unmanaged boundaries.
483 2002-08-01 Dietmar Maurer <dietmar@ximian.com>
485 * interp.c (stackval_from_data): add pinvoke argument
486 (stackval_to_data): add pinvoke argument. We need consider the
487 fact that unmanages structures may have different sizes.
488 (ves_pinvoke_method): do not call stackval_from_data if the result
491 Wed Jul 31 17:47:11 CEST 2002 Paolo Molaro <lupus@ximian.com>
493 * interp.c: simplified some more branch code.
495 Wed Jul 31 16:50:42 CEST 2002 Paolo Molaro <lupus@ximian.com>
497 * interp.c: fixed indentation, simplified some code.
499 Wed Jul 31 14:29:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
501 * interp.c: fix so that mint can at least get to executing Main().
503 2002-07-31 Dietmar Maurer <dietmar@ximian.com>
505 * interp.c: use the new marshaling code. better delegate/remoting
507 (ves_exec_method): bug fix - directly jump to handle_exception.
509 2002-07-29 Dietmar Maurer <dietmar@ximian.com>
511 * interp.c (main): install compile_method handler
513 Wed Jul 24 13:02:12 CEST 2002 Paolo Molaro <lupus@ximian.com>
515 * interp.c: implemented stack walking function.
517 Fri Jul 19 14:21:18 CEST 2002 Paolo Molaro <lupus@ximian.com>
519 * interp.c: fix float boxing on LE systems.
521 Sat Jul 13 19:54:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
523 * interp.c: advance ip in conv.r.un.
525 2002-07-01 Dick Porter <dick@ximian.com>
527 * interp.c (ves_exec): Removed unneeded argument to
528 mono_runtime_run_main()
530 2002-06-25 Dick Porter <dick@ximian.com>
532 * interp.c (ves_exec): Pass the assembly to mono_runtime_run_main
534 Wed Jun 19 17:01:37 CEST 2002 Paolo Molaro <lupus@ximian.com>
536 * interp.c: un-broke after stack trace changes.
538 Fri May 31 16:17:20 CEST 2002 Paolo Molaro <lupus@ximian.com>
540 * interp.c, hacks.h: compiler compatibility fixes.
542 Fri May 31 13:25:57 CEST 2002 Paolo Molaro <lupus@ximian.com>
544 * interp.c, mint.1: added --config command line option.
546 Thu May 30 14:14:16 CEST 2002 Paolo Molaro <lupus@ximian.com>
548 * interp.c: lookup P/Invoke method addr only when needed.
550 2002-05-29 Dietmar Maurer <dietmar@ximian.com>
552 * interp.c (ves_exec_method): free type in CEE_SIZEOF
554 Tue May 28 16:10:49 CEST 2002 Paolo Molaro <lupus@ximian.com>
556 * interp.c: fixed SIZEOF to work with typedef/typeref.
558 Fri May 24 15:33:50 CEST 2002 Paolo Molaro <lupus@ximian.com>
560 * interp.c: added partial async delegate and remoting support.
562 Thu May 23 18:45:38 CEST 2002 Paolo Molaro <lupus@ximian.com>
564 * interp.c: special case string ctors in invoke.
565 Handle null object in throw. Misc integer type mismatch fixes.
567 2002-05-23 Dietmar Maurer <dietmar@ximian.com>
569 * interp.c (ves_runtime_method): share more code with the jit.
571 Wed May 22 12:31:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
573 * interp.c: fixed finally handling. In trace mode show
574 exception handling operations and the contents of the stack in the same
575 line as the executing instruction.
577 2002-05-20 Miguel de Icaza <miguel@ximian.com>
579 * interp.c: Updated help display.
581 2002-05-20 Radek Doulik <rodo@ximian.com>
583 * interp.c (dump_stack): print boxed values for --noptr
584 (ves_exec_method): use stackval_to_data as pointed out by lupus
586 2002-05-17 Radek Doulik <rodo@ximian.com>
588 * interp.c (dump_stack): if --noptr then print content of strings
589 in form [str:<printed string>]
591 2002-05-16 Radek Doulik <rodo@ximian.com>
593 * interp.c (ves_exec_method): use data.i instead of data.l in i32
595 (ves_exec_method): set type in I64 <--> I32 conversions
597 2002-05-15 Radek Doulik <rodo@ximian.com>
599 * interp.c (ves_runtime_method): moved stackval_from_data call
600 inside #else branch, consulted on irc with lupus
602 2002-05-15 Dietmar Maurer <dietmar@ximian.com>
604 * interp.c (ves_exec_method): use new mono_unhandled_exception()
606 2002-05-14 Radek Doulik <rodo@ximian.com>
608 * interp.c: introduced new --noptr option to suppres pointer
609 address printing. I find this useful for comparing trace outputs
612 Tue May 14 16:37:55 CEST 2002 Paolo Molaro <lupus@ximian.com>
614 * interp.c: some finally handling fixes and compilation fixes for
615 changes in the runtime lib.
617 2002-04-30 Dick Porter <dick@ximian.com>
619 * interp.c: Tell glib to not abort when g_log() etc print
622 Mon Apr 22 16:52:03 CEST 2002 Paolo Molaro <lupus@ximian.com>
624 * interp.c: handle muslticast delegates. Implement a couple more
625 convert opcodes. Pretend we spend some time jitting...
627 2002-04-20 Dietmar Maurer <dietmar@ximian.com>
629 * interp.c (ves_exec_method): support internalcall String constructors
631 2002-04-19 Dan Lewis <dihlewis@yahoo.co.uk>
633 * interp.c: support for new szarray format.
635 Tue Apr 16 20:12:58 CEST 2002 Paolo Molaro <lupus@ximian.com>
637 * interp.c: removed profiling code (moved to common library).
638 Implemented inlining for some special methods.
640 2002-04-15 Patrik Torstensson <patrik.torstensson@labs2.com>
642 * interp.c: Using fullnames when adding icall's (array)
644 Wed Apr 10 16:07:23 CEST 2002 Paolo Molaro <lupus@ximian.com>
646 * interp.c: quick implementation for opcodes needed by the new parse
649 Tue Apr 9 13:08:26 CEST 2002 Paolo Molaro <lupus@ximian.com>
651 * interp.c: make the interp thread-safe wrt the metadata lib.
653 Mon Apr 8 17:15:48 CEST 2002 Paolo Molaro <lupus@ximian.com>
655 * interp.c: display return value with --trace.
656 Call mono_runtime_init ().
658 2002-04-06 Dietmar Maurer <dietmar@ximian.com>
660 * interp.c (interp_mono_runtime_invoke): handle more types,
661 removed runtime_exec_main
663 Thu Apr 4 11:36:52 CEST 2002 Paolo Molaro <lupus@ximian.com>
665 * interp.c: don't try to get an IL opcode for runtime and internal
668 Thu Mar 28 16:54:51 CET 2002 Paolo Molaro <lupus@ximian.com>
670 * interp.c: spring warning cleanup.
672 Thu Mar 28 12:03:28 CET 2002 Paolo Molaro <lupus@ximian.com>
674 * interp.c: check obj address in stfld.
676 2002-03-27 Dietmar Maurer <dietmar@ximian.com>
678 * interp.c (ves_exec_method): CASTCLASS: fix for transparent proxy
680 Tue Mar 26 20:09:10 CET 2002 Paolo Molaro <lupus@ximian.com>
682 * interp.c: set frame->ip before dumping the stack trace.
684 Tue Mar 26 19:54:45 CET 2002 Paolo Molaro <lupus@ximian.com>
686 * interp.c: remove glib mem vtable code.
688 2002-03-26 Dick Porter <dick@ximian.com>
690 * interp.c: Show thread ID's in trace output.
692 New option "--traceclassinit" to put debug output around
693 runtime_class_init().
695 Make sure all options are displayed in usage().
697 Tue Mar 26 17:03:14 CET 2002 Paolo Molaro <lupus@ximian.com>
699 * interp.c: support fieldrefs when accessing instance fields.
701 Mon Mar 25 12:59:52 CET 2002 Paolo Molaro <lupus@ximian.com>
703 * interp.c: allow tracing to be done on a per-method basis.
704 Fix interp_mono_runtime_invoke() to deal correcttly with the return
705 value. Disable glib mem vtable setting.
707 Thu Mar 21 18:08:37 CET 2002 Paolo Molaro <lupus@ximian.com>
709 * interp.c: set stack trace info when throwing an exception.
711 Thu Mar 21 17:32:46 CET 2002 Paolo Molaro <lupus@ximian.com>
713 * interp.c: intern strings before executing a method (and don't
714 intern command line arguments anymore). Add sanity checks in alloca
717 Sat Mar 16 19:15:18 CET 2002 Paolo Molaro <lupus@ximian.com>
719 * interp.c: restore frame on return from unmanaged calls.
720 Add support for continuing execution up to x IL insn.
721 Fix exception handling when an exception is raised in the catch
722 handler of the same method that issued the first one.
724 2002-03-11 Dietmar Maurer <dietmar@ximian.com>
726 * interp.c (ves_runtime_method): set method_info field
728 Mon Mar 11 14:48:07 CET 2002 Paolo Molaro <lupus@ximian.com>
730 * interp.c: corlib consistency checls moved to libmetadata.
732 Mon Mar 11 11:27:27 CET 2002 Paolo Molaro <lupus@ximian.com>
734 * interp.c: use the new facilities in debug-helpers to
735 disassemble CIL code and match method names to MonoMethods.
737 Thu Mar 7 17:20:59 CET 2002 Paolo Molaro <lupus@ximian.com>
739 * interp.c: Boehm-GC enable. Fix some overflow opcodes.
741 Tue Mar 5 18:12:40 CET 2002 Paolo Molaro <lupus@ximian.com>
743 * interp.c: fix non-debug build and some more opcode work.
745 Mon Mar 4 11:21:44 CET 2002 Paolo Molaro <lupus@ximian.com>
747 * interp.c: print the address of 'this' in tracing mode.
749 Thu Feb 28 19:18:59 CET 2002 Paolo Molaro <lupus@ximian.com>
751 * interp.c: add checks for more binary consistency.
753 2002-02-27 Dietmar Maurer <dietmar@ximian.com>
755 * interp.c (interp_mono_runtime_invoke): use alloca instead of g_new0
757 Tue Feb 26 11:43:34 CET 2002 Paolo Molaro <lupus@ximian.com>
759 * interp.c: added profiling for object creation.
761 Mon Feb 25 17:37:07 CET 2002 Paolo Molaro <lupus@ximian.com>
763 * interp.c: use correct value for guint64 max.
765 2002-02-22 Radek Doulik <rodo@ximian.com>
767 * interp.c: s/gulong/guint64 as it differs on ppc
769 Wed Feb 20 22:18:40 CET 2002 Paolo Molaro <lupus@ximian.com>
771 * interp.c: more complete runtime_invoke () implementation.
772 Fixed castclass/isinst to work correctly with arrays.
774 Tue Feb 19 20:21:14 CET 2002 Paolo Molaro <lupus@ximian.com>
776 * interp.c: implement the runtime_invoke function.
778 Mon Feb 18 15:49:20 CET 2002 Paolo Molaro <lupus@ximian.com>
780 * interp.c: fix alignment code. Make sure to init classes
781 in more cases. Command-line arguments are interned.
783 2002-02-16 Radek Doulik <rodo@ximian.com>
785 * interp.c (ves_exec_method): test type of sp [-1] instead of sp
786 [0], because sp [-1] is the value going to be shifted, fixed in
787 CEE_SHL, CEE_SHR, CEE_UN opcodes)
789 Sat Feb 16 12:00:24 CET 2002 Paolo Molaro <lupus@ximian.com>
791 * interp.c: fixed cut&paste error for ldind.r4 and ldind.r8.
793 Fri Feb 15 15:07:27 CET 2002 Paolo Molaro <lupus@ximian.com>
795 * interp.c: use strrchr instead of rindex. use _isnan and _finite on
798 2002-02-14 Jeffrey Stedfast <fejj@ximian.com>
800 * interp.c (ves_exec_method): replace
801 'g_assert (sp->type = VAL_VALUETA)' with
802 'g_assert (sp->type == VAL_VALUETA)' otherwise
803 the assert always passes. FIXME: should the test have been !=?
805 2002-02-14 Dietmar Maurer <dietmar@ximian.com>
807 * interp.c (stackval_from_data): fix for MONO_TYPE_PTR
809 Wed Feb 13 16:17:38 CET 2002 Paolo Molaro <lupus@ximian.com>
811 * interp.c: fixed newobj implementation for valuetypes bug found by
812 dietmar. sub.ovf dummy code.
814 Tue Feb 12 14:08:47 CET 2002 Paolo Molaro <lupus@ximian.com>
816 * hacks.h: check against redefining preprocessor symbol.
817 * interp.c: fix profile info to return more sensible results.
819 Mon Feb 11 13:05:29 CET 2002 Paolo Molaro <lupus@ximian.com>
821 * interp.c: added "die on exception" command line argument.
822 When we segfault, set the message in the exception to "Segmentation
823 fault" so people can recognise what's going on.
825 2002-02-10 Miguel de Icaza <miguel@ximian.com>
827 * interp.c (ves_exec_method): Compare the element_class type token
828 in the class we got as well, instead of the element class vs the
831 This fixes the invalid cast exceptions during unboxing
833 Fri Feb 8 13:01:03 CET 2002 Paolo Molaro <lupus@ximian.com>
835 * interp.c: use opcode information from libmetadata.
837 2002-02-05 Dietmar Maurer <dietmar@ximian.com>
839 * interp.c (ves_exec_method): CEE_UNBOX: use element_class for
842 2002-02-04 Dietmar Maurer <dietmar@ximian.com>
844 * interp.c (main): impl. __array_Address icall
846 Fri Feb 1 16:03:53 CET 2002 Paolo Molaro <lupus@ximian.com>
848 * interp.c: exception fixes. Use mono_method_pointer_get ()
849 to easy porting to other archs. Some support for overflow detection.
851 2002-01-25 Dietmar Maurer <dietmar@ximian.com>
853 * interp.c, jit.c (main): install runtime_exec_main handler
854 (main): bug fix - call TlsAlloc () before we execute code
856 2002-01-23 Dick Porter <dick@ximian.com>
858 * interp.c: Added some kludges to cope with CONV_OVF_I2,
859 CONV_OVF_I4 and ADD_OVF so that number formatting works. Also
860 initialise and cleanup the network support.
862 Thu Jan 10 20:59:59 CET 2002 Paolo Molaro <lupus@ximian.com>
864 * interp.c, interp.h: add a flag to mono_create_trampoline ()
865 to handle runtime methods.
867 Sat Jan 5 15:45:14 CET 2002 Paolo Molaro <lupus@ximian.com>
869 * interp.c: allow classname:method name in --debug argument.
870 Fix box opcode for valuetypes. Fix a few opcode to take a 16 bit
871 index instead of 32 (stloc, ldloc, starg, etc.).
873 Thu Jan 3 23:19:27 CET 2002 Paolo Molaro <lupus@ximian.com>
875 * interp.c: temporary mul.ovf, mul.ovf.un, add.ovf.un implementations
876 to get the compiler going.
878 Mon Dec 24 17:23:45 CET 2001 Paolo Molaro <lupus@ximian.com>
880 * interp.c: fix ldc.i8.
882 Thu Dec 20 20:09:48 CET 2001 Paolo Molaro <lupus@ximian.com>
884 * interp.c: fix delegate method invocation to handle both
885 static and instance methods.
887 Tue Dec 18 18:48:50 CET 2001 Paolo Molaro <lupus@ximian.com>
889 * interp.c: make segv_handler static, handle runtime methods in stack
892 Thu Dec 13 20:24:28 CET 2001 Paolo Molaro <lupus@ximian.com>
894 * interp.c: correctly handle exceptions generated in C code.
895 Install an handler for SIGSEGV. Bare-bones profiler and hook for the
898 Mon Dec 3 17:15:44 CET 2001 Paolo Molaro <lupus@ximian.com>
900 * interp.c: call mono_init() after registering internal calls.
902 2001-11-30 Dick Porter <dick@ximian.com>
904 * interp.c: Replace get_named_exception() with
905 mono_exception_from_name()
907 Fri Nov 30 12:05:21 CET 2001 Paolo Molaro <lupus@ximian.com>
909 * interp.c: calculate locals and args offsets only once
910 per method call. Cache trampoline code as well.
912 2001-11-23 Dietmar Maurer <dietmar@ximian.com>
914 * interp.c (ves_exec_method): bug fix for exception5.cs
916 Mon Nov 19 11:33:00 CET 2001 Paolo Molaro <lupus@ximian.com>
918 * interp.c: start adding support for handling exceptions across
919 managed/unmanaged boundaries. Cleanup Delegate method invocation.
920 Pass the correct target object in Delegate::Invoke and use the correct
921 'this' pointer in ldvirtftn (bugs pointed out by Dietmar).
923 Thu Nov 15 17:40:24 CET 2001 Paolo Molaro <lupus@ximian.com>
925 * interp.c: handle enums with underlying type different from int32.
926 More checks for C structs <-> C# objects consistency.
928 Wed Nov 14 19:23:00 CET 2001 Paolo Molaro <lupus@ximian.com>
930 * interp.c: move the stack frame dumping code to a function so it can
931 be called from the debugger. Fix virtual method lookup for interfaces.
932 Throw exceptions instead of aborting in more places.
933 Print also the message in an exception. Updates for field renames in
936 2001-11-09 Dick Porter <dick@ximian.com>
938 * Makefile.am (mint_LDADD): Don't need THREAD_LIBS any more
940 2001-11-07 Miguel de Icaza <miguel@ximian.com>
942 * interp.c: Include stdlib to kill warning.
943 (check_corlib): Adjust format encodings to remove warnings.
945 Wed Nov 7 15:47:36 CET 2001 Paolo Molaro <lupus@ximian.com>
947 * interp.c: updates for changes in array code.
949 Fri Nov 2 19:06:54 CET 2001 Paolo Molaro <lupus@ximian.com>
951 * interp.c: hanlde field refs. Throw an exception on NULL references.
952 Check consistency of corlib types with the C struct representation.
954 2001-10-25 Dietmar Maurer <dietmar@ximian.com>
956 * interp.c (ves_exec_method): use relative numbering for runtime
957 type checks (and make it work with interfaces)
959 2001-10-15 Dietmar Maurer <dietmar@ximian.com>
961 * interp.c: removed newobj()
963 2001-10-10 Dietmar Maurer <dietmar@ximian.com>
965 * interp.c (get_virtual_method): use the vtable
966 (arch_compile_method): added to compute vtable entry
968 Mon Oct 8 16:14:40 CEST 2001 Paolo Molaro <lupus@ximian.com>
970 * interp.c: use the accessors provided in object.h to deal with
971 MonoArrays. Updates for API renames in metadata. Throw exception
972 in ldelema if index is out of bounds.
974 Mon Oct 8 10:44:25 CEST 2001 Paolo Molaro <lupus@ximian.com>
976 * interp.c: fixes for changes in metadata.
978 2001-10-04 Dick Porter <dick@ximian.com>
980 * interp.c (ves_runtime_method): init_class() the
981 mono_defaults.delegate_class
982 Include mono-endian.h not endian.h
984 Tue Oct 2 18:51:25 CEST 2001 Paolo Molaro <lupus@ximian.com>
986 * interp.c: set frame->ip in the leave opcode. Make db_methods static.
988 Sun Sep 30 11:57:15 CEST 2001 Paolo Molaro <lupus@ximian.com>
990 * interp.c: compiler and ANSI C portability fixes.
992 Fri Sep 28 19:37:46 CEST 2001 Paolo Molaro <lupus@ximian.com>
994 * interp.c: Implemented ldtoken, conv.ovf.i. Use MonoClass->byval_arg
995 (and remove related kludges). Don't choke on access to arrays of
996 references. Throw an exception when an internalcall or P/Invoke
997 function don't have an implementation. Throw and EngineException
998 for unimplemented opcodes.
1000 Tue Sep 25 11:12:35 CEST 2001 Paolo Molaro <lupus@ximian.com>
1002 * interp.c: fixed get_virtual_method () to deal with interface
1005 Mon Sep 24 18:50:25 CEST 2001 Paolo Molaro <lupus@ximian.com>
1007 * interp.c: catch a few more error conditions with exceptions instead of
1009 Don't use g_print() in stack traces because it doesn't work with
1011 When we call an instance method of a valuetype class, unbox the 'this'
1012 argument if it is an object.
1013 Use mono_ldstr () to implement the ldstr opcode: it takes care of
1014 interning the string if necessary.
1015 Implemented new opcodes: ckfinite, cgt.un, clt.un, ldvirtftn, ldarga.
1016 Fixes to handle NaNs when comparing doubles.
1017 Make sure the loaded assembly has an entry point defined.
1018 Fixed portability bugs in neg and not opcodes.
1020 2001-09-24 Dietmar Maurer <dietmar@ximian.com>
1022 * interp.c (ves_exec_method): LDC_I4: 8bit constants are signed
1023 (ves_exec_method): bug fix for NOT/NEG
1024 (main): fix bug in parameter parsing
1026 2001-09-23 Dick Porter <dick@ximian.com>
1028 * Makefile.am (mint_LDADD): rename PTHREAD_LIBS to THREAD_LIBS
1030 2001-09-23 Dick Porter <dick@ximian.com>
1032 * interp.c (main): Do some thread setup and cleanup around the
1035 2001-09-21 Dick Porter <dick@ximian.com>
1037 * Makefile.am (mint_LDADD): Added PTHREAD_LIBS to the link line
1039 Thu Sep 20 16:32:42 CEST 2001 Paolo Molaro <lupus@ximian.com>
1041 * interp.c: implemented some more opcodes: calli, rem.un,
1042 shr.un, conv.u, cpobj, stobj, conv.r.un, conv.ovf.i1.un,
1043 conv.ovf.i2.un, conv.ovf.i4.un, conv.ovf.i8.un, conv.ovf.i.un,
1044 conv.ovf.u1.un, conv.ovf.u2.un, conv.ovf.u4.un, conv.ovf.u8.un,
1046 Fix some 64 bit issues in the array element access code and a small bug.
1047 Throw an exception on index out of range instead of asserting.
1048 Throw an exception on a NULL array instead of dying.
1049 Stomped a memory corruption bug (.cctor methods were freed after
1050 executing them, but they are stores in MonoClass now...).
1051 Added a simple facility to invoke the debugger when a named
1052 function is entered (use the cmdline option --debug method_name).
1053 * interp.h: fix 64 bit issue.
1055 Tue Sep 18 13:21:33 CEST 2001 Paolo Molaro <lupus@ximian.com>
1057 * interp.c: fix some 64 bit issues. Safer support for delegates.
1059 2001-09-12 Miguel de Icaza <miguel@ximian.com>
1061 * interp.c (ves_exec_method): implement conv.u8 opcode.
1063 Mon Sep 10 20:20:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
1065 * interp.c: endian fixes, comments.
1067 Fri Sep 7 18:45:38 CEST 2001 Paolo Molaro <lupus@ximian.com>
1069 * interp.c, interp.h: make ves_exec_method () and stackval_from_data ()
1070 non static. Implement a couple of runtime methods needed to
1071 use delegates (ves_runtime_method ()).
1072 Implemented ldftn opcode.
1074 Thu Sep 6 15:41:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
1076 * Makefile.am: link to libmonoarch.
1077 * interp.h, interp.c: use mono_create_trampoline ().
1078 Pass the command line arguments to Main (String[]) methods.
1080 2001-08-30 Dietmar Maurer <dietmar@ximian.com>
1082 * interp.c (ves_pinvoke_method): removed the libffi dependency
1084 2001-08-29 Dietmar Maurer <dietmar@ximian.com>
1086 * interp.c (ves_array_set): moved from icall.c
1087 (ves_array_get): moved from icall.c
1089 * icall.c: moved to metadata/icall.c
1091 Wed Aug 29 12:46:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
1093 * interp.c: some small optimizations. Fixes to do signed
1094 compares when needed. Change C++ comments into C.
1095 Implemented cgt, clt. Added --opcode-count cmdline switch.
1097 2001-08-28 Dietmar Maurer <dietmar@ximian.com>
1099 * interp.c (ves_exec_method): better check for value types (get
1100 the class to detect if we have a value type), implemented CEE_CONV_U1,
1101 CEE_CONV_U2, CEE_CEQ
1104 Mon Aug 27 21:30:30 CEST 2001 Paolo Molaro <lupus@ximian.com>
1106 * interp.c: warn and exit when Main () expects the cmdline arguments
1107 instead of creashing.
1109 Mon Aug 27 20:16:37 CEST 2001 Paolo Molaro <lupus@ximian.com>
1111 * interp.c: merge isinst/castclass handling. Hopefully implement
1112 the right semantics for handling callvirt correctly (changes
1113 here and there to support it). Integrate bugfix from Dietmar quickly
1114 so he needs to handle the cvs conflict:-)
1116 Mon Aug 27 12:20:32 CEST 2001 Paolo Molaro <lupus@ximian.com>
1118 * interp.c: fix compilation and updates for changes in metadata/.
1120 2001-08-26 Miguel de Icaza <miguel@ximian.com>
1122 * interp.c (main): Add option handling for the interpreter,
1123 support the `--trace' option.
1125 Sun Aug 26 23:04:46 CEST 2001 Paolo Molaro <lupus@ximian.com>
1127 * interp.c: get in a dummy virtual method dispatch.
1128 Added support for int64, native int and native uint as arguments.
1129 Added debug enter/leave for icall and pinvoke methods, too.
1130 Implement opcodes conv.i, conv.i8, ldelema.
1132 Sun Aug 26 11:37:30 CEST 2001 Paolo Molaro <lupus@ximian.com>
1134 * interp.h, interp.c: load also a MonoClass pointer when we load
1135 an address on the stack. Implemented conv.i1, conv.i2, con.i4,
1136 conv.u4, conv.r4, conv.r8. Print the arguments in the stack trace
1137 and the name of the exception.
1139 Sat Aug 25 15:56:03 CEST 2001 Paolo Molaro <lupus@ximian.com>
1141 * interp.c: Implemented some opcodes: starg.s, ldobj, isinst,
1142 ldarg, starg, ldloc, ldloca, stloc, initobj, cpblk, sizeof.
1144 Sat Aug 25 12:57:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
1146 * interp.c: handle enumerations specially (not as valuetypes).
1148 Fri Aug 24 19:34:04 CEST 2001 Paolo Molaro <lupus@ximian.com>
1150 * interp.h, interp.c: add support for valuetypes.
1152 Fri Aug 24 16:09:20 CEST 2001 Paolo Molaro <lupus@ximian.com>
1154 * interp.c: updates for merge of MonoParam in MonoType.
1156 Thu Aug 23 12:04:34 CEST 2001 Paolo Molaro <lupus@ximian.com>
1158 * interp.c: removed beforefieldinit check, it's a useless flag.
1159 Added a couple more test cases to tests/ dir.
1161 2001-08-22 Miguel de Icaza <miguel@ximian.com>
1163 * interp.c (usage): Add version information
1164 (ves_pinvoke_method): Typo fix.
1166 Wed Aug 22 20:37:51 CEST 2001 Paolo Molaro <lupus@ximian.com>
1168 * interp.c: simplified init_class (). Make sure a class
1169 is fully initialized before executing a method in the class.
1170 Search for the class constructor only on beforefieldinit classes.
1171 Implement a bunch of opcodes: br, brfalse, brtrue, beq, bge,
1172 bgt, blt, ble, bne.un, bge.un, bgt.un, ble.un, blt.un, stind.i,
1173 ldflda, ldsflda, ldelem.i8, stelem.i8, leave.
1175 Wed Aug 22 16:34:03 CEST 2001 Paolo Molaro <lupus@ximian.com>
1177 * interp.c: Updates for changes in metadata/. Better output in debug mode
1178 and in the stack trace. Completed rethrow handling
1180 Tue Aug 21 18:56:19 CEST 2001 Paolo Molaro <lupus@ximian.com>
1182 * interp.c: new macro INIT_FRAME() to properly
1183 initialize a MonoInvocation. Fixed a couple of buglets in exception code:
1184 increase stack pointer when pushing the exception for catch blocks,
1185 initialize frame->ex_handler to NULL, correctly try all the
1186 catch blocks (don't incorrectly fallback on filter handling).
1187 Added a couple more checks where we may need to throw an
1188 exception. Added more exception creation functions.
1189 Changed stackval_from_data() to take the target stackval as
1190 argument. Implemented a couple more opcodes.
1191 * interp.h: prepare stackval for value type code.
1193 2001-08-21 Miguel de Icaza <miguel@ximian.com>
1195 * Makefile.am (mint_LDADD): Renamed interpreter to mint.
1197 2001-08-21 Dietmar Maurer <dietmar@ximian.com>
1199 * interp.c (get_named_exception): use the right constructor.
1201 Mon Aug 20 18:58:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
1203 * interp.c: fix buglet with the leave.s opcode.
1205 2001-08-20 Dietmar Maurer <dietmar@ximian.com>
1207 * icall.c: changed everything to support the new calling convention
1209 * hacks.h: added some macros for FreeBSD
1211 * interp.c (get_named_exception): use mono_object_new instead of
1212 newobj, initialize the stack before we call the constructor.
1214 Sat Aug 18 12:43:38 CEST 2001 Paolo Molaro <lupus@ximian.com>
1216 * interp.c, interp.h: added support code to create exceptions.
1217 Changed interncal calling convnetion over to MonoInvocation, to support
1218 exceptions, walking the stack back and forward and passing the 'this'
1219 pointer separately (remove the cludges required before to pass this on the
1220 stack). Use alloca heavily for both local vars and a copy of the incoming
1221 arguments. Init local vars to zero.
1222 Simplify stackval_from_data() and stackval_to_data() to only take a pointer
1223 instead of pointer + offset.
1224 Implement a few exceptions-related opcodes and the code to run finally, fault and
1225 catch blocks as well as a stack trace if no handler is found.
1227 2001-08-16 Alex Graveley <alex@ximian.com>
1229 * Makefile.am (mono_int_LDADD): Link with ../../libffi/libffi.a
1230 instead of ../../libffi/.libs/libffi.a.
1232 2001-08-10 Dietmar Maurer <dietmar@ximian.com>
1234 * interp.c (ves_exec_method): impl CASTCLASS
1236 * icall.c: moved the internal call stuff to this file
1238 * interp.c (ves_exec_method): impl. BOX/UNBOX
1239 (ves_icall_System_Array_GetValue): impl.
1240 (ves_icall_System_Array_SetValue): impl.
1241 added myself to Authors
1243 2001-08-09 Dietmar Maurer <dietmar@ximian.com>
1245 * implemented arrays, but you will need a modified version of
1246 Array.cs to get arrays working (will commit soon)
1248 * interp.c (ves_icall_array_Set): impl.
1249 (ves_icall_array_Get): impl.
1250 (ves_icall_array_ctor): impl.
1251 (ves_icall_System_Array_GetRank): impl.
1252 (ves_icall_System_Array_GetLength): impl.
1253 (ves_icall_System_Array_GetLowerBound): impl.
1254 (mono_lookup_internal_call): impl.
1256 2001-08-06 Dietmar Maurer <dietmar@ximian.com>
1258 * interp.c (ves_exec_method): impl. NEWARR
1259 (ves_exec_method): impl. most LDELEM/STELEM opcodes, LDLEN
1261 (mono_get_ansi_string): impl.
1262 (mono_lookup_internal_call): impl.
1263 (ves_exec_method): implemented internal calls
1265 2001-08-05 Dietmar Maurer <dietmar@ximian.com>
1267 * interp.c (ves_pinvoke_method): removed all static vars.
1269 2001-08-02 Dietmar Maurer <dietmar@ximian.com>
1271 * interp.c (ves_exec_method): found a way to do unordered
1272 compares, implemented CEE_BNE_UN_S, CEE_BGE_UN_S, CEE_BGT_UN_S,
1273 CEE_BLE_UN_S, CEE_BLT_UN_S
1275 Wed Aug 1 22:51:38 CEST 2001 Paolo Molaro <lupus@ximian.com>
1277 * interp.c: handle also MONO_TYPE_CLASS to/from the stack.
1278 Change locals to be a memory blob, instead of the structured
1279 (but wrong) stackval. Implement bne.un.s opcode. Make the program
1280 exit with the error code from Main().
1282 2001-08-01 Dietmar Maurer <dietmar@ximian.com>
1284 * interp.c (ves_exec_method): implemented LDSTR
1286 2001-07-31 Miguel de Icaza <miguel@ximian.com>
1288 * interp.c (GET_NATI): Switched from using nati_t to cli/types.h
1289 m_i type. Maybe we should rename the types to be m_i_t instead of
1292 Make the code compile after I broke it.
1294 Tue Jul 31 23:46:33 CEST 2001 Paolo Molaro <lupus@ximian.com>
1296 * interp.c: fix cleanup.
1297 * Makefile.am: don't link with disassembler library.
1299 2001-07-31 Miguel de Icaza <miguel@ximian.com>
1301 (ves_exec_method): Cleanup of the source code.
1303 Tue Jul 31 20:13:59 CEST 2001 Paolo Molaro <lupus@ximian.com>
1305 * interp.c: implement stind.*, ldind.*, ldloca.s opcodes.
1306 Provide better tracing with DEBUG_INTERP.
1308 Tue Jul 31 17:52:53 CEST 2001 Paolo Molaro <lupus@ximian.com>
1310 * interp.c: massive namespace cleanup.
1312 Mon Jul 30 20:09:58 CEST 2001 Paolo Molaro <lupus@ximian.com>
1314 * interp.c: update to use mono_method->name.
1316 Fri Jul 27 20:54:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
1318 * interp.c: start implementing callvirt. Classes with
1319 class constructors are properly initialized when needed.
1320 Fix error introduced in version 1.17.
1322 Fri Jul 27 14:03:19 CEST 2001 Paolo Molaro <lupus@ximian.com>
1324 * interp.c: implement static field loading and storing.
1326 2001-07-27 Dietmar Maurer <dietmar@ximian.com>
1328 * interp.c (ves_pinvoke_method): impl.
1330 Fri Jul 27 11:49:19 CEST 2001 Paolo Molaro <lupus@ximian.com>
1332 * interp.c: Removed some debugging printouts. Made stackval_to_data
1333 static. Handle also instance methods in CALL opcode. Fix ret to properly
1334 deal with void functions. Fixed constructor to leave the object on
1337 Thu Jul 26 13:24:51 CEST 2001 Paolo Molaro <lupus@ximian.com>
1339 * interp.c: ves_exec_method () doesn't take a MonoImage arg
1340 anymore. Use the method cache in MonoImage. Updates to
1341 mache recent changes in metadata.
1342 Fix newobj code to use new metadata features. Call the class
1343 constructor after allocationg the object. Implemented load field
1344 and store field opcodes (the support functions need to be finished).
1346 Tue Jul 24 16:51:09 CEST 2001 Paolo Molaro <lupus@ximian.com>
1348 * interp.c, hacks.h: moved a few ugly macros out of the code.
1349 Implemented switch opcode.
1351 2001-07-23 Miguel de Icaza <miguel@ximian.com>
1353 * interp.c (newobj): Added function to handle newobj opcode.
1355 2001-07-18 Miguel de Icaza <miguel@ximian.com>
1357 * interp.c (ves_exec_method): Make the interpreter abort with more
1358 information than it currently does.
1360 Enable the slow processor, as it is easier to debug.
1362 Sun Jul 15 17:50:23 CEST 2001 Paolo Molaro <lupus@ximian.com>
1364 * Started changelog.
1365 * interp.c: use new mono_get_method () function to get the complete
1366 info on a method invocation: we support now method invocation with
1367 multiple (or zero) simple arguments and with or without a return value.
1368 Implement also a couple more opcodes.