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