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