This commit was manufactured by cvs2svn to create branch 'mono-1-0'.
[mono.git] / mono / interpreter / ChangeLog
1 2004-06-24  David Waite  <mass@akuma.org>
2
3         * interp.c:  change to C90-style comments from C99/C++-style
4
5 Mon Jun 21 14:06:03 CEST 2004 Paolo Molaro <lupus@ximian.com>
6
7         * interp.h: API updates.
8
9 2004-05-21  Bernie Solomon  <bernard@ugsolutions.com>
10
11         * transform.c: ignore new LMF opcodes 
12
13 2004-05-20  Lluis Sanchez Gual  <lluis@ximian.com>
14
15         * interp.c, interp.h: Use the new methods for handling thread.abort.
16
17 2004-05-04  Zoltan Varga  <vargaz@freemail.hu>
18
19         * interp.c (ves_exec_method_with_context): Disable explicit assignment
20         of 'esi' to the ip variable, since it causes register allocation errors
21         on some versions of gcc. Fixes #58010.
22
23 2004-04-29  Bernie Solomon  <bernard@ugsolutions.com>
24
25         * transform.c (generate): missed a couple
26         of places that should use ADD_CODE so buffer
27         gets grown properly.
28
29         * interp.c (interp_mono_runtime_invoke): 
30         restore state better on catching exception
31         via longjmp here
32
33 2004-04-29  Bernie Solomon  <bernard@ugsolutions.com>
34
35         * transform.c:
36         * interp.c:
37         Implement STARG for valuetypes as mcs needs it.
38
39 2004-04-28  Bernie Solomon  <bernard@ugsolutions.com>
40
41         * transform.c: Make sure ENSURE_I4 is called on
42         32 bit machines too. 
43         (mono_interp_transform_method): allow some stack
44         space for tracing to work.
45
46 2004-04-26  David Waite  <mass@akuma.org>
47
48         * interp.h: remove comma from end of enumeration constants
49         declarations
50
51 2004-04-21  Bernie Solomon  <bernard@ugsolutions.com>
52
53         * interp.h: put in space for old type field
54         for PPC as tramp.c assumes it. Quick fix until that's fixed.
55
56         * interp.c: reenable instruction tracing for DEBUG_INTERP
57
58 2004-04-19  Bernie Solomon  <bernard@ugsolutions.com>
59
60         * Makefile.am:
61         * interp.h:
62         * interp.c: now interprets different VM code
63         * mintops.h:
64         * mintops.def:
65         * mintops.c: definition of new VM code
66         * transform.c: convert CIL to new VM code
67
68 2004-04-14  Zoltan Varga  <vargaz@freemail.hu>
69
70         * interp.c (ves_exec_method_with_context): Add support for STRWLPARRAY 
71         marshalling convention.
72
73 2004-03-29  Bernie Solomon  <bernard@ugsolutions.com>
74
75         * interp.c interp.h: remove child from MonoInvocation
76         as it isn't used.
77
78 2004-03-25  Martin Baulig  <martin@ximian.com>
79
80         * interp.c (stackval_from_data): Added MONO_TYPE_GENERICINST.
81         (stackval_to_data): Added MONO_TYPE_GENERICINST.
82         (calc_offsets): Use mono_class_get_full() and mono_get_method_full().
83         (ves_exec_method_with_context): Likewise.
84
85 2004-03-04  Lluis Sanchez Gual <lluis@ximian.com>
86
87         * interp.c: Get the type of transparent proxies from its remote_class.
88
89 2004-02-02  Zoltan Varga  <vargaz@freemail.hu>
90
91         * interp.c (ves_exec_method_with_context): Add new marshalling 
92         conventions.
93
94 2004-01-22  Zoltan Varga  <vargaz@freemail.hu>
95
96         * interp.c (mono_main): Remove call to mono_verify_corlib (), since
97         the verification code is not up-to-date.
98
99 2004-01-19  Bernie Solomon  <bernard@ugsolutions.com>
100
101         * interp.c (ves_exec_method_with_context):
102         get_native_wrapper removed and  call 
103         mono_marshal_get_native_wrapper directly
104         with new DllNotFoundException handling
105
106 Mon Jan 19 17:52:33 CET 2004 Paolo Molaro <lupus@ximian.com>
107
108         * interp.c: eliminate CSIZE macro.
109
110 2004-01-15  Zoltan Varga  <vargaz@freemail.hu>
111
112         * interp.c (ves_array_set): Check for ArrayTypeMismatchException.
113
114 2004-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
115
116         * interp.c: call setlocale (). Fixes bug #52100.
117
118 2003-12-19  Bernie Solomon  <bernard@ugsolutions.com>
119
120         * embed.h, main.c: new files to enable embedding
121         the interpreter
122
123         * interp.c: make main callable from main.c
124         rearrange main for embedding
125
126         * Makefile.am: changes now most code is in a library
127
128 2003-11-21  Lluis Sanchez Gual <lluis@ximian.com>
129
130         * interp.c: Added support for context static fields.
131
132 2003-10-31  Zoltan Varga  <vargaz@freemail.hu>
133
134         * interp.c (mono_create_method_pointer): New function which contains
135         the arch independent part of method wrapper creation. Add a cache
136         for the wrapper code, since Delegate::Equals depends on the wrapper
137         address being constant for a method. Fixes #50366.
138
139 2003-10-30  Bernie Solomon  <bernard@ugsolutions.com>
140
141         * interp.c: (ves_exec_method_with_context)
142         we need to lookup internal calls now.
143         don't free type in CEE_SIZEOF.
144         fix CEE_NEWOBJ inside wrapper methods
145
146 2003-10-24  Zoltan Varga  <vargaz@freemail.hu>
147
148         * interp.c: Update after appdomain changes.
149
150 2003-10-13  Bernie Solomon  <bernard@ugsolutions.com>
151
152         * interp.c - set large stack size on HP 64bit
153
154 2003-10-02  Bernie Solomon  <bernard@ugsolutions.com>
155
156         * hacks.h - work round HP 64 bit problem with isunordered
157
158 2003-10-03  Zoltan Varga  <vargaz@freemail.hu>
159
160         * interp.c (dump_frame): Avoid crash on frames without a method. Patch
161         sam@superduper.net (sam clegg). Fixes #46197.
162         (ves_exec_method_with_context): Fix unbox casting.
163
164 2003-09-25  Bernie Solomon  <bernard@ugsolutions.com>
165
166         * interp.c - reinstate use of mono_marshal_get_delegate_invoke
167         for ordering and fix CALLI to handle wrapper. More wrapper handling
168         in CALL and LDSTR. Add another string conversion case.
169
170 2003-09-25  Zoltan Varga  <vargaz@freemail.hu>
171
172         * interp.c (ves_exec_method): Fix warning.
173         (ves_exec_method_with_context): Fix CGT_UN and CLT_UN. Patch by
174         David Waite (mass@akuma.org).
175
176 2003-9-24  Bernie Solomon  <bernard@ugsolutions.com>
177
178         * interp.c: I broke calling native delegates reinstate
179         old code for the moment.
180
181 2003-9-22  Bernie Solomon  <bernard@ugsolutions.com>
182
183         * interp.c: use mono_marshal_get_delegate_invoke to get delegate 
184         invocation order consistent. Fix THROW_EX, fix ip in overflow 
185         exceptions.
186
187 Fri Sep 12 10:42:08 CEST 2003 Paolo Molaro <lupus@ximian.com>
188
189         * interp.c, interp.h: patch from Bernie Solomon <bernard@ugsolutions.com>:
190         64 bit/opcodes/exception handling fixes.
191
192 2003-08-30  Zoltan Varga  <vargaz@freemail.hu>
193
194         * interp.c: Use mono_field_from_token () in the appropriate places.
195         This simplifies the code and also fixes #48051.
196
197 2003-08-27  Zoltan Varga  <vargaz@freemail.hu>
198
199         * interp.c (main): Fix the order of initialization calls so it maches 
200         the order in the JIT.Patch by Bernie Solomon (bernard@ugsolutions.com).
201         Also remove the unused ms mutex.
202         
203         * interp.c: Get rid of metadata_section.
204         
205 2003-08-22  Zoltan Varga  <vargaz@freemail.hu>
206
207         * interp.c (main): Call g_thread_init () to make glib thread-safe. 
208         Fixes #47682. Thanks to Laurent Morichetti (l_m@pacbell.net) for 
209         reporting this.
210
211 2003-08-18  Zoltan Varga  <vargaz@freemail.hu>
212
213         * interp.c: Get rid of duplicate definition of CHECK_MUL_OVERFLOW.
214         * interp.h interp.c: Get rid of VAL_VALUETA, use VAL_MP instead. Fix
215         the INITOBJ opcode which was the only user of VALUETA.
216
217 2003-08-16  Zoltan Varga  <vargaz@freemail.hu>
218
219         * interp.c (ves_exec_method): Implemented mul.ovf correctly for int32
220         and int64. Implement the conv.ovf opcodes for all argument types.
221
222 2003-08-15  Zoltan Varga  <vargaz@freemail.hu>
223
224         * interp.c (ves_exec_method): Handle non-valuetypes in CEE_STOBJ.
225         Fixes #46781.
226         (ves_exec_method): Added support for the synchronized flag to the
227         interpreter. Also fixed the CALLI opcode, and made exception handling
228         work though the managed-unmanaged barrier.
229
230 Fri Jul 25 19:06:27 CEST 2003 Paolo Molaro <lupus@ximian.com>
231
232         * interp.c: updates for new instructions.
233
234 2003-07-22  Zoltan Varga  <vargaz@freemail.hu>
235
236         * interp.c: Use the new metadata_section lock instead of metadata_lock.
237         Patch by Bernie Solomon (bernard@ugsolutions.com).
238
239 Fri Jul 18 15:11:44 CEST 2003 Paolo Molaro <lupus@ximian.com>
240
241         * interp.c: 64 bit fixes from Laurent Morichetti <l_m@pacbell.net>.
242         Install cleanup function.
243
244 2003-07-13  Zoltan Varga  <vargaz@freemail.hu>
245
246         * interp.c: Keep alloca()-d data on a free list to prevent stack
247         overflow errors when valuetypes are allocated in a loop. Fixes
248         #27420. Is the new code still faster than using malloc/free ?
249
250         * interp.c (ves_array_get): Add index checking to ves_array_get/set.
251         Fixes decimal-array.exe.
252
253         * interp.c (interp_mono_runtime_invoke): Unbox value type instances
254         before calling the method. Fixes appdomain2.exe.
255
256         * interp.c: Fix warnings.
257         
258         * interp.c: Report unhandled exceptions correctly.
259
260         * interp.c: Implement CEE_ISINST and CEE_CASTCLASS using 
261         mono_object_isinst. Fixes bug #45539 and reflection-enum.exe.
262
263 Tue May 27 16:36:41 CEST 2003 Paolo Molaro <lupus@ximian.com>
264
265         * interp.c: don't use relative numbering stuff.
266
267 Tue May 27 12:18:44 CEST 2003 Paolo Molaro <lupus@ximian.com>
268
269         * interp.c: update for mono_class_vtable() changes.
270
271 Tue May 13 16:43:18 CEST 2003 Paolo Molaro <lupus@ximian.com>
272
273         * interp.c: handle thread static fields.
274
275 Sun Apr 27 13:27:59 CEST 2003 Paolo Molaro <lupus@ximian.com>
276
277         * interp.c: check for arraytypemismatch.
278
279 2003-04-23  Martin Baulig  <martin@ximian.com>
280
281         * interp.c: When running with --dieonex, use the debugging code to
282         print source lines in the backtrace.
283
284 2003-02-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
285
286         * interp.c: added a dummy mono_runtime_install_handlers function to
287         avoid crashing when ves_pinvoke_method tries to call it.
288
289 2003-02-06  Piers Haken <piersh@friskit.com>
290
291         * interp.c: warning cleanups
292
293 2002-11-15  Dick Porter  <dick@ximian.com>
294
295         * interp.c: mono_runtime_init() now has an extra parameter for
296         thread attaching.
297
298 2002-10-31  Dick Porter  <dick@ximian.com>
299
300         * Makefile.am: The previous automake-1.6 fix broke automake-1.4 on
301         cygwin.  Try again.
302
303 2002-09-27  Dick Porter  <dick@ximian.com>
304
305         * interp.c: Tell glib what the program name is, by passing it the
306         name of the managed file we're executing
307
308 2002-08-28  Dick Porter  <dick@ximian.com>
309
310         * interp.c: mono_set_rootdir() doesnt take any args now
311
312         * Makefile.am: Export HOST_CC and turn on optimisation for w32 builds
313
314 2002-08-28  Nick Drochak  <ndrochak@gol.com>
315
316         * interp.c: check and throw exception if needed for overflow on 
317         multiplication of integer types.
318
319 2002-08-07  Dietmar Maurer  <dietmar@ximian.com>
320
321         * interp.c (interp_walk_stack): removed the createdelegate icall
322
323 2002-08-02  Dietmar Maurer  <dietmar@ximian.com>
324
325         * interp.c (get_virtual_method): support proxies
326         (ves_exec_method): impl. LDFLD/STFLD for proxies.
327
328 Fri Aug 2 13:00:41 CEST 2002 Paolo Molaro <lupus@ximian.com>
329
330         * interp.c, interp.h: implemented exception trap for runtime_invoke
331         and handle exceptions across managed/unmanaged boundaries.
332
333 2002-08-01  Dietmar Maurer  <dietmar@ximian.com>
334
335         * interp.c (stackval_from_data): add pinvoke argument
336         (stackval_to_data): add pinvoke argument. We need consider the
337         fact that unmanages structures may have different sizes.
338         (ves_pinvoke_method): do not call stackval_from_data if the result
339         is a value type.
340
341 Wed Jul 31 17:47:11 CEST 2002 Paolo Molaro <lupus@ximian.com>
342
343         * interp.c: simplified some more branch code.
344
345 Wed Jul 31 16:50:42 CEST 2002 Paolo Molaro <lupus@ximian.com>
346
347         * interp.c: fixed indentation, simplified some code.
348
349 Wed Jul 31 14:29:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
350
351         * interp.c: fix so that mint can at least get to executing Main().
352
353 2002-07-31  Dietmar Maurer  <dietmar@ximian.com>
354
355         * interp.c: use the new marshaling code. better delegate/remoting 
356         support.
357         (ves_exec_method): bug fix - directly jump to handle_exception.
358
359 2002-07-29  Dietmar Maurer  <dietmar@ximian.com>
360
361         * interp.c (main): install compile_method handler
362
363 Wed Jul 24 13:02:12 CEST 2002 Paolo Molaro <lupus@ximian.com>
364
365         * interp.c: implemented stack walking function.
366
367 Fri Jul 19 14:21:18 CEST 2002 Paolo Molaro <lupus@ximian.com>
368
369         * interp.c: fix float boxing on LE systems.
370
371 Sat Jul 13 19:54:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
372
373         * interp.c: advance ip in conv.r.un.
374
375 2002-07-01  Dick Porter  <dick@ximian.com>
376
377         * interp.c (ves_exec): Removed unneeded argument to
378         mono_runtime_run_main()
379
380 2002-06-25  Dick Porter  <dick@ximian.com>
381
382         * interp.c (ves_exec): Pass the assembly to mono_runtime_run_main
383
384 Wed Jun 19 17:01:37 CEST 2002 Paolo Molaro <lupus@ximian.com>
385
386         * interp.c: un-broke after stack trace changes.
387
388 Fri May 31 16:17:20 CEST 2002 Paolo Molaro <lupus@ximian.com>
389
390         * interp.c, hacks.h: compiler compatibility fixes.
391
392 Fri May 31 13:25:57 CEST 2002 Paolo Molaro <lupus@ximian.com>
393
394         * interp.c, mint.1: added --config command line option.
395
396 Thu May 30 14:14:16 CEST 2002 Paolo Molaro <lupus@ximian.com>
397
398         * interp.c: lookup P/Invoke method addr only when needed.
399
400 2002-05-29  Dietmar Maurer  <dietmar@ximian.com>
401
402         * interp.c (ves_exec_method): free type in CEE_SIZEOF
403
404 Tue May 28 16:10:49 CEST 2002 Paolo Molaro <lupus@ximian.com>
405
406         * interp.c: fixed SIZEOF to work with typedef/typeref.
407
408 Fri May 24 15:33:50 CEST 2002 Paolo Molaro <lupus@ximian.com>
409
410         * interp.c: added partial async delegate and remoting support.
411
412 Thu May 23 18:45:38 CEST 2002 Paolo Molaro <lupus@ximian.com>
413
414         * interp.c: special case string ctors in invoke.
415         Handle null object in throw. Misc integer type mismatch fixes.
416
417 2002-05-23  Dietmar Maurer  <dietmar@ximian.com>
418
419         * interp.c (ves_runtime_method): share more code with the jit.
420
421 Wed May 22 12:31:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
422
423         * interp.c: fixed finally handling. In trace mode show
424         exception handling operations and the contents of the stack in the same
425         line as the executing instruction.
426
427 2002-05-20  Miguel de Icaza  <miguel@ximian.com>
428
429         * interp.c: Updated help display.
430
431 2002-05-20  Radek Doulik  <rodo@ximian.com>
432
433         * interp.c (dump_stack): print boxed values for --noptr
434         (ves_exec_method): use stackval_to_data as pointed out by lupus
435
436 2002-05-17  Radek Doulik  <rodo@ximian.com>
437
438         * interp.c (dump_stack): if --noptr then print content of strings
439         in form [str:<printed string>]
440
441 2002-05-16  Radek Doulik  <rodo@ximian.com>
442
443         * interp.c (ves_exec_method): use data.i instead of data.l in i32
444         case
445         (ves_exec_method): set type in I64 <--> I32 conversions
446
447 2002-05-15  Radek Doulik  <rodo@ximian.com>
448
449         * interp.c (ves_runtime_method): moved stackval_from_data call
450         inside #else branch, consulted on irc with lupus
451
452 2002-05-15  Dietmar Maurer  <dietmar@ximian.com>
453
454         * interp.c (ves_exec_method): use new mono_unhandled_exception()
455
456 2002-05-14  Radek Doulik  <rodo@ximian.com>
457
458         * interp.c: introduced new --noptr option to suppres pointer
459         address printing. I find this useful for comparing trace outputs
460         while porting to ppc
461
462 Tue May 14 16:37:55 CEST 2002 Paolo Molaro <lupus@ximian.com>
463
464         * interp.c: some finally handling fixes and compilation fixes for
465         changes in the runtime lib.
466
467 2002-04-30  Dick Porter  <dick@ximian.com>
468
469         * interp.c: Tell glib to not abort when g_log() etc print
470         recursively
471
472 Mon Apr 22 16:52:03 CEST 2002 Paolo Molaro <lupus@ximian.com>
473
474         * interp.c: handle muslticast delegates. Implement a couple more
475         convert opcodes. Pretend we spend some time jitting...
476
477 2002-04-20  Dietmar Maurer  <dietmar@ximian.com>
478
479         * interp.c (ves_exec_method): support internalcall String constructors
480
481 2002-04-19  Dan Lewis  <dihlewis@yahoo.co.uk>
482         
483         * interp.c: support for new szarray format.
484
485 Tue Apr 16 20:12:58 CEST 2002 Paolo Molaro <lupus@ximian.com>
486
487         * interp.c: removed profiling code (moved to common library).
488         Implemented inlining for some special methods.
489
490 2002-04-15      Patrik Torstensson <patrik.torstensson@labs2.com>
491
492         * interp.c: Using fullnames when adding icall's (array)
493
494 Wed Apr 10 16:07:23 CEST 2002 Paolo Molaro <lupus@ximian.com>
495
496         * interp.c: quick implementation for opcodes needed by the new parse
497         routines in corlib.
498
499 Tue Apr 9 13:08:26 CEST 2002 Paolo Molaro <lupus@ximian.com>
500
501         * interp.c: make the interp thread-safe wrt the metadata lib.
502
503 Mon Apr 8 17:15:48 CEST 2002 Paolo Molaro <lupus@ximian.com>
504
505         * interp.c: display return value with --trace.
506         Call mono_runtime_init ().
507
508 2002-04-06  Dietmar Maurer  <dietmar@ximian.com>
509
510         * interp.c (interp_mono_runtime_invoke): handle more types,
511         removed runtime_exec_main
512
513 Thu Apr 4 11:36:52 CEST 2002 Paolo Molaro <lupus@ximian.com>
514
515         * interp.c: don't try to get an IL opcode for runtime and internal
516         call methods.
517
518 Thu Mar 28 16:54:51 CET 2002 Paolo Molaro <lupus@ximian.com>
519
520         * interp.c: spring warning cleanup.
521
522 Thu Mar 28 12:03:28 CET 2002 Paolo Molaro <lupus@ximian.com>
523
524         * interp.c: check obj address in stfld.
525
526 2002-03-27  Dietmar Maurer  <dietmar@ximian.com>
527
528         * interp.c (ves_exec_method): CASTCLASS: fix for transparent proxy
529
530 Tue Mar 26 20:09:10 CET 2002 Paolo Molaro <lupus@ximian.com>
531
532         * interp.c: set frame->ip before dumping the stack trace.
533
534 Tue Mar 26 19:54:45 CET 2002 Paolo Molaro <lupus@ximian.com>
535
536         * interp.c: remove glib mem vtable code.
537
538 2002-03-26  Dick Porter  <dick@ximian.com>
539
540         * interp.c: Show thread ID's in trace output.
541                 
542         New option "--traceclassinit" to put debug output around
543         runtime_class_init().
544
545         Make sure all options are displayed in usage().
546
547 Tue Mar 26 17:03:14 CET 2002 Paolo Molaro <lupus@ximian.com>
548
549         * interp.c: support fieldrefs when accessing instance fields.
550
551 Mon Mar 25 12:59:52 CET 2002 Paolo Molaro <lupus@ximian.com>
552
553         * interp.c: allow tracing to be done on a per-method basis.
554         Fix interp_mono_runtime_invoke() to deal correcttly with the return
555         value. Disable glib mem vtable setting.
556
557 Thu Mar 21 18:08:37 CET 2002 Paolo Molaro <lupus@ximian.com>
558
559         * interp.c: set stack trace info when throwing an exception.
560
561 Thu Mar 21 17:32:46 CET 2002 Paolo Molaro <lupus@ximian.com>
562
563         * interp.c: intern strings before executing a method (and don't 
564         intern command line arguments anymore). Add sanity checks in alloca
565         use.
566
567 Sat Mar 16 19:15:18 CET 2002 Paolo Molaro <lupus@ximian.com>
568
569         * interp.c: restore frame on return from unmanaged calls.
570         Add support for continuing execution up to x IL insn.
571         Fix exception handling when an exception is raised in the catch
572         handler of the same method that issued the first one.
573
574 2002-03-11  Dietmar Maurer  <dietmar@ximian.com>
575
576         * interp.c (ves_runtime_method): set method_info field
577
578 Mon Mar 11 14:48:07 CET 2002 Paolo Molaro <lupus@ximian.com>
579
580         * interp.c: corlib consistency checls moved to libmetadata.
581
582 Mon Mar 11 11:27:27 CET 2002 Paolo Molaro <lupus@ximian.com>
583
584         * interp.c: use the new facilities in debug-helpers to
585         disassemble CIL code and match method names to MonoMethods.
586
587 Thu Mar 7 17:20:59 CET 2002 Paolo Molaro <lupus@ximian.com>
588
589         * interp.c: Boehm-GC enable. Fix some overflow opcodes.
590
591 Tue Mar 5 18:12:40 CET 2002 Paolo Molaro <lupus@ximian.com>
592
593         * interp.c: fix non-debug build and some more opcode work.
594
595 Mon Mar 4 11:21:44 CET 2002 Paolo Molaro <lupus@ximian.com>
596
597         * interp.c: print the address of 'this' in tracing mode.
598
599 Thu Feb 28 19:18:59 CET 2002 Paolo Molaro <lupus@ximian.com>
600
601         * interp.c: add checks for more binary consistency.
602
603 2002-02-27  Dietmar Maurer  <dietmar@ximian.com>
604
605         * interp.c (interp_mono_runtime_invoke): use alloca instead of g_new0
606
607 Tue Feb 26 11:43:34 CET 2002 Paolo Molaro <lupus@ximian.com>
608
609         * interp.c: added profiling for object creation.
610
611 Mon Feb 25 17:37:07 CET 2002 Paolo Molaro <lupus@ximian.com>
612
613         * interp.c: use correct value for guint64 max.
614
615 2002-02-22  Radek Doulik  <rodo@ximian.com>
616
617         * interp.c: s/gulong/guint64 as it differs on ppc
618
619 Wed Feb 20 22:18:40 CET 2002 Paolo Molaro <lupus@ximian.com>
620
621         * interp.c: more complete runtime_invoke () implementation.
622         Fixed castclass/isinst to work correctly with arrays.
623
624 Tue Feb 19 20:21:14 CET 2002 Paolo Molaro <lupus@ximian.com>
625
626         * interp.c: implement the runtime_invoke function.
627
628 Mon Feb 18 15:49:20 CET 2002 Paolo Molaro <lupus@ximian.com>
629
630         * interp.c: fix alignment code. Make sure to init classes
631         in more cases. Command-line arguments are interned.
632
633 2002-02-16  Radek Doulik  <rodo@ximian.com>
634
635         * interp.c (ves_exec_method): test type of sp [-1] instead of sp
636         [0], because sp [-1] is the value going to be shifted, fixed in
637         CEE_SHL, CEE_SHR, CEE_UN opcodes)
638
639 Sat Feb 16 12:00:24 CET 2002 Paolo Molaro <lupus@ximian.com>
640
641         * interp.c: fixed cut&paste error for ldind.r4 and ldind.r8.
642
643 Fri Feb 15 15:07:27 CET 2002 Paolo Molaro <lupus@ximian.com>
644
645         * interp.c: use strrchr instead of rindex. use _isnan and _finite on
646         win32 systems.
647
648 2002-02-14  Jeffrey Stedfast  <fejj@ximian.com>
649
650         * interp.c (ves_exec_method): replace 
651         'g_assert (sp->type = VAL_VALUETA)' with 
652         'g_assert (sp->type == VAL_VALUETA)' otherwise
653         the assert always passes. FIXME: should the test have been !=?
654
655 2002-02-14  Dietmar Maurer  <dietmar@ximian.com>
656
657         * interp.c (stackval_from_data): fix for MONO_TYPE_PTR
658
659 Wed Feb 13 16:17:38 CET 2002 Paolo Molaro <lupus@ximian.com>
660
661         * interp.c: fixed newobj implementation for valuetypes bug found by
662         dietmar. sub.ovf dummy code.
663
664 Tue Feb 12 14:08:47 CET 2002 Paolo Molaro <lupus@ximian.com>
665
666         * hacks.h: check against redefining preprocessor symbol.
667         * interp.c: fix profile info to return more sensible results.
668
669 Mon Feb 11 13:05:29 CET 2002 Paolo Molaro <lupus@ximian.com>
670
671         * interp.c: added "die on exception" command line argument.
672         When we segfault, set the message in the exception to "Segmentation
673         fault" so people can recognise what's going on.
674
675 2002-02-10  Miguel de Icaza  <miguel@ximian.com>
676
677         * interp.c (ves_exec_method): Compare the element_class type token
678         in the class we got as well, instead of the element class vs the
679         toplevel class.
680
681         This fixes the invalid cast exceptions during unboxing
682
683 Fri Feb 8 13:01:03 CET 2002 Paolo Molaro <lupus@ximian.com>
684
685         * interp.c: use opcode information from libmetadata.
686
687 2002-02-05  Dietmar Maurer  <dietmar@ximian.com>
688
689         * interp.c (ves_exec_method): CEE_UNBOX: use element_class for
690         type check.
691
692 2002-02-04  Dietmar Maurer  <dietmar@ximian.com>
693
694         * interp.c (main): impl. __array_Address icall
695
696 Fri Feb 1 16:03:53 CET 2002 Paolo Molaro <lupus@ximian.com>
697
698         * interp.c: exception fixes. Use mono_method_pointer_get ()
699         to easy porting to other archs. Some support for overflow detection.
700
701 2002-01-25  Dietmar Maurer  <dietmar@ximian.com>
702
703         * interp.c, jit.c (main): install runtime_exec_main handler
704         (main): bug fix - call TlsAlloc () before we execute code
705
706 2002-01-23  Dick Porter  <dick@ximian.com>
707
708         * interp.c: Added some kludges to cope with CONV_OVF_I2,
709         CONV_OVF_I4 and ADD_OVF so that number formatting works.  Also
710         initialise and cleanup the network support.
711
712 Thu Jan 10 20:59:59 CET 2002 Paolo Molaro <lupus@ximian.com>
713
714         * interp.c, interp.h: add a flag to mono_create_trampoline ()
715         to handle runtime methods.
716
717 Sat Jan 5 15:45:14 CET 2002 Paolo Molaro <lupus@ximian.com>
718
719         * interp.c: allow classname:method name in --debug argument.
720         Fix box opcode for valuetypes. Fix a few opcode to take a 16 bit
721         index instead of 32 (stloc, ldloc, starg, etc.).
722
723 Thu Jan 3 23:19:27 CET 2002 Paolo Molaro <lupus@ximian.com>
724
725         * interp.c: temporary mul.ovf, mul.ovf.un, add.ovf.un implementations
726         to get the compiler going.
727
728 Mon Dec 24 17:23:45 CET 2001 Paolo Molaro <lupus@ximian.com>
729
730         * interp.c: fix ldc.i8.
731
732 Thu Dec 20 20:09:48 CET 2001 Paolo Molaro <lupus@ximian.com>
733
734         * interp.c: fix delegate method invocation to handle both
735         static and instance methods.
736
737 Tue Dec 18 18:48:50 CET 2001 Paolo Molaro <lupus@ximian.com>
738
739         * interp.c: make segv_handler static, handle runtime methods in stack
740         trace.
741
742 Thu Dec 13 20:24:28 CET 2001 Paolo Molaro <lupus@ximian.com>
743
744         * interp.c: correctly handle exceptions generated in C code.
745         Install an handler for SIGSEGV. Bare-bones profiler and hook for the
746         verifier.
747
748 Mon Dec 3 17:15:44 CET 2001 Paolo Molaro <lupus@ximian.com>
749
750         * interp.c: call mono_init() after registering internal calls.
751
752 2001-11-30  Dick Porter  <dick@ximian.com>
753
754         * interp.c: Replace get_named_exception() with
755         mono_exception_from_name()
756
757 Fri Nov 30 12:05:21 CET 2001 Paolo Molaro <lupus@ximian.com>
758
759         * interp.c: calculate locals and args offsets only once
760         per method call. Cache trampoline code as well.
761
762 2001-11-23  Dietmar Maurer  <dietmar@ximian.com>
763
764         * interp.c (ves_exec_method): bug fix for exception5.cs
765
766 Mon Nov 19 11:33:00 CET 2001 Paolo Molaro <lupus@ximian.com>
767
768         * interp.c: start adding support for handling exceptions across
769         managed/unmanaged boundaries. Cleanup Delegate method invocation.
770         Pass the correct target object in Delegate::Invoke and use the correct
771         'this' pointer in ldvirtftn (bugs pointed out by Dietmar).
772
773 Thu Nov 15 17:40:24 CET 2001 Paolo Molaro <lupus@ximian.com>
774
775         * interp.c: handle enums with underlying type different from int32.
776         More checks for C structs <-> C# objects consistency.
777
778 Wed Nov 14 19:23:00 CET 2001 Paolo Molaro <lupus@ximian.com>
779
780         * interp.c: move the stack frame dumping code to a function so it can
781         be called from the debugger. Fix virtual method lookup for interfaces.
782         Throw exceptions instead of aborting in more places.
783         Print also the message in an exception. Updates for field renames in
784         corlib.
785
786 2001-11-09  Dick Porter  <dick@ximian.com>
787
788         * Makefile.am (mint_LDADD): Don't need THREAD_LIBS any more
789
790 2001-11-07  Miguel de Icaza  <miguel@ximian.com>
791
792         * interp.c: Include stdlib to kill warning.
793         (check_corlib): Adjust format encodings to remove warnings.
794
795 Wed Nov 7 15:47:36 CET 2001 Paolo Molaro <lupus@ximian.com>
796
797         * interp.c: updates for changes in array code.
798
799 Fri Nov 2 19:06:54 CET 2001 Paolo Molaro <lupus@ximian.com>
800
801         * interp.c: hanlde field refs. Throw an exception on NULL references.
802         Check consistency of corlib types with the C struct representation.
803
804 2001-10-25  Dietmar Maurer  <dietmar@ximian.com>
805
806         * interp.c (ves_exec_method): use relative numbering for runtime
807         type checks (and make it work with interfaces)
808
809 2001-10-15  Dietmar Maurer  <dietmar@ximian.com>
810
811         * interp.c: removed newobj()
812
813 2001-10-10  Dietmar Maurer  <dietmar@ximian.com>
814
815         * interp.c (get_virtual_method): use the vtable
816         (arch_compile_method): added to compute vtable entry
817
818 Mon Oct 8 16:14:40 CEST 2001 Paolo Molaro <lupus@ximian.com>
819
820         * interp.c: use the accessors provided in object.h to deal with
821         MonoArrays. Updates for API renames in metadata. Throw exception
822         in ldelema if index is out of bounds.
823
824 Mon Oct 8 10:44:25 CEST 2001 Paolo Molaro <lupus@ximian.com>
825
826         * interp.c: fixes for changes in metadata.
827
828 2001-10-04  Dick Porter  <dick@ximian.com>
829
830         * interp.c (ves_runtime_method): init_class() the
831         mono_defaults.delegate_class
832         Include mono-endian.h not endian.h
833
834 Tue Oct 2 18:51:25 CEST 2001 Paolo Molaro <lupus@ximian.com>
835
836         * interp.c: set frame->ip in the leave opcode. Make db_methods static.
837
838 Sun Sep 30 11:57:15 CEST 2001 Paolo Molaro <lupus@ximian.com>
839
840         * interp.c: compiler and ANSI C portability fixes.
841
842 Fri Sep 28 19:37:46 CEST 2001 Paolo Molaro <lupus@ximian.com>
843
844         * interp.c: Implemented ldtoken, conv.ovf.i. Use MonoClass->byval_arg
845         (and remove related kludges). Don't choke on access to arrays of
846         references. Throw an exception when an internalcall or P/Invoke
847         function don't have an implementation. Throw and EngineException
848         for unimplemented opcodes.
849
850 Tue Sep 25 11:12:35 CEST 2001 Paolo Molaro <lupus@ximian.com>
851
852         * interp.c: fixed get_virtual_method () to deal with interface
853         methods better.
854
855 Mon Sep 24 18:50:25 CEST 2001 Paolo Molaro <lupus@ximian.com>
856
857         * interp.c: catch a few more error conditions with exceptions instead of
858         erroring out.
859         Don't use g_print() in stack traces because it doesn't work with
860         some float values.
861         When we call an instance method of a valuetype class, unbox the 'this'
862         argument if it is an object.
863         Use mono_ldstr () to implement the ldstr opcode: it takes care of
864         interning the string if necessary.
865         Implemented new opcodes: ckfinite, cgt.un, clt.un, ldvirtftn, ldarga.
866         Fixes to handle NaNs when comparing doubles.
867         Make sure the loaded assembly has an entry point defined.
868         Fixed portability bugs in neg and not opcodes.
869
870 2001-09-24  Dietmar Maurer  <dietmar@ximian.com>
871
872         * interp.c (ves_exec_method): LDC_I4: 8bit constants are signed
873         (ves_exec_method): bug fix for NOT/NEG
874         (main): fix bug in parameter parsing
875
876 2001-09-23  Dick Porter  <dick@ximian.com>
877
878         * Makefile.am (mint_LDADD): rename PTHREAD_LIBS to THREAD_LIBS
879
880 2001-09-23  Dick Porter  <dick@ximian.com>
881
882         * interp.c (main): Do some thread setup and cleanup around the
883         call to ves_exec()
884
885 2001-09-21  Dick Porter  <dick@ximian.com>
886
887         * Makefile.am (mint_LDADD): Added PTHREAD_LIBS to the link line
888
889 Thu Sep 20 16:32:42 CEST 2001 Paolo Molaro <lupus@ximian.com>
890
891         * interp.c: implemented some more opcodes: calli, rem.un,
892         shr.un, conv.u, cpobj, stobj, conv.r.un, conv.ovf.i1.un,
893         conv.ovf.i2.un, conv.ovf.i4.un, conv.ovf.i8.un, conv.ovf.i.un,
894         conv.ovf.u1.un, conv.ovf.u2.un, conv.ovf.u4.un, conv.ovf.u8.un,
895         conv.ovf.u.un.
896         Fix some 64 bit issues in the array element access code and a small bug.
897         Throw an exception on index out of range instead of asserting.
898         Throw an exception on a NULL array instead of dying.
899         Stomped a memory corruption bug (.cctor methods were freed after
900         executing them, but they are stores in MonoClass now...).
901         Added a simple facility to invoke the debugger when a named
902         function is entered (use the cmdline option --debug method_name).
903         * interp.h: fix 64 bit issue.
904
905 Tue Sep 18 13:21:33 CEST 2001 Paolo Molaro <lupus@ximian.com>
906
907         * interp.c: fix some 64 bit issues. Safer support for delegates.
908
909 2001-09-12  Miguel de Icaza  <miguel@ximian.com>
910
911         * interp.c (ves_exec_method): implement conv.u8 opcode. 
912
913 Mon Sep 10 20:20:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
914
915         * interp.c: endian fixes, comments.
916
917 Fri Sep 7 18:45:38 CEST 2001 Paolo Molaro <lupus@ximian.com>
918
919         * interp.c, interp.h: make ves_exec_method () and stackval_from_data ()
920         non static. Implement a couple of runtime methods needed to
921         use delegates (ves_runtime_method ()).
922         Implemented ldftn opcode.
923
924 Thu Sep 6 15:41:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
925
926         * Makefile.am: link to libmonoarch.
927         * interp.h, interp.c: use mono_create_trampoline ().
928         Pass the command line arguments to Main (String[]) methods.
929
930 2001-08-30  Dietmar Maurer  <dietmar@ximian.com>
931
932         * interp.c (ves_pinvoke_method): removed the libffi dependency
933
934 2001-08-29  Dietmar Maurer  <dietmar@ximian.com>
935
936         * interp.c (ves_array_set): moved from icall.c
937         (ves_array_get): moved from icall.c
938
939         * icall.c: moved to metadata/icall.c
940
941 Wed Aug 29 12:46:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
942
943         * interp.c: some small optimizations. Fixes to do signed
944         compares when needed. Change C++ comments into C.
945         Implemented cgt, clt. Added --opcode-count cmdline switch.
946
947 2001-08-28  Dietmar Maurer  <dietmar@ximian.com>
948
949         * interp.c (ves_exec_method): better check for value types (get
950         the class to detect if we have a value type), implemented CEE_CONV_U1,
951         CEE_CONV_U2, CEE_CEQ
952         
953
954 Mon Aug 27 21:30:30 CEST 2001 Paolo Molaro <lupus@ximian.com>
955
956         * interp.c: warn and exit when Main () expects the cmdline arguments
957         instead of creashing.
958
959 Mon Aug 27 20:16:37 CEST 2001 Paolo Molaro <lupus@ximian.com>
960
961         * interp.c: merge isinst/castclass handling. Hopefully implement
962         the right semantics for handling callvirt correctly (changes
963         here and there to support it). Integrate bugfix from Dietmar quickly
964         so he needs to handle the cvs conflict:-)
965
966 Mon Aug 27 12:20:32 CEST 2001 Paolo Molaro <lupus@ximian.com>
967
968         * interp.c: fix compilation and updates for changes in metadata/.
969
970 2001-08-26  Miguel de Icaza  <miguel@ximian.com>
971
972         * interp.c (main): Add option handling for the interpreter,
973         support the `--trace' option.
974
975 Sun Aug 26 23:04:46 CEST 2001 Paolo Molaro <lupus@ximian.com>
976
977         * interp.c: get in a dummy virtual method dispatch.
978         Added support for int64, native int and native uint as arguments.
979         Added debug enter/leave for icall and pinvoke methods, too.
980         Implement opcodes conv.i, conv.i8, ldelema.
981
982 Sun Aug 26 11:37:30 CEST 2001 Paolo Molaro <lupus@ximian.com>
983
984         * interp.h, interp.c: load also a MonoClass pointer when we load
985         an address on the stack. Implemented conv.i1, conv.i2, con.i4,
986         conv.u4, conv.r4, conv.r8. Print the arguments in the stack trace
987         and the name of the exception.
988
989 Sat Aug 25 15:56:03 CEST 2001 Paolo Molaro <lupus@ximian.com>
990
991         * interp.c: Implemented some opcodes: starg.s, ldobj, isinst,
992         ldarg, starg, ldloc, ldloca, stloc, initobj, cpblk, sizeof.
993
994 Sat Aug 25 12:57:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
995
996         * interp.c: handle enumerations specially (not as valuetypes).
997
998 Fri Aug 24 19:34:04 CEST 2001 Paolo Molaro <lupus@ximian.com>
999
1000         * interp.h, interp.c: add support for valuetypes.
1001
1002 Fri Aug 24 16:09:20 CEST 2001 Paolo Molaro <lupus@ximian.com>
1003
1004         * interp.c: updates for merge of MonoParam in MonoType.
1005
1006 Thu Aug 23 12:04:34 CEST 2001 Paolo Molaro <lupus@ximian.com>
1007
1008         * interp.c: removed beforefieldinit check, it's a useless flag.
1009         Added a couple more test cases to tests/ dir.
1010
1011 2001-08-22  Miguel de Icaza  <miguel@ximian.com>
1012
1013         * interp.c (usage): Add version information
1014         (ves_pinvoke_method): Typo fix.
1015
1016 Wed Aug 22 20:37:51 CEST 2001 Paolo Molaro <lupus@ximian.com>
1017
1018         * interp.c: simplified init_class (). Make sure a class
1019         is fully initialized before executing a method in the class.
1020         Search for the class constructor only on beforefieldinit classes.
1021         Implement a bunch of opcodes: br, brfalse, brtrue, beq, bge,
1022         bgt, blt, ble, bne.un, bge.un, bgt.un, ble.un, blt.un, stind.i,
1023         ldflda, ldsflda, ldelem.i8, stelem.i8, leave.
1024
1025 Wed Aug 22 16:34:03 CEST 2001 Paolo Molaro <lupus@ximian.com>
1026
1027         * interp.c: Updates for changes in metadata/. Better output in debug mode
1028         and in the stack trace. Completed rethrow handling
1029
1030 Tue Aug 21 18:56:19 CEST 2001 Paolo Molaro <lupus@ximian.com>
1031
1032         * interp.c: new macro INIT_FRAME() to properly
1033         initialize a MonoInvocation. Fixed a couple of buglets in exception code:
1034         increase stack pointer when pushing the exception for catch blocks,
1035         initialize frame->ex_handler to NULL, correctly try all the
1036         catch blocks (don't incorrectly fallback on filter handling).
1037         Added a couple more checks where we may need to throw an
1038         exception. Added more exception creation functions.
1039         Changed stackval_from_data() to take the target stackval as
1040         argument. Implemented a couple more opcodes.
1041         * interp.h: prepare stackval for value type code.
1042
1043 2001-08-21  Miguel de Icaza  <miguel@ximian.com>
1044
1045         * Makefile.am (mint_LDADD): Renamed interpreter to mint.
1046
1047 2001-08-21  Dietmar Maurer  <dietmar@ximian.com>
1048
1049         * interp.c (get_named_exception): use the right constructor.
1050
1051 Mon Aug 20 18:58:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
1052
1053         * interp.c: fix buglet with the leave.s opcode.
1054
1055 2001-08-20  Dietmar Maurer  <dietmar@ximian.com>
1056
1057         * icall.c: changed everything to support the new calling convention
1058
1059         * hacks.h: added some macros for FreeBSD 
1060
1061         * interp.c (get_named_exception): use mono_object_new instead of
1062         newobj, initialize the stack before we call the constructor.
1063
1064 Sat Aug 18 12:43:38 CEST 2001 Paolo Molaro <lupus@ximian.com>
1065
1066         * interp.c, interp.h: added support code to create exceptions.
1067         Changed interncal calling convnetion over to MonoInvocation, to support
1068         exceptions, walking the stack back and forward and passing the 'this'
1069         pointer separately (remove the cludges required before to pass this on the
1070         stack). Use alloca heavily for both local vars and a copy of the incoming 
1071         arguments. Init local vars to zero.
1072         Simplify stackval_from_data() and stackval_to_data() to only take a pointer
1073         instead of pointer + offset.
1074         Implement a few exceptions-related opcodes and the code to run finally, fault and
1075         catch blocks as well as a stack trace if no handler is found.
1076         
1077 2001-08-16  Alex Graveley  <alex@ximian.com>
1078
1079         * Makefile.am (mono_int_LDADD): Link with ../../libffi/libffi.a
1080         instead of ../../libffi/.libs/libffi.a.
1081
1082 2001-08-10  Dietmar Maurer  <dietmar@ximian.com>
1083
1084         * interp.c (ves_exec_method): impl CASTCLASS
1085
1086         * icall.c: moved the internal call stuff to this file
1087
1088         * interp.c (ves_exec_method): impl. BOX/UNBOX
1089         (ves_icall_System_Array_GetValue): impl.
1090         (ves_icall_System_Array_SetValue): impl.
1091         added myself to Authors
1092
1093 2001-08-09  Dietmar Maurer  <dietmar@ximian.com>
1094
1095         * implemented arrays, but you will need a modified version of 
1096         Array.cs to get arrays working (will commit soon)
1097         
1098         * interp.c (ves_icall_array_Set): impl.
1099         (ves_icall_array_Get): impl.
1100         (ves_icall_array_ctor): impl.
1101         (ves_icall_System_Array_GetRank): impl.
1102         (ves_icall_System_Array_GetLength): impl.
1103         (ves_icall_System_Array_GetLowerBound): impl.
1104         (mono_lookup_internal_call): impl.
1105
1106 2001-08-06  Dietmar Maurer  <dietmar@ximian.com>
1107
1108         * interp.c (ves_exec_method): impl. NEWARR
1109         (ves_exec_method): impl. most LDELEM/STELEM opcodes, LDLEN
1110         (newarr): impl.
1111         (mono_get_ansi_string): impl.
1112         (mono_lookup_internal_call): impl.
1113         (ves_exec_method): implemented internal calls
1114
1115 2001-08-05  Dietmar Maurer  <dietmar@ximian.com>
1116
1117         * interp.c (ves_pinvoke_method): removed all static vars.
1118
1119 2001-08-02  Dietmar Maurer  <dietmar@ximian.com>
1120
1121         * interp.c (ves_exec_method): found a way to do unordered
1122         compares, implemented CEE_BNE_UN_S, CEE_BGE_UN_S, CEE_BGT_UN_S, 
1123         CEE_BLE_UN_S, CEE_BLT_UN_S
1124         
1125 Wed Aug 1 22:51:38 CEST 2001 Paolo Molaro <lupus@ximian.com>
1126
1127         * interp.c: handle also MONO_TYPE_CLASS to/from the stack.
1128         Change locals to be a memory blob, instead of the structured
1129         (but wrong) stackval. Implement bne.un.s opcode. Make the program
1130         exit with the error code from Main().
1131
1132 2001-08-01  Dietmar Maurer  <dietmar@ximian.com>
1133
1134         * interp.c (ves_exec_method): implemented LDSTR
1135
1136 2001-07-31  Miguel de Icaza  <miguel@ximian.com>
1137
1138         * interp.c (GET_NATI): Switched from using nati_t to cli/types.h
1139         m_i type.  Maybe we should rename the types to be m_i_t instead of
1140         m_i alone.
1141         
1142         Make the code compile after I broke it.
1143
1144 Tue Jul 31 23:46:33 CEST 2001 Paolo Molaro <lupus@ximian.com>
1145
1146         * interp.c: fix cleanup.
1147         * Makefile.am: don't link with disassembler library.
1148
1149 2001-07-31  Miguel de Icaza  <miguel@ximian.com>
1150
1151         (ves_exec_method): Cleanup of the source code.
1152
1153 Tue Jul 31 20:13:59 CEST 2001 Paolo Molaro <lupus@ximian.com>
1154
1155         * interp.c: implement stind.*, ldind.*, ldloca.s opcodes.
1156         Provide better tracing with DEBUG_INTERP.
1157
1158 Tue Jul 31 17:52:53 CEST 2001 Paolo Molaro <lupus@ximian.com>
1159
1160         * interp.c: massive namespace cleanup.
1161
1162 Mon Jul 30 20:09:58 CEST 2001 Paolo Molaro <lupus@ximian.com>
1163
1164         * interp.c: update to use mono_method->name.
1165
1166 Fri Jul 27 20:54:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
1167
1168         * interp.c: start implementing callvirt. Classes with
1169         class constructors are properly initialized when needed.
1170         Fix error introduced in version 1.17.
1171
1172 Fri Jul 27 14:03:19 CEST 2001 Paolo Molaro <lupus@ximian.com>
1173
1174         * interp.c: implement static field loading and storing.
1175
1176 2001-07-27  Dietmar Maurer  <dietmar@ximian.com>
1177
1178         * interp.c (ves_pinvoke_method): impl.
1179
1180 Fri Jul 27 11:49:19 CEST 2001 Paolo Molaro <lupus@ximian.com>
1181
1182         * interp.c: Removed some debugging printouts. Made stackval_to_data
1183         static. Handle also instance methods in CALL opcode. Fix ret to properly
1184         deal with void functions. Fixed constructor to leave the object on
1185         the stack.
1186
1187 Thu Jul 26 13:24:51 CEST 2001 Paolo Molaro <lupus@ximian.com>
1188
1189         * interp.c: ves_exec_method () doesn't take a MonoImage arg
1190         anymore. Use the method cache in MonoImage. Updates to
1191         mache recent changes in metadata. 
1192         Fix newobj code to use new metadata features. Call the class
1193         constructor after allocationg the object. Implemented load field
1194         and store field opcodes (the support functions need to be finished).
1195         
1196 Tue Jul 24 16:51:09 CEST 2001 Paolo Molaro <lupus@ximian.com>
1197
1198         * interp.c, hacks.h: moved a few ugly macros out of the code.
1199         Implemented switch opcode.
1200
1201 2001-07-23  Miguel de Icaza  <miguel@ximian.com>
1202
1203         * interp.c (newobj): Added function to handle newobj opcode.
1204
1205 2001-07-18  Miguel de Icaza  <miguel@ximian.com>
1206
1207         * interp.c (ves_exec_method): Make the interpreter abort with more
1208         information than it currently does.
1209
1210         Enable the slow processor, as it is easier to debug.
1211
1212 Sun Jul 15 17:50:23 CEST 2001 Paolo Molaro <lupus@ximian.com>
1213
1214         * Started changelog.
1215         * interp.c: use new mono_get_method () function to get the complete
1216         info on a method invocation: we support now method invocation with
1217         multiple (or zero) simple arguments and with or without a return value.
1218         Implement also a couple more opcodes.