1 2002-04-30 Dick Porter <dick@ximian.com>
3 * interp.c: Tell glib to not abort when g_log() etc print
6 Mon Apr 22 16:52:03 CEST 2002 Paolo Molaro <lupus@ximian.com>
8 * interp.c: handle muslticast delegates. Implement a couple more
9 convert opcodes. Pretend we spend some time jitting...
11 2002-04-20 Dietmar Maurer <dietmar@ximian.com>
13 * interp.c (ves_exec_method): support internalcall String constructors
15 2002-04-19 Dan Lewis <dihlewis@yahoo.co.uk>
17 * interp.c: support for new szarray format.
19 Tue Apr 16 20:12:58 CEST 2002 Paolo Molaro <lupus@ximian.com>
21 * interp.c: removed profiling code (moved to common library).
22 Implemented inlining for some special methods.
24 2002-04-15 Patrik Torstensson <patrik.torstensson@labs2.com>
26 * interp.c: Using fullnames when adding icall's (array)
28 Wed Apr 10 16:07:23 CEST 2002 Paolo Molaro <lupus@ximian.com>
30 * interp.c: quick implementation for opcodes needed by the new parse
33 Tue Apr 9 13:08:26 CEST 2002 Paolo Molaro <lupus@ximian.com>
35 * interp.c: make the interp thread-safe wrt the metadata lib.
37 Mon Apr 8 17:15:48 CEST 2002 Paolo Molaro <lupus@ximian.com>
39 * interp.c: display return value with --trace.
40 Call mono_runtime_init ().
42 2002-04-06 Dietmar Maurer <dietmar@ximian.com>
44 * interp.c (interp_mono_runtime_invoke): handle more types,
45 removed runtime_exec_main
47 Thu Apr 4 11:36:52 CEST 2002 Paolo Molaro <lupus@ximian.com>
49 * interp.c: don't try to get an IL opcode for runtime and internal
52 Thu Mar 28 16:54:51 CET 2002 Paolo Molaro <lupus@ximian.com>
54 * interp.c: spring warning cleanup.
56 Thu Mar 28 12:03:28 CET 2002 Paolo Molaro <lupus@ximian.com>
58 * interp.c: check obj address in stfld.
60 2002-03-27 Dietmar Maurer <dietmar@ximian.com>
62 * interp.c (ves_exec_method): CASTCLASS: fix for transparent proxy
64 Tue Mar 26 20:09:10 CET 2002 Paolo Molaro <lupus@ximian.com>
66 * interp.c: set frame->ip before dumping the stack trace.
68 Tue Mar 26 19:54:45 CET 2002 Paolo Molaro <lupus@ximian.com>
70 * interp.c: remove glib mem vtable code.
72 2002-03-26 Dick Porter <dick@ximian.com>
74 * interp.c: Show thread ID's in trace output.
76 New option "--traceclassinit" to put debug output around
79 Make sure all options are displayed in usage().
81 Tue Mar 26 17:03:14 CET 2002 Paolo Molaro <lupus@ximian.com>
83 * interp.c: support fieldrefs when accessing instance fields.
85 Mon Mar 25 12:59:52 CET 2002 Paolo Molaro <lupus@ximian.com>
87 * interp.c: allow tracing to be done on a per-method basis.
88 Fix interp_mono_runtime_invoke() to deal correcttly with the return
89 value. Disable glib mem vtable setting.
91 Thu Mar 21 18:08:37 CET 2002 Paolo Molaro <lupus@ximian.com>
93 * interp.c: set stack trace info when throwing an exception.
95 Thu Mar 21 17:32:46 CET 2002 Paolo Molaro <lupus@ximian.com>
97 * interp.c: intern strings before executing a method (and don't
98 intern command line arguments anymore). Add sanity checks in alloca
101 Sat Mar 16 19:15:18 CET 2002 Paolo Molaro <lupus@ximian.com>
103 * interp.c: restore frame on return from unmanaged calls.
104 Add support for continuing execution up to x IL insn.
105 Fix exception handling when an exception is raised in the catch
106 handler of the same method that issued the first one.
108 2002-03-11 Dietmar Maurer <dietmar@ximian.com>
110 * interp.c (ves_runtime_method): set method_info field
112 Mon Mar 11 14:48:07 CET 2002 Paolo Molaro <lupus@ximian.com>
114 * interp.c: corlib consistency checls moved to libmetadata.
116 Mon Mar 11 11:27:27 CET 2002 Paolo Molaro <lupus@ximian.com>
118 * interp.c: use the new facilities in debug-helpers to
119 disassemble CIL code and match method names to MonoMethods.
121 Thu Mar 7 17:20:59 CET 2002 Paolo Molaro <lupus@ximian.com>
123 * interp.c: Boehm-GC enable. Fix some overflow opcodes.
125 Tue Mar 5 18:12:40 CET 2002 Paolo Molaro <lupus@ximian.com>
127 * interp.c: fix non-debug build and some more opcode work.
129 Mon Mar 4 11:21:44 CET 2002 Paolo Molaro <lupus@ximian.com>
131 * interp.c: print the address of 'this' in tracing mode.
133 Thu Feb 28 19:18:59 CET 2002 Paolo Molaro <lupus@ximian.com>
135 * interp.c: add checks for more binary consistency.
137 2002-02-27 Dietmar Maurer <dietmar@ximian.com>
139 * interp.c (interp_mono_runtime_invoke): use alloca instead of g_new0
141 Tue Feb 26 11:43:34 CET 2002 Paolo Molaro <lupus@ximian.com>
143 * interp.c: added profiling for object creation.
145 Mon Feb 25 17:37:07 CET 2002 Paolo Molaro <lupus@ximian.com>
147 * interp.c: use correct value for guint64 max.
149 2002-02-22 Radek Doulik <rodo@ximian.com>
151 * interp.c: s/gulong/guint64 as it differs on ppc
153 Wed Feb 20 22:18:40 CET 2002 Paolo Molaro <lupus@ximian.com>
155 * interp.c: more complete runtime_invoke () implementation.
156 Fixed castclass/isinst to work correctly with arrays.
158 Tue Feb 19 20:21:14 CET 2002 Paolo Molaro <lupus@ximian.com>
160 * interp.c: implement the runtime_invoke function.
162 Mon Feb 18 15:49:20 CET 2002 Paolo Molaro <lupus@ximian.com>
164 * interp.c: fix alignment code. Make sure to init classes
165 in more cases. Command-line arguments are interned.
167 2002-02-16 Radek Doulik <rodo@ximian.com>
169 * interp.c (ves_exec_method): test type of sp [-1] instead of sp
170 [0], because sp [-1] is the value going to be shifted, fixed in
171 CEE_SHL, CEE_SHR, CEE_UN opcodes)
173 Sat Feb 16 12:00:24 CET 2002 Paolo Molaro <lupus@ximian.com>
175 * interp.c: fixed cut&paste error for ldind.r4 and ldind.r8.
177 Fri Feb 15 15:07:27 CET 2002 Paolo Molaro <lupus@ximian.com>
179 * interp.c: use strrchr instead of rindex. use _isnan and _finite on
182 2002-02-14 Jeffrey Stedfast <fejj@ximian.com>
184 * interp.c (ves_exec_method): replace
185 'g_assert (sp->type = VAL_VALUETA)' with
186 'g_assert (sp->type == VAL_VALUETA)' otherwise
187 the assert always passes. FIXME: should the test have been !=?
189 2002-02-14 Dietmar Maurer <dietmar@ximian.com>
191 * interp.c (stackval_from_data): fix for MONO_TYPE_PTR
193 Wed Feb 13 16:17:38 CET 2002 Paolo Molaro <lupus@ximian.com>
195 * interp.c: fixed newobj implementation for valuetypes bug found by
196 dietmar. sub.ovf dummy code.
198 Tue Feb 12 14:08:47 CET 2002 Paolo Molaro <lupus@ximian.com>
200 * hacks.h: check against redefining preprocessor symbol.
201 * interp.c: fix profile info to return more sensible results.
203 Mon Feb 11 13:05:29 CET 2002 Paolo Molaro <lupus@ximian.com>
205 * interp.c: added "die on exception" command line argument.
206 When we segfault, set the message in the exception to "Segmentation
207 fault" so people can recognise what's going on.
209 2002-02-10 Miguel de Icaza <miguel@ximian.com>
211 * interp.c (ves_exec_method): Compare the element_class type token
212 in the class we got as well, instead of the element class vs the
215 This fixes the invalid cast exceptions during unboxing
217 Fri Feb 8 13:01:03 CET 2002 Paolo Molaro <lupus@ximian.com>
219 * interp.c: use opcode information from libmetadata.
221 2002-02-05 Dietmar Maurer <dietmar@ximian.com>
223 * interp.c (ves_exec_method): CEE_UNBOX: use element_class for
226 2002-02-04 Dietmar Maurer <dietmar@ximian.com>
228 * interp.c (main): impl. __array_Address icall
230 Fri Feb 1 16:03:53 CET 2002 Paolo Molaro <lupus@ximian.com>
232 * interp.c: exception fixes. Use mono_method_pointer_get ()
233 to easy porting to other archs. Some support for overflow detection.
235 2002-01-25 Dietmar Maurer <dietmar@ximian.com>
237 * interp.c, jit.c (main): install runtime_exec_main handler
238 (main): bug fix - call TlsAlloc () before we execute code
240 2002-01-23 Dick Porter <dick@ximian.com>
242 * interp.c: Added some kludges to cope with CONV_OVF_I2,
243 CONV_OVF_I4 and ADD_OVF so that number formatting works. Also
244 initialise and cleanup the network support.
246 Thu Jan 10 20:59:59 CET 2002 Paolo Molaro <lupus@ximian.com>
248 * interp.c, interp.h: add a flag to mono_create_trampoline ()
249 to handle runtime methods.
251 Sat Jan 5 15:45:14 CET 2002 Paolo Molaro <lupus@ximian.com>
253 * interp.c: allow classname:method name in --debug argument.
254 Fix box opcode for valuetypes. Fix a few opcode to take a 16 bit
255 index instead of 32 (stloc, ldloc, starg, etc.).
257 Thu Jan 3 23:19:27 CET 2002 Paolo Molaro <lupus@ximian.com>
259 * interp.c: temporary mul.ovf, mul.ovf.un, add.ovf.un implementations
260 to get the compiler going.
262 Mon Dec 24 17:23:45 CET 2001 Paolo Molaro <lupus@ximian.com>
264 * interp.c: fix ldc.i8.
266 Thu Dec 20 20:09:48 CET 2001 Paolo Molaro <lupus@ximian.com>
268 * interp.c: fix delegate method invocation to handle both
269 static and instance methods.
271 Tue Dec 18 18:48:50 CET 2001 Paolo Molaro <lupus@ximian.com>
273 * interp.c: make segv_handler static, handle runtime methods in stack
276 Thu Dec 13 20:24:28 CET 2001 Paolo Molaro <lupus@ximian.com>
278 * interp.c: correctly handle exceptions generated in C code.
279 Install an handler for SIGSEGV. Bare-bones profiler and hook for the
282 Mon Dec 3 17:15:44 CET 2001 Paolo Molaro <lupus@ximian.com>
284 * interp.c: call mono_init() after registering internal calls.
286 2001-11-30 Dick Porter <dick@ximian.com>
288 * interp.c: Replace get_named_exception() with
289 mono_exception_from_name()
291 Fri Nov 30 12:05:21 CET 2001 Paolo Molaro <lupus@ximian.com>
293 * interp.c: calculate locals and args offsets only once
294 per method call. Cache trampoline code as well.
296 2001-11-23 Dietmar Maurer <dietmar@ximian.com>
298 * interp.c (ves_exec_method): bug fix for exception5.cs
300 Mon Nov 19 11:33:00 CET 2001 Paolo Molaro <lupus@ximian.com>
302 * interp.c: start adding support for handling exceptions across
303 managed/unmanaged boundaries. Cleanup Delegate method invocation.
304 Pass the correct target object in Delegate::Invoke and use the correct
305 'this' pointer in ldvirtftn (bugs pointed out by Dietmar).
307 Thu Nov 15 17:40:24 CET 2001 Paolo Molaro <lupus@ximian.com>
309 * interp.c: handle enums with underlying type different from int32.
310 More checks for C structs <-> C# objects consistency.
312 Wed Nov 14 19:23:00 CET 2001 Paolo Molaro <lupus@ximian.com>
314 * interp.c: move the stack frame dumping code to a function so it can
315 be called from the debugger. Fix virtual method lookup for interfaces.
316 Throw exceptions instead of aborting in more places.
317 Print also the message in an exception. Updates for field renames in
320 2001-11-09 Dick Porter <dick@ximian.com>
322 * Makefile.am (mint_LDADD): Don't need THREAD_LIBS any more
324 2001-11-07 Miguel de Icaza <miguel@ximian.com>
326 * interp.c: Include stdlib to kill warning.
327 (check_corlib): Adjust format encodings to remove warnings.
329 Wed Nov 7 15:47:36 CET 2001 Paolo Molaro <lupus@ximian.com>
331 * interp.c: updates for changes in array code.
333 Fri Nov 2 19:06:54 CET 2001 Paolo Molaro <lupus@ximian.com>
335 * interp.c: hanlde field refs. Throw an exception on NULL references.
336 Check consistency of corlib types with the C struct representation.
338 2001-10-25 Dietmar Maurer <dietmar@ximian.com>
340 * interp.c (ves_exec_method): use relative numbering for runtime
341 type checks (and make it work with interfaces)
343 2001-10-15 Dietmar Maurer <dietmar@ximian.com>
345 * interp.c: removed newobj()
347 2001-10-10 Dietmar Maurer <dietmar@ximian.com>
349 * interp.c (get_virtual_method): use the vtable
350 (arch_compile_method): added to compute vtable entry
352 Mon Oct 8 16:14:40 CEST 2001 Paolo Molaro <lupus@ximian.com>
354 * interp.c: use the accessors provided in object.h to deal with
355 MonoArrays. Updates for API renames in metadata. Throw exception
356 in ldelema if index is out of bounds.
358 Mon Oct 8 10:44:25 CEST 2001 Paolo Molaro <lupus@ximian.com>
360 * interp.c: fixes for changes in metadata.
362 2001-10-04 Dick Porter <dick@ximian.com>
364 * interp.c (ves_runtime_method): init_class() the
365 mono_defaults.delegate_class
366 Include mono-endian.h not endian.h
368 Tue Oct 2 18:51:25 CEST 2001 Paolo Molaro <lupus@ximian.com>
370 * interp.c: set frame->ip in the leave opcode. Make db_methods static.
372 Sun Sep 30 11:57:15 CEST 2001 Paolo Molaro <lupus@ximian.com>
374 * interp.c: compiler and ANSI C portability fixes.
376 Fri Sep 28 19:37:46 CEST 2001 Paolo Molaro <lupus@ximian.com>
378 * interp.c: Implemented ldtoken, conv.ovf.i. Use MonoClass->byval_arg
379 (and remove related kludges). Don't choke on access to arrays of
380 references. Throw an exception when an internalcall or P/Invoke
381 function don't have an implementation. Throw and EngineException
382 for unimplemented opcodes.
384 Tue Sep 25 11:12:35 CEST 2001 Paolo Molaro <lupus@ximian.com>
386 * interp.c: fixed get_virtual_method () to deal with interface
389 Mon Sep 24 18:50:25 CEST 2001 Paolo Molaro <lupus@ximian.com>
391 * interp.c: catch a few more error conditions with exceptions instead of
393 Don't use g_print() in stack traces because it doesn't work with
395 When we call an instance method of a valuetype class, unbox the 'this'
396 argument if it is an object.
397 Use mono_ldstr () to implement the ldstr opcode: it takes care of
398 interning the string if necessary.
399 Implemented new opcodes: ckfinite, cgt.un, clt.un, ldvirtftn, ldarga.
400 Fixes to handle NaNs when comparing doubles.
401 Make sure the loaded assembly has an entry point defined.
402 Fixed portability bugs in neg and not opcodes.
404 2001-09-24 Dietmar Maurer <dietmar@ximian.com>
406 * interp.c (ves_exec_method): LDC_I4: 8bit constants are signed
407 (ves_exec_method): bug fix for NOT/NEG
408 (main): fix bug in parameter parsing
410 2001-09-23 Dick Porter <dick@ximian.com>
412 * Makefile.am (mint_LDADD): rename PTHREAD_LIBS to THREAD_LIBS
414 2001-09-23 Dick Porter <dick@ximian.com>
416 * interp.c (main): Do some thread setup and cleanup around the
419 2001-09-21 Dick Porter <dick@ximian.com>
421 * Makefile.am (mint_LDADD): Added PTHREAD_LIBS to the link line
423 Thu Sep 20 16:32:42 CEST 2001 Paolo Molaro <lupus@ximian.com>
425 * interp.c: implemented some more opcodes: calli, rem.un,
426 shr.un, conv.u, cpobj, stobj, conv.r.un, conv.ovf.i1.un,
427 conv.ovf.i2.un, conv.ovf.i4.un, conv.ovf.i8.un, conv.ovf.i.un,
428 conv.ovf.u1.un, conv.ovf.u2.un, conv.ovf.u4.un, conv.ovf.u8.un,
430 Fix some 64 bit issues in the array element access code and a small bug.
431 Throw an exception on index out of range instead of asserting.
432 Throw an exception on a NULL array instead of dying.
433 Stomped a memory corruption bug (.cctor methods were freed after
434 executing them, but they are stores in MonoClass now...).
435 Added a simple facility to invoke the debugger when a named
436 function is entered (use the cmdline option --debug method_name).
437 * interp.h: fix 64 bit issue.
439 Tue Sep 18 13:21:33 CEST 2001 Paolo Molaro <lupus@ximian.com>
441 * interp.c: fix some 64 bit issues. Safer support for delegates.
443 2001-09-12 Miguel de Icaza <miguel@ximian.com>
445 * interp.c (ves_exec_method): implement conv.u8 opcode.
447 Mon Sep 10 20:20:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
449 * interp.c: endian fixes, comments.
451 Fri Sep 7 18:45:38 CEST 2001 Paolo Molaro <lupus@ximian.com>
453 * interp.c, interp.h: make ves_exec_method () and stackval_from_data ()
454 non static. Implement a couple of runtime methods needed to
455 use delegates (ves_runtime_method ()).
456 Implemented ldftn opcode.
458 Thu Sep 6 15:41:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
460 * Makefile.am: link to libmonoarch.
461 * interp.h, interp.c: use mono_create_trampoline ().
462 Pass the command line arguments to Main (String[]) methods.
464 2001-08-30 Dietmar Maurer <dietmar@ximian.com>
466 * interp.c (ves_pinvoke_method): removed the libffi dependency
468 2001-08-29 Dietmar Maurer <dietmar@ximian.com>
470 * interp.c (ves_array_set): moved from icall.c
471 (ves_array_get): moved from icall.c
473 * icall.c: moved to metadata/icall.c
475 Wed Aug 29 12:46:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
477 * interp.c: some small optimizations. Fixes to do signed
478 compares when needed. Change C++ comments into C.
479 Implemented cgt, clt. Added --opcode-count cmdline switch.
481 2001-08-28 Dietmar Maurer <dietmar@ximian.com>
483 * interp.c (ves_exec_method): better check for value types (get
484 the class to detect if we have a value type), implemented CEE_CONV_U1,
488 Mon Aug 27 21:30:30 CEST 2001 Paolo Molaro <lupus@ximian.com>
490 * interp.c: warn and exit when Main () expects the cmdline arguments
491 instead of creashing.
493 Mon Aug 27 20:16:37 CEST 2001 Paolo Molaro <lupus@ximian.com>
495 * interp.c: merge isinst/castclass handling. Hopefully implement
496 the right semantics for handling callvirt correctly (changes
497 here and there to support it). Integrate bugfix from Dietmar quickly
498 so he needs to handle the cvs conflict:-)
500 Mon Aug 27 12:20:32 CEST 2001 Paolo Molaro <lupus@ximian.com>
502 * interp.c: fix compilation and updates for changes in metadata/.
504 2001-08-26 Miguel de Icaza <miguel@ximian.com>
506 * interp.c (main): Add option handling for the interpreter,
507 support the `--trace' option.
509 Sun Aug 26 23:04:46 CEST 2001 Paolo Molaro <lupus@ximian.com>
511 * interp.c: get in a dummy virtual method dispatch.
512 Added support for int64, native int and native uint as arguments.
513 Added debug enter/leave for icall and pinvoke methods, too.
514 Implement opcodes conv.i, conv.i8, ldelema.
516 Sun Aug 26 11:37:30 CEST 2001 Paolo Molaro <lupus@ximian.com>
518 * interp.h, interp.c: load also a MonoClass pointer when we load
519 an address on the stack. Implemented conv.i1, conv.i2, con.i4,
520 conv.u4, conv.r4, conv.r8. Print the arguments in the stack trace
521 and the name of the exception.
523 Sat Aug 25 15:56:03 CEST 2001 Paolo Molaro <lupus@ximian.com>
525 * interp.c: Implemented some opcodes: starg.s, ldobj, isinst,
526 ldarg, starg, ldloc, ldloca, stloc, initobj, cpblk, sizeof.
528 Sat Aug 25 12:57:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
530 * interp.c: handle enumerations specially (not as valuetypes).
532 Fri Aug 24 19:34:04 CEST 2001 Paolo Molaro <lupus@ximian.com>
534 * interp.h, interp.c: add support for valuetypes.
536 Fri Aug 24 16:09:20 CEST 2001 Paolo Molaro <lupus@ximian.com>
538 * interp.c: updates for merge of MonoParam in MonoType.
540 Thu Aug 23 12:04:34 CEST 2001 Paolo Molaro <lupus@ximian.com>
542 * interp.c: removed beforefieldinit check, it's a useless flag.
543 Added a couple more test cases to tests/ dir.
545 2001-08-22 Miguel de Icaza <miguel@ximian.com>
547 * interp.c (usage): Add version information
548 (ves_pinvoke_method): Typo fix.
550 Wed Aug 22 20:37:51 CEST 2001 Paolo Molaro <lupus@ximian.com>
552 * interp.c: simplified init_class (). Make sure a class
553 is fully initialized before executing a method in the class.
554 Search for the class constructor only on beforefieldinit classes.
555 Implement a bunch of opcodes: br, brfalse, brtrue, beq, bge,
556 bgt, blt, ble, bne.un, bge.un, bgt.un, ble.un, blt.un, stind.i,
557 ldflda, ldsflda, ldelem.i8, stelem.i8, leave.
559 Wed Aug 22 16:34:03 CEST 2001 Paolo Molaro <lupus@ximian.com>
561 * interp.c: Updates for changes in metadata/. Better output in debug mode
562 and in the stack trace. Completed rethrow handling
564 Tue Aug 21 18:56:19 CEST 2001 Paolo Molaro <lupus@ximian.com>
566 * interp.c: new macro INIT_FRAME() to properly
567 initialize a MonoInvocation. Fixed a couple of buglets in exception code:
568 increase stack pointer when pushing the exception for catch blocks,
569 initialize frame->ex_handler to NULL, correctly try all the
570 catch blocks (don't incorrectly fallback on filter handling).
571 Added a couple more checks where we may need to throw an
572 exception. Added more exception creation functions.
573 Changed stackval_from_data() to take the target stackval as
574 argument. Implemented a couple more opcodes.
575 * interp.h: prepare stackval for value type code.
577 2001-08-21 Miguel de Icaza <miguel@ximian.com>
579 * Makefile.am (mint_LDADD): Renamed interpreter to mint.
581 2001-08-21 Dietmar Maurer <dietmar@ximian.com>
583 * interp.c (get_named_exception): use the right constructor.
585 Mon Aug 20 18:58:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
587 * interp.c: fix buglet with the leave.s opcode.
589 2001-08-20 Dietmar Maurer <dietmar@ximian.com>
591 * icall.c: changed everything to support the new calling convention
593 * hacks.h: added some macros for FreeBSD
595 * interp.c (get_named_exception): use mono_object_new instead of
596 newobj, initialize the stack before we call the constructor.
598 Sat Aug 18 12:43:38 CEST 2001 Paolo Molaro <lupus@ximian.com>
600 * interp.c, interp.h: added support code to create exceptions.
601 Changed interncal calling convnetion over to MonoInvocation, to support
602 exceptions, walking the stack back and forward and passing the 'this'
603 pointer separately (remove the cludges required before to pass this on the
604 stack). Use alloca heavily for both local vars and a copy of the incoming
605 arguments. Init local vars to zero.
606 Simplify stackval_from_data() and stackval_to_data() to only take a pointer
607 instead of pointer + offset.
608 Implement a few exceptions-related opcodes and the code to run finally, fault and
609 catch blocks as well as a stack trace if no handler is found.
611 2001-08-16 Alex Graveley <alex@ximian.com>
613 * Makefile.am (mono_int_LDADD): Link with ../../libffi/libffi.a
614 instead of ../../libffi/.libs/libffi.a.
616 2001-08-10 Dietmar Maurer <dietmar@ximian.com>
618 * interp.c (ves_exec_method): impl CASTCLASS
620 * icall.c: moved the internal call stuff to this file
622 * interp.c (ves_exec_method): impl. BOX/UNBOX
623 (ves_icall_System_Array_GetValue): impl.
624 (ves_icall_System_Array_SetValue): impl.
625 added myself to Authors
627 2001-08-09 Dietmar Maurer <dietmar@ximian.com>
629 * implemented arrays, but you will need a modified version of
630 Array.cs to get arrays working (will commit soon)
632 * interp.c (ves_icall_array_Set): impl.
633 (ves_icall_array_Get): impl.
634 (ves_icall_array_ctor): impl.
635 (ves_icall_System_Array_GetRank): impl.
636 (ves_icall_System_Array_GetLength): impl.
637 (ves_icall_System_Array_GetLowerBound): impl.
638 (mono_lookup_internal_call): impl.
640 2001-08-06 Dietmar Maurer <dietmar@ximian.com>
642 * interp.c (ves_exec_method): impl. NEWARR
643 (ves_exec_method): impl. most LDELEM/STELEM opcodes, LDLEN
645 (mono_get_ansi_string): impl.
646 (mono_lookup_internal_call): impl.
647 (ves_exec_method): implemented internal calls
649 2001-08-05 Dietmar Maurer <dietmar@ximian.com>
651 * interp.c (ves_pinvoke_method): removed all static vars.
653 2001-08-02 Dietmar Maurer <dietmar@ximian.com>
655 * interp.c (ves_exec_method): found a way to do unordered
656 compares, implemented CEE_BNE_UN_S, CEE_BGE_UN_S, CEE_BGT_UN_S,
657 CEE_BLE_UN_S, CEE_BLT_UN_S
659 Wed Aug 1 22:51:38 CEST 2001 Paolo Molaro <lupus@ximian.com>
661 * interp.c: handle also MONO_TYPE_CLASS to/from the stack.
662 Change locals to be a memory blob, instead of the structured
663 (but wrong) stackval. Implement bne.un.s opcode. Make the program
664 exit with the error code from Main().
666 2001-08-01 Dietmar Maurer <dietmar@ximian.com>
668 * interp.c (ves_exec_method): implemented LDSTR
670 2001-07-31 Miguel de Icaza <miguel@ximian.com>
672 * interp.c (GET_NATI): Switched from using nati_t to cli/types.h
673 m_i type. Maybe we should rename the types to be m_i_t instead of
676 Make the code compile after I broke it.
678 Tue Jul 31 23:46:33 CEST 2001 Paolo Molaro <lupus@ximian.com>
680 * interp.c: fix cleanup.
681 * Makefile.am: don't link with disassembler library.
683 2001-07-31 Miguel de Icaza <miguel@ximian.com>
685 (ves_exec_method): Cleanup of the source code.
687 Tue Jul 31 20:13:59 CEST 2001 Paolo Molaro <lupus@ximian.com>
689 * interp.c: implement stind.*, ldind.*, ldloca.s opcodes.
690 Provide better tracing with DEBUG_INTERP.
692 Tue Jul 31 17:52:53 CEST 2001 Paolo Molaro <lupus@ximian.com>
694 * interp.c: massive namespace cleanup.
696 Mon Jul 30 20:09:58 CEST 2001 Paolo Molaro <lupus@ximian.com>
698 * interp.c: update to use mono_method->name.
700 Fri Jul 27 20:54:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
702 * interp.c: start implementing callvirt. Classes with
703 class constructors are properly initialized when needed.
704 Fix error introduced in version 1.17.
706 Fri Jul 27 14:03:19 CEST 2001 Paolo Molaro <lupus@ximian.com>
708 * interp.c: implement static field loading and storing.
710 2001-07-27 Dietmar Maurer <dietmar@ximian.com>
712 * interp.c (ves_pinvoke_method): impl.
714 Fri Jul 27 11:49:19 CEST 2001 Paolo Molaro <lupus@ximian.com>
716 * interp.c: Removed some debugging printouts. Made stackval_to_data
717 static. Handle also instance methods in CALL opcode. Fix ret to properly
718 deal with void functions. Fixed constructor to leave the object on
721 Thu Jul 26 13:24:51 CEST 2001 Paolo Molaro <lupus@ximian.com>
723 * interp.c: ves_exec_method () doesn't take a MonoImage arg
724 anymore. Use the method cache in MonoImage. Updates to
725 mache recent changes in metadata.
726 Fix newobj code to use new metadata features. Call the class
727 constructor after allocationg the object. Implemented load field
728 and store field opcodes (the support functions need to be finished).
730 Tue Jul 24 16:51:09 CEST 2001 Paolo Molaro <lupus@ximian.com>
732 * interp.c, hacks.h: moved a few ugly macros out of the code.
733 Implemented switch opcode.
735 2001-07-23 Miguel de Icaza <miguel@ximian.com>
737 * interp.c (newobj): Added function to handle newobj opcode.
739 2001-07-18 Miguel de Icaza <miguel@ximian.com>
741 * interp.c (ves_exec_method): Make the interpreter abort with more
742 information than it currently does.
744 Enable the slow processor, as it is easier to debug.
746 Sun Jul 15 17:50:23 CEST 2001 Paolo Molaro <lupus@ximian.com>
749 * interp.c: use new mono_get_method () function to get the complete
750 info on a method invocation: we support now method invocation with
751 multiple (or zero) simple arguments and with or without a return value.
752 Implement also a couple more opcodes.