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