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