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