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