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