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