ca11d986971eb94814503d134301ee94cd28b7df
[mono.git] / mono / interpreter / ChangeLog
1 2001-08-22  Miguel de Icaza  <miguel@ximian.com>
2
3         * interp.c (usage): Add version information
4         (ves_pinvoke_method): Typo fix.
5
6 Wed Aug 22 20:37:51 CEST 2001 Paolo Molaro <lupus@ximian.com>
7
8         * interp.c: simplified init_class (). Make sure a class
9         is fully initialized before executing a method in the class.
10         Search for the class constructor only on beforefieldinit classes.
11         Implement a bunch of opcodes: br, brfalse, brtrue, beq, bge,
12         bgt, blt, ble, bne.un, bge.un, bgt.un, ble.un, blt.un, stind.i,
13         ldflda, ldsflda, ldelem.i8, stelem.i8, leave.
14
15 Wed Aug 22 16:34:03 CEST 2001 Paolo Molaro <lupus@ximian.com>
16
17         * interp.c: Updates for changes in metadata/. Better output in debug mode
18         and in the stack trace. Completed rethrow handling
19
20 Tue Aug 21 18:56:19 CEST 2001 Paolo Molaro <lupus@ximian.com>
21
22         * interp.c: new macro INIT_FRAME() to properly
23         initialize a MonoInvocation. Fixed a couple of buglets in exception code:
24         increase stack pointer when pushing the exception for catch blocks,
25         initialize frame->ex_handler to NULL, correctly try all the
26         catch blocks (don't incorrectly fallback on filter handling).
27         Added a couple more checks where we may need to throw an
28         exception. Added more exception creation functions.
29         Changed stackval_from_data() to take the target stackval as
30         argument. Implemented a couple more opcodes.
31         * interp.h: prepare stackval for value type code.
32
33 2001-08-21  Miguel de Icaza  <miguel@ximian.com>
34
35         * Makefile.am (mint_LDADD): Renamed interpreter to mint.
36
37 2001-08-21  Dietmar Maurer  <dietmar@ximian.com>
38
39         * interp.c (get_named_exception): use the right constructor.
40
41 Mon Aug 20 18:58:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
42
43         * interp.c: fix buglet with the leave.s opcode.
44
45 2001-08-20  Dietmar Maurer  <dietmar@ximian.com>
46
47         * icall.c: changed everything to support the new calling convention
48
49         * hacks.h: added some macros for FreeBSD 
50
51         * interp.c (get_named_exception): use mono_object_new instead of
52         newobj, initialize the stack before we call the constructor.
53
54 Sat Aug 18 12:43:38 CEST 2001 Paolo Molaro <lupus@ximian.com>
55
56         * interp.c, interp.h: added support code to create exceptions.
57         Changed interncal calling convnetion over to MonoInvocation, to support
58         exceptions, walking the stack back and forward and passing the 'this'
59         pointer separately (remove the cludges required before to pass this on the
60         stack). Use alloca heavily for both local vars and a copy of the incoming 
61         arguments. Init local vars to zero.
62         Simplify stackval_from_data() and stackval_to_data() to only take a pointer
63         instead of pointer + offset.
64         Implement a few exceptions-related opcodes and the code to run finally, fault and
65         catch blocks as well as a stack trace if no handler is found.
66         
67 2001-08-16  Alex Graveley  <alex@ximian.com>
68
69         * Makefile.am (mono_int_LDADD): Link with ../../libffi/libffi.a
70         instead of ../../libffi/.libs/libffi.a.
71
72 2001-08-10  Dietmar Maurer  <dietmar@ximian.com>
73
74         * interp.c (ves_exec_method): impl CASTCLASS
75
76         * icall.c: moved the internal call stuff to this file
77
78         * interp.c (ves_exec_method): impl. BOX/UNBOX
79         (ves_icall_System_Array_GetValue): impl.
80         (ves_icall_System_Array_SetValue): impl.
81         added myself to Authors
82
83 2001-08-09  Dietmar Maurer  <dietmar@ximian.com>
84
85         * implemented arrays, but you will need a modified version of 
86         Array.cs to get arrays working (will commit soon)
87         
88         * interp.c (ves_icall_array_Set): impl.
89         (ves_icall_array_Get): impl.
90         (ves_icall_array_ctor): impl.
91         (ves_icall_System_Array_GetRank): impl.
92         (ves_icall_System_Array_GetLength): impl.
93         (ves_icall_System_Array_GetLowerBound): impl.
94         (mono_lookup_internal_call): impl.
95
96 2001-08-06  Dietmar Maurer  <dietmar@ximian.com>
97
98         * interp.c (ves_exec_method): impl. NEWARR
99         (ves_exec_method): impl. most LDELEM/STELEM opcodes, LDLEN
100         (newarr): impl.
101         (mono_get_ansi_string): impl.
102         (mono_lookup_internal_call): impl.
103         (ves_exec_method): implemented internal calls
104
105 2001-08-05  Dietmar Maurer  <dietmar@ximian.com>
106
107         * interp.c (ves_pinvoke_method): removed all static vars.
108
109 2001-08-02  Dietmar Maurer  <dietmar@ximian.com>
110
111         * interp.c (ves_exec_method): found a way to do unordered
112         compares, implemented CEE_BNE_UN_S, CEE_BGE_UN_S, CEE_BGT_UN_S, 
113         CEE_BLE_UN_S, CEE_BLT_UN_S
114         
115 Wed Aug 1 22:51:38 CEST 2001 Paolo Molaro <lupus@ximian.com>
116
117         * interp.c: handle also MONO_TYPE_CLASS to/from the stack.
118         Change locals to be a memory blob, instead of the structured
119         (but wrong) stackval. Implement bne.un.s opcode. Make the program
120         exit with the error code from Main().
121
122 2001-08-01  Dietmar Maurer  <dietmar@ximian.com>
123
124         * interp.c (ves_exec_method): implemented LDSTR
125
126 2001-07-31  Miguel de Icaza  <miguel@ximian.com>
127
128         * interp.c (GET_NATI): Switched from using nati_t to cli/types.h
129         m_i type.  Maybe we should rename the types to be m_i_t instead of
130         m_i alone.
131         
132         Make the code compile after I broke it.
133
134 Tue Jul 31 23:46:33 CEST 2001 Paolo Molaro <lupus@ximian.com>
135
136         * interp.c: fix cleanup.
137         * Makefile.am: don't link with disassembler library.
138
139 2001-07-31  Miguel de Icaza  <miguel@ximian.com>
140
141         (ves_exec_method): Cleanup of the source code.
142
143 Tue Jul 31 20:13:59 CEST 2001 Paolo Molaro <lupus@ximian.com>
144
145         * interp.c: implement stind.*, ldind.*, ldloca.s opcodes.
146         Provide better tracing with DEBUG_INTERP.
147
148 Tue Jul 31 17:52:53 CEST 2001 Paolo Molaro <lupus@ximian.com>
149
150         * interp.c: massive namespace cleanup.
151
152 Mon Jul 30 20:09:58 CEST 2001 Paolo Molaro <lupus@ximian.com>
153
154         * interp.c: update to use mono_method->name.
155
156 Fri Jul 27 20:54:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
157
158         * interp.c: start implementing callvirt. Classes with
159         class constructors are properly initialized when needed.
160         Fix error introduced in version 1.17.
161
162 Fri Jul 27 14:03:19 CEST 2001 Paolo Molaro <lupus@ximian.com>
163
164         * interp.c: implement static field loading and storing.
165
166 2001-07-27  Dietmar Maurer  <dietmar@ximian.com>
167
168         * interp.c (ves_pinvoke_method): impl.
169
170 Fri Jul 27 11:49:19 CEST 2001 Paolo Molaro <lupus@ximian.com>
171
172         * interp.c: Removed some debugging printouts. Made stackval_to_data
173         static. Handle also instance methods in CALL opcode. Fix ret to properly
174         deal with void functions. Fixed constructor to leave the object on
175         the stack.
176
177 Thu Jul 26 13:24:51 CEST 2001 Paolo Molaro <lupus@ximian.com>
178
179         * interp.c: ves_exec_method () doesn't take a MonoImage arg
180         anymore. Use the method cache in MonoImage. Updates to
181         mache recent changes in metadata. 
182         Fix newobj code to use new metadata features. Call the class
183         constructor after allocationg the object. Implemented load field
184         and store field opcodes (the support functions need to be finished).
185         
186 Tue Jul 24 16:51:09 CEST 2001 Paolo Molaro <lupus@ximian.com>
187
188         * interp.c, hacks.h: moved a few ugly macros out of the code.
189         Implemented switch opcode.
190
191 2001-07-23  Miguel de Icaza  <miguel@ximian.com>
192
193         * interp.c (newobj): Added function to handle newobj opcode.
194
195 2001-07-18  Miguel de Icaza  <miguel@ximian.com>
196
197         * interp.c (ves_exec_method): Make the interpreter abort with more
198         information than it currently does.
199
200         Enable the slow processor, as it is easier to debug.
201
202 Sun Jul 15 17:50:23 CEST 2001 Paolo Molaro <lupus@ximian.com>
203
204         * Started changelog.
205         * interp.c: use new mono_get_method () function to get the complete
206         info on a method invocation: we support now method invocation with
207         multiple (or zero) simple arguments and with or without a return value.
208         Implement also a couple more opcodes.