2 Thu Apr 4 11:36:52 CEST 2002 Paolo Molaro <lupus@ximian.com>
4 * interp.c: don't try to get an IL opcode for runtime and internal
7 Thu Mar 28 16:54:51 CET 2002 Paolo Molaro <lupus@ximian.com>
9 * interp.c: spring warning cleanup.
11 Thu Mar 28 12:03:28 CET 2002 Paolo Molaro <lupus@ximian.com>
13 * interp.c: check obj address in stfld.
15 2002-03-27 Dietmar Maurer <dietmar@ximian.com>
17 * interp.c (ves_exec_method): CASTCLASS: fix for transparent proxy
19 Tue Mar 26 20:09:10 CET 2002 Paolo Molaro <lupus@ximian.com>
21 * interp.c: set frame->ip before dumping the stack trace.
23 Tue Mar 26 19:54:45 CET 2002 Paolo Molaro <lupus@ximian.com>
25 * interp.c: remove glib mem vtable code.
27 2002-03-26 Dick Porter <dick@ximian.com>
29 * interp.c: Show thread ID's in trace output.
31 New option "--traceclassinit" to put debug output around
34 Make sure all options are displayed in usage().
36 Tue Mar 26 17:03:14 CET 2002 Paolo Molaro <lupus@ximian.com>
38 * interp.c: support fieldrefs when accessing instance fields.
40 Mon Mar 25 12:59:52 CET 2002 Paolo Molaro <lupus@ximian.com>
42 * interp.c: allow tracing to be done on a per-method basis.
43 Fix interp_mono_runtime_invoke() to deal correcttly with the return
44 value. Disable glib mem vtable setting.
46 Thu Mar 21 18:08:37 CET 2002 Paolo Molaro <lupus@ximian.com>
48 * interp.c: set stack trace info when throwing an exception.
50 Thu Mar 21 17:32:46 CET 2002 Paolo Molaro <lupus@ximian.com>
52 * interp.c: intern strings before executing a method (and don't
53 intern command line arguments anymore). Add sanity checks in alloca
56 Sat Mar 16 19:15:18 CET 2002 Paolo Molaro <lupus@ximian.com>
58 * interp.c: restore frame on return from unmanaged calls.
59 Add support for continuing execution up to x IL insn.
60 Fix exception handling when an exception is raised in the catch
61 handler of the same method that issued the first one.
63 2002-03-11 Dietmar Maurer <dietmar@ximian.com>
65 * interp.c (ves_runtime_method): set method_info field
67 Mon Mar 11 14:48:07 CET 2002 Paolo Molaro <lupus@ximian.com>
69 * interp.c: corlib consistency checls moved to libmetadata.
71 Mon Mar 11 11:27:27 CET 2002 Paolo Molaro <lupus@ximian.com>
73 * interp.c: use the new facilities in debug-helpers to
74 disassemble CIL code and match method names to MonoMethods.
76 Thu Mar 7 17:20:59 CET 2002 Paolo Molaro <lupus@ximian.com>
78 * interp.c: Boehm-GC enable. Fix some overflow opcodes.
80 Tue Mar 5 18:12:40 CET 2002 Paolo Molaro <lupus@ximian.com>
82 * interp.c: fix non-debug build and some more opcode work.
84 Mon Mar 4 11:21:44 CET 2002 Paolo Molaro <lupus@ximian.com>
86 * interp.c: print the address of 'this' in tracing mode.
88 Thu Feb 28 19:18:59 CET 2002 Paolo Molaro <lupus@ximian.com>
90 * interp.c: add checks for more binary consistency.
92 2002-02-27 Dietmar Maurer <dietmar@ximian.com>
94 * interp.c (interp_mono_runtime_invoke): use alloca instead of g_new0
96 Tue Feb 26 11:43:34 CET 2002 Paolo Molaro <lupus@ximian.com>
98 * interp.c: added profiling for object creation.
100 Mon Feb 25 17:37:07 CET 2002 Paolo Molaro <lupus@ximian.com>
102 * interp.c: use correct value for guint64 max.
104 2002-02-22 Radek Doulik <rodo@ximian.com>
106 * interp.c: s/gulong/guint64 as it differs on ppc
108 Wed Feb 20 22:18:40 CET 2002 Paolo Molaro <lupus@ximian.com>
110 * interp.c: more complete runtime_invoke () implementation.
111 Fixed castclass/isinst to work correctly with arrays.
113 Tue Feb 19 20:21:14 CET 2002 Paolo Molaro <lupus@ximian.com>
115 * interp.c: implement the runtime_invoke function.
117 Mon Feb 18 15:49:20 CET 2002 Paolo Molaro <lupus@ximian.com>
119 * interp.c: fix alignment code. Make sure to init classes
120 in more cases. Command-line arguments are interned.
122 2002-02-16 Radek Doulik <rodo@ximian.com>
124 * interp.c (ves_exec_method): test type of sp [-1] instead of sp
125 [0], because sp [-1] is the value going to be shifted, fixed in
126 CEE_SHL, CEE_SHR, CEE_UN opcodes)
128 Sat Feb 16 12:00:24 CET 2002 Paolo Molaro <lupus@ximian.com>
130 * interp.c: fixed cut&paste error for ldind.r4 and ldind.r8.
132 Fri Feb 15 15:07:27 CET 2002 Paolo Molaro <lupus@ximian.com>
134 * interp.c: use strrchr instead of rindex. use _isnan and _finite on
137 2002-02-14 Jeffrey Stedfast <fejj@ximian.com>
139 * interp.c (ves_exec_method): replace
140 'g_assert (sp->type = VAL_VALUETA)' with
141 'g_assert (sp->type == VAL_VALUETA)' otherwise
142 the assert always passes. FIXME: should the test have been !=?
144 2002-02-14 Dietmar Maurer <dietmar@ximian.com>
146 * interp.c (stackval_from_data): fix for MONO_TYPE_PTR
148 Wed Feb 13 16:17:38 CET 2002 Paolo Molaro <lupus@ximian.com>
150 * interp.c: fixed newobj implementation for valuetypes bug found by
151 dietmar. sub.ovf dummy code.
153 Tue Feb 12 14:08:47 CET 2002 Paolo Molaro <lupus@ximian.com>
155 * hacks.h: check against redefining preprocessor symbol.
156 * interp.c: fix profile info to return more sensible results.
158 Mon Feb 11 13:05:29 CET 2002 Paolo Molaro <lupus@ximian.com>
160 * interp.c: added "die on exception" command line argument.
161 When we segfault, set the message in the exception to "Segmentation
162 fault" so people can recognise what's going on.
164 2002-02-10 Miguel de Icaza <miguel@ximian.com>
166 * interp.c (ves_exec_method): Compare the element_class type token
167 in the class we got as well, instead of the element class vs the
170 This fixes the invalid cast exceptions during unboxing
172 Fri Feb 8 13:01:03 CET 2002 Paolo Molaro <lupus@ximian.com>
174 * interp.c: use opcode information from libmetadata.
176 2002-02-05 Dietmar Maurer <dietmar@ximian.com>
178 * interp.c (ves_exec_method): CEE_UNBOX: use element_class for
181 2002-02-04 Dietmar Maurer <dietmar@ximian.com>
183 * interp.c (main): impl. __array_Address icall
185 Fri Feb 1 16:03:53 CET 2002 Paolo Molaro <lupus@ximian.com>
187 * interp.c: exception fixes. Use mono_method_pointer_get ()
188 to easy porting to other archs. Some support for overflow detection.
190 2002-01-25 Dietmar Maurer <dietmar@ximian.com>
192 * interp.c, jit.c (main): install runtime_exec_main handler
193 (main): bug fix - call TlsAlloc () before we execute code
195 2002-01-23 Dick Porter <dick@ximian.com>
197 * interp.c: Added some kludges to cope with CONV_OVF_I2,
198 CONV_OVF_I4 and ADD_OVF so that number formatting works. Also
199 initialise and cleanup the network support.
201 Thu Jan 10 20:59:59 CET 2002 Paolo Molaro <lupus@ximian.com>
203 * interp.c, interp.h: add a flag to mono_create_trampoline ()
204 to handle runtime methods.
206 Sat Jan 5 15:45:14 CET 2002 Paolo Molaro <lupus@ximian.com>
208 * interp.c: allow classname:method name in --debug argument.
209 Fix box opcode for valuetypes. Fix a few opcode to take a 16 bit
210 index instead of 32 (stloc, ldloc, starg, etc.).
212 Thu Jan 3 23:19:27 CET 2002 Paolo Molaro <lupus@ximian.com>
214 * interp.c: temporary mul.ovf, mul.ovf.un, add.ovf.un implementations
215 to get the compiler going.
217 Mon Dec 24 17:23:45 CET 2001 Paolo Molaro <lupus@ximian.com>
219 * interp.c: fix ldc.i8.
221 Thu Dec 20 20:09:48 CET 2001 Paolo Molaro <lupus@ximian.com>
223 * interp.c: fix delegate method invocation to handle both
224 static and instance methods.
226 Tue Dec 18 18:48:50 CET 2001 Paolo Molaro <lupus@ximian.com>
228 * interp.c: make segv_handler static, handle runtime methods in stack
231 Thu Dec 13 20:24:28 CET 2001 Paolo Molaro <lupus@ximian.com>
233 * interp.c: correctly handle exceptions generated in C code.
234 Install an handler for SIGSEGV. Bare-bones profiler and hook for the
237 Mon Dec 3 17:15:44 CET 2001 Paolo Molaro <lupus@ximian.com>
239 * interp.c: call mono_init() after registering internal calls.
241 2001-11-30 Dick Porter <dick@ximian.com>
243 * interp.c: Replace get_named_exception() with
244 mono_exception_from_name()
246 Fri Nov 30 12:05:21 CET 2001 Paolo Molaro <lupus@ximian.com>
248 * interp.c: calculate locals and args offsets only once
249 per method call. Cache trampoline code as well.
251 2001-11-23 Dietmar Maurer <dietmar@ximian.com>
253 * interp.c (ves_exec_method): bug fix for exception5.cs
255 Mon Nov 19 11:33:00 CET 2001 Paolo Molaro <lupus@ximian.com>
257 * interp.c: start adding support for handling exceptions across
258 managed/unmanaged boundaries. Cleanup Delegate method invocation.
259 Pass the correct target object in Delegate::Invoke and use the correct
260 'this' pointer in ldvirtftn (bugs pointed out by Dietmar).
262 Thu Nov 15 17:40:24 CET 2001 Paolo Molaro <lupus@ximian.com>
264 * interp.c: handle enums with underlying type different from int32.
265 More checks for C structs <-> C# objects consistency.
267 Wed Nov 14 19:23:00 CET 2001 Paolo Molaro <lupus@ximian.com>
269 * interp.c: move the stack frame dumping code to a function so it can
270 be called from the debugger. Fix virtual method lookup for interfaces.
271 Throw exceptions instead of aborting in more places.
272 Print also the message in an exception. Updates for field renames in
275 2001-11-09 Dick Porter <dick@ximian.com>
277 * Makefile.am (mint_LDADD): Don't need THREAD_LIBS any more
279 2001-11-07 Miguel de Icaza <miguel@ximian.com>
281 * interp.c: Include stdlib to kill warning.
282 (check_corlib): Adjust format encodings to remove warnings.
284 Wed Nov 7 15:47:36 CET 2001 Paolo Molaro <lupus@ximian.com>
286 * interp.c: updates for changes in array code.
288 Fri Nov 2 19:06:54 CET 2001 Paolo Molaro <lupus@ximian.com>
290 * interp.c: hanlde field refs. Throw an exception on NULL references.
291 Check consistency of corlib types with the C struct representation.
293 2001-10-25 Dietmar Maurer <dietmar@ximian.com>
295 * interp.c (ves_exec_method): use relative numbering for runtime
296 type checks (and make it work with interfaces)
298 2001-10-15 Dietmar Maurer <dietmar@ximian.com>
300 * interp.c: removed newobj()
302 2001-10-10 Dietmar Maurer <dietmar@ximian.com>
304 * interp.c (get_virtual_method): use the vtable
305 (arch_compile_method): added to compute vtable entry
307 Mon Oct 8 16:14:40 CEST 2001 Paolo Molaro <lupus@ximian.com>
309 * interp.c: use the accessors provided in object.h to deal with
310 MonoArrays. Updates for API renames in metadata. Throw exception
311 in ldelema if index is out of bounds.
313 Mon Oct 8 10:44:25 CEST 2001 Paolo Molaro <lupus@ximian.com>
315 * interp.c: fixes for changes in metadata.
317 2001-10-04 Dick Porter <dick@ximian.com>
319 * interp.c (ves_runtime_method): init_class() the
320 mono_defaults.delegate_class
321 Include mono-endian.h not endian.h
323 Tue Oct 2 18:51:25 CEST 2001 Paolo Molaro <lupus@ximian.com>
325 * interp.c: set frame->ip in the leave opcode. Make db_methods static.
327 Sun Sep 30 11:57:15 CEST 2001 Paolo Molaro <lupus@ximian.com>
329 * interp.c: compiler and ANSI C portability fixes.
331 Fri Sep 28 19:37:46 CEST 2001 Paolo Molaro <lupus@ximian.com>
333 * interp.c: Implemented ldtoken, conv.ovf.i. Use MonoClass->byval_arg
334 (and remove related kludges). Don't choke on access to arrays of
335 references. Throw an exception when an internalcall or P/Invoke
336 function don't have an implementation. Throw and EngineException
337 for unimplemented opcodes.
339 Tue Sep 25 11:12:35 CEST 2001 Paolo Molaro <lupus@ximian.com>
341 * interp.c: fixed get_virtual_method () to deal with interface
344 Mon Sep 24 18:50:25 CEST 2001 Paolo Molaro <lupus@ximian.com>
346 * interp.c: catch a few more error conditions with exceptions instead of
348 Don't use g_print() in stack traces because it doesn't work with
350 When we call an instance method of a valuetype class, unbox the 'this'
351 argument if it is an object.
352 Use mono_ldstr () to implement the ldstr opcode: it takes care of
353 interning the string if necessary.
354 Implemented new opcodes: ckfinite, cgt.un, clt.un, ldvirtftn, ldarga.
355 Fixes to handle NaNs when comparing doubles.
356 Make sure the loaded assembly has an entry point defined.
357 Fixed portability bugs in neg and not opcodes.
359 2001-09-24 Dietmar Maurer <dietmar@ximian.com>
361 * interp.c (ves_exec_method): LDC_I4: 8bit constants are signed
362 (ves_exec_method): bug fix for NOT/NEG
363 (main): fix bug in parameter parsing
365 2001-09-23 Dick Porter <dick@ximian.com>
367 * Makefile.am (mint_LDADD): rename PTHREAD_LIBS to THREAD_LIBS
369 2001-09-23 Dick Porter <dick@ximian.com>
371 * interp.c (main): Do some thread setup and cleanup around the
374 2001-09-21 Dick Porter <dick@ximian.com>
376 * Makefile.am (mint_LDADD): Added PTHREAD_LIBS to the link line
378 Thu Sep 20 16:32:42 CEST 2001 Paolo Molaro <lupus@ximian.com>
380 * interp.c: implemented some more opcodes: calli, rem.un,
381 shr.un, conv.u, cpobj, stobj, conv.r.un, conv.ovf.i1.un,
382 conv.ovf.i2.un, conv.ovf.i4.un, conv.ovf.i8.un, conv.ovf.i.un,
383 conv.ovf.u1.un, conv.ovf.u2.un, conv.ovf.u4.un, conv.ovf.u8.un,
385 Fix some 64 bit issues in the array element access code and a small bug.
386 Throw an exception on index out of range instead of asserting.
387 Throw an exception on a NULL array instead of dying.
388 Stomped a memory corruption bug (.cctor methods were freed after
389 executing them, but they are stores in MonoClass now...).
390 Added a simple facility to invoke the debugger when a named
391 function is entered (use the cmdline option --debug method_name).
392 * interp.h: fix 64 bit issue.
394 Tue Sep 18 13:21:33 CEST 2001 Paolo Molaro <lupus@ximian.com>
396 * interp.c: fix some 64 bit issues. Safer support for delegates.
398 2001-09-12 Miguel de Icaza <miguel@ximian.com>
400 * interp.c (ves_exec_method): implement conv.u8 opcode.
402 Mon Sep 10 20:20:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
404 * interp.c: endian fixes, comments.
406 Fri Sep 7 18:45:38 CEST 2001 Paolo Molaro <lupus@ximian.com>
408 * interp.c, interp.h: make ves_exec_method () and stackval_from_data ()
409 non static. Implement a couple of runtime methods needed to
410 use delegates (ves_runtime_method ()).
411 Implemented ldftn opcode.
413 Thu Sep 6 15:41:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
415 * Makefile.am: link to libmonoarch.
416 * interp.h, interp.c: use mono_create_trampoline ().
417 Pass the command line arguments to Main (String[]) methods.
419 2001-08-30 Dietmar Maurer <dietmar@ximian.com>
421 * interp.c (ves_pinvoke_method): removed the libffi dependency
423 2001-08-29 Dietmar Maurer <dietmar@ximian.com>
425 * interp.c (ves_array_set): moved from icall.c
426 (ves_array_get): moved from icall.c
428 * icall.c: moved to metadata/icall.c
430 Wed Aug 29 12:46:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
432 * interp.c: some small optimizations. Fixes to do signed
433 compares when needed. Change C++ comments into C.
434 Implemented cgt, clt. Added --opcode-count cmdline switch.
436 2001-08-28 Dietmar Maurer <dietmar@ximian.com>
438 * interp.c (ves_exec_method): better check for value types (get
439 the class to detect if we have a value type), implemented CEE_CONV_U1,
443 Mon Aug 27 21:30:30 CEST 2001 Paolo Molaro <lupus@ximian.com>
445 * interp.c: warn and exit when Main () expects the cmdline arguments
446 instead of creashing.
448 Mon Aug 27 20:16:37 CEST 2001 Paolo Molaro <lupus@ximian.com>
450 * interp.c: merge isinst/castclass handling. Hopefully implement
451 the right semantics for handling callvirt correctly (changes
452 here and there to support it). Integrate bugfix from Dietmar quickly
453 so he needs to handle the cvs conflict:-)
455 Mon Aug 27 12:20:32 CEST 2001 Paolo Molaro <lupus@ximian.com>
457 * interp.c: fix compilation and updates for changes in metadata/.
459 2001-08-26 Miguel de Icaza <miguel@ximian.com>
461 * interp.c (main): Add option handling for the interpreter,
462 support the `--trace' option.
464 Sun Aug 26 23:04:46 CEST 2001 Paolo Molaro <lupus@ximian.com>
466 * interp.c: get in a dummy virtual method dispatch.
467 Added support for int64, native int and native uint as arguments.
468 Added debug enter/leave for icall and pinvoke methods, too.
469 Implement opcodes conv.i, conv.i8, ldelema.
471 Sun Aug 26 11:37:30 CEST 2001 Paolo Molaro <lupus@ximian.com>
473 * interp.h, interp.c: load also a MonoClass pointer when we load
474 an address on the stack. Implemented conv.i1, conv.i2, con.i4,
475 conv.u4, conv.r4, conv.r8. Print the arguments in the stack trace
476 and the name of the exception.
478 Sat Aug 25 15:56:03 CEST 2001 Paolo Molaro <lupus@ximian.com>
480 * interp.c: Implemented some opcodes: starg.s, ldobj, isinst,
481 ldarg, starg, ldloc, ldloca, stloc, initobj, cpblk, sizeof.
483 Sat Aug 25 12:57:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
485 * interp.c: handle enumerations specially (not as valuetypes).
487 Fri Aug 24 19:34:04 CEST 2001 Paolo Molaro <lupus@ximian.com>
489 * interp.h, interp.c: add support for valuetypes.
491 Fri Aug 24 16:09:20 CEST 2001 Paolo Molaro <lupus@ximian.com>
493 * interp.c: updates for merge of MonoParam in MonoType.
495 Thu Aug 23 12:04:34 CEST 2001 Paolo Molaro <lupus@ximian.com>
497 * interp.c: removed beforefieldinit check, it's a useless flag.
498 Added a couple more test cases to tests/ dir.
500 2001-08-22 Miguel de Icaza <miguel@ximian.com>
502 * interp.c (usage): Add version information
503 (ves_pinvoke_method): Typo fix.
505 Wed Aug 22 20:37:51 CEST 2001 Paolo Molaro <lupus@ximian.com>
507 * interp.c: simplified init_class (). Make sure a class
508 is fully initialized before executing a method in the class.
509 Search for the class constructor only on beforefieldinit classes.
510 Implement a bunch of opcodes: br, brfalse, brtrue, beq, bge,
511 bgt, blt, ble, bne.un, bge.un, bgt.un, ble.un, blt.un, stind.i,
512 ldflda, ldsflda, ldelem.i8, stelem.i8, leave.
514 Wed Aug 22 16:34:03 CEST 2001 Paolo Molaro <lupus@ximian.com>
516 * interp.c: Updates for changes in metadata/. Better output in debug mode
517 and in the stack trace. Completed rethrow handling
519 Tue Aug 21 18:56:19 CEST 2001 Paolo Molaro <lupus@ximian.com>
521 * interp.c: new macro INIT_FRAME() to properly
522 initialize a MonoInvocation. Fixed a couple of buglets in exception code:
523 increase stack pointer when pushing the exception for catch blocks,
524 initialize frame->ex_handler to NULL, correctly try all the
525 catch blocks (don't incorrectly fallback on filter handling).
526 Added a couple more checks where we may need to throw an
527 exception. Added more exception creation functions.
528 Changed stackval_from_data() to take the target stackval as
529 argument. Implemented a couple more opcodes.
530 * interp.h: prepare stackval for value type code.
532 2001-08-21 Miguel de Icaza <miguel@ximian.com>
534 * Makefile.am (mint_LDADD): Renamed interpreter to mint.
536 2001-08-21 Dietmar Maurer <dietmar@ximian.com>
538 * interp.c (get_named_exception): use the right constructor.
540 Mon Aug 20 18:58:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
542 * interp.c: fix buglet with the leave.s opcode.
544 2001-08-20 Dietmar Maurer <dietmar@ximian.com>
546 * icall.c: changed everything to support the new calling convention
548 * hacks.h: added some macros for FreeBSD
550 * interp.c (get_named_exception): use mono_object_new instead of
551 newobj, initialize the stack before we call the constructor.
553 Sat Aug 18 12:43:38 CEST 2001 Paolo Molaro <lupus@ximian.com>
555 * interp.c, interp.h: added support code to create exceptions.
556 Changed interncal calling convnetion over to MonoInvocation, to support
557 exceptions, walking the stack back and forward and passing the 'this'
558 pointer separately (remove the cludges required before to pass this on the
559 stack). Use alloca heavily for both local vars and a copy of the incoming
560 arguments. Init local vars to zero.
561 Simplify stackval_from_data() and stackval_to_data() to only take a pointer
562 instead of pointer + offset.
563 Implement a few exceptions-related opcodes and the code to run finally, fault and
564 catch blocks as well as a stack trace if no handler is found.
566 2001-08-16 Alex Graveley <alex@ximian.com>
568 * Makefile.am (mono_int_LDADD): Link with ../../libffi/libffi.a
569 instead of ../../libffi/.libs/libffi.a.
571 2001-08-10 Dietmar Maurer <dietmar@ximian.com>
573 * interp.c (ves_exec_method): impl CASTCLASS
575 * icall.c: moved the internal call stuff to this file
577 * interp.c (ves_exec_method): impl. BOX/UNBOX
578 (ves_icall_System_Array_GetValue): impl.
579 (ves_icall_System_Array_SetValue): impl.
580 added myself to Authors
582 2001-08-09 Dietmar Maurer <dietmar@ximian.com>
584 * implemented arrays, but you will need a modified version of
585 Array.cs to get arrays working (will commit soon)
587 * interp.c (ves_icall_array_Set): impl.
588 (ves_icall_array_Get): impl.
589 (ves_icall_array_ctor): impl.
590 (ves_icall_System_Array_GetRank): impl.
591 (ves_icall_System_Array_GetLength): impl.
592 (ves_icall_System_Array_GetLowerBound): impl.
593 (mono_lookup_internal_call): impl.
595 2001-08-06 Dietmar Maurer <dietmar@ximian.com>
597 * interp.c (ves_exec_method): impl. NEWARR
598 (ves_exec_method): impl. most LDELEM/STELEM opcodes, LDLEN
600 (mono_get_ansi_string): impl.
601 (mono_lookup_internal_call): impl.
602 (ves_exec_method): implemented internal calls
604 2001-08-05 Dietmar Maurer <dietmar@ximian.com>
606 * interp.c (ves_pinvoke_method): removed all static vars.
608 2001-08-02 Dietmar Maurer <dietmar@ximian.com>
610 * interp.c (ves_exec_method): found a way to do unordered
611 compares, implemented CEE_BNE_UN_S, CEE_BGE_UN_S, CEE_BGT_UN_S,
612 CEE_BLE_UN_S, CEE_BLT_UN_S
614 Wed Aug 1 22:51:38 CEST 2001 Paolo Molaro <lupus@ximian.com>
616 * interp.c: handle also MONO_TYPE_CLASS to/from the stack.
617 Change locals to be a memory blob, instead of the structured
618 (but wrong) stackval. Implement bne.un.s opcode. Make the program
619 exit with the error code from Main().
621 2001-08-01 Dietmar Maurer <dietmar@ximian.com>
623 * interp.c (ves_exec_method): implemented LDSTR
625 2001-07-31 Miguel de Icaza <miguel@ximian.com>
627 * interp.c (GET_NATI): Switched from using nati_t to cli/types.h
628 m_i type. Maybe we should rename the types to be m_i_t instead of
631 Make the code compile after I broke it.
633 Tue Jul 31 23:46:33 CEST 2001 Paolo Molaro <lupus@ximian.com>
635 * interp.c: fix cleanup.
636 * Makefile.am: don't link with disassembler library.
638 2001-07-31 Miguel de Icaza <miguel@ximian.com>
640 (ves_exec_method): Cleanup of the source code.
642 Tue Jul 31 20:13:59 CEST 2001 Paolo Molaro <lupus@ximian.com>
644 * interp.c: implement stind.*, ldind.*, ldloca.s opcodes.
645 Provide better tracing with DEBUG_INTERP.
647 Tue Jul 31 17:52:53 CEST 2001 Paolo Molaro <lupus@ximian.com>
649 * interp.c: massive namespace cleanup.
651 Mon Jul 30 20:09:58 CEST 2001 Paolo Molaro <lupus@ximian.com>
653 * interp.c: update to use mono_method->name.
655 Fri Jul 27 20:54:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
657 * interp.c: start implementing callvirt. Classes with
658 class constructors are properly initialized when needed.
659 Fix error introduced in version 1.17.
661 Fri Jul 27 14:03:19 CEST 2001 Paolo Molaro <lupus@ximian.com>
663 * interp.c: implement static field loading and storing.
665 2001-07-27 Dietmar Maurer <dietmar@ximian.com>
667 * interp.c (ves_pinvoke_method): impl.
669 Fri Jul 27 11:49:19 CEST 2001 Paolo Molaro <lupus@ximian.com>
671 * interp.c: Removed some debugging printouts. Made stackval_to_data
672 static. Handle also instance methods in CALL opcode. Fix ret to properly
673 deal with void functions. Fixed constructor to leave the object on
676 Thu Jul 26 13:24:51 CEST 2001 Paolo Molaro <lupus@ximian.com>
678 * interp.c: ves_exec_method () doesn't take a MonoImage arg
679 anymore. Use the method cache in MonoImage. Updates to
680 mache recent changes in metadata.
681 Fix newobj code to use new metadata features. Call the class
682 constructor after allocationg the object. Implemented load field
683 and store field opcodes (the support functions need to be finished).
685 Tue Jul 24 16:51:09 CEST 2001 Paolo Molaro <lupus@ximian.com>
687 * interp.c, hacks.h: moved a few ugly macros out of the code.
688 Implemented switch opcode.
690 2001-07-23 Miguel de Icaza <miguel@ximian.com>
692 * interp.c (newobj): Added function to handle newobj opcode.
694 2001-07-18 Miguel de Icaza <miguel@ximian.com>
696 * interp.c (ves_exec_method): Make the interpreter abort with more
697 information than it currently does.
699 Enable the slow processor, as it is easier to debug.
701 Sun Jul 15 17:50:23 CEST 2001 Paolo Molaro <lupus@ximian.com>
704 * interp.c: use new mono_get_method () function to get the complete
705 info on a method invocation: we support now method invocation with
706 multiple (or zero) simple arguments and with or without a return value.
707 Implement also a couple more opcodes.