1 2001-08-22 Miguel de Icaza <miguel@ximian.com>
3 * interp.c (usage): Add version information
4 (ves_pinvoke_method): Typo fix.
6 Wed Aug 22 20:37:51 CEST 2001 Paolo Molaro <lupus@ximian.com>
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.
15 Wed Aug 22 16:34:03 CEST 2001 Paolo Molaro <lupus@ximian.com>
17 * interp.c: Updates for changes in metadata/. Better output in debug mode
18 and in the stack trace. Completed rethrow handling
20 Tue Aug 21 18:56:19 CEST 2001 Paolo Molaro <lupus@ximian.com>
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.
33 2001-08-21 Miguel de Icaza <miguel@ximian.com>
35 * Makefile.am (mint_LDADD): Renamed interpreter to mint.
37 2001-08-21 Dietmar Maurer <dietmar@ximian.com>
39 * interp.c (get_named_exception): use the right constructor.
41 Mon Aug 20 18:58:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
43 * interp.c: fix buglet with the leave.s opcode.
45 2001-08-20 Dietmar Maurer <dietmar@ximian.com>
47 * icall.c: changed everything to support the new calling convention
49 * hacks.h: added some macros for FreeBSD
51 * interp.c (get_named_exception): use mono_object_new instead of
52 newobj, initialize the stack before we call the constructor.
54 Sat Aug 18 12:43:38 CEST 2001 Paolo Molaro <lupus@ximian.com>
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.
67 2001-08-16 Alex Graveley <alex@ximian.com>
69 * Makefile.am (mono_int_LDADD): Link with ../../libffi/libffi.a
70 instead of ../../libffi/.libs/libffi.a.
72 2001-08-10 Dietmar Maurer <dietmar@ximian.com>
74 * interp.c (ves_exec_method): impl CASTCLASS
76 * icall.c: moved the internal call stuff to this file
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
83 2001-08-09 Dietmar Maurer <dietmar@ximian.com>
85 * implemented arrays, but you will need a modified version of
86 Array.cs to get arrays working (will commit soon)
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.
96 2001-08-06 Dietmar Maurer <dietmar@ximian.com>
98 * interp.c (ves_exec_method): impl. NEWARR
99 (ves_exec_method): impl. most LDELEM/STELEM opcodes, LDLEN
101 (mono_get_ansi_string): impl.
102 (mono_lookup_internal_call): impl.
103 (ves_exec_method): implemented internal calls
105 2001-08-05 Dietmar Maurer <dietmar@ximian.com>
107 * interp.c (ves_pinvoke_method): removed all static vars.
109 2001-08-02 Dietmar Maurer <dietmar@ximian.com>
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
115 Wed Aug 1 22:51:38 CEST 2001 Paolo Molaro <lupus@ximian.com>
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().
122 2001-08-01 Dietmar Maurer <dietmar@ximian.com>
124 * interp.c (ves_exec_method): implemented LDSTR
126 2001-07-31 Miguel de Icaza <miguel@ximian.com>
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
132 Make the code compile after I broke it.
134 Tue Jul 31 23:46:33 CEST 2001 Paolo Molaro <lupus@ximian.com>
136 * interp.c: fix cleanup.
137 * Makefile.am: don't link with disassembler library.
139 2001-07-31 Miguel de Icaza <miguel@ximian.com>
141 (ves_exec_method): Cleanup of the source code.
143 Tue Jul 31 20:13:59 CEST 2001 Paolo Molaro <lupus@ximian.com>
145 * interp.c: implement stind.*, ldind.*, ldloca.s opcodes.
146 Provide better tracing with DEBUG_INTERP.
148 Tue Jul 31 17:52:53 CEST 2001 Paolo Molaro <lupus@ximian.com>
150 * interp.c: massive namespace cleanup.
152 Mon Jul 30 20:09:58 CEST 2001 Paolo Molaro <lupus@ximian.com>
154 * interp.c: update to use mono_method->name.
156 Fri Jul 27 20:54:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
158 * interp.c: start implementing callvirt. Classes with
159 class constructors are properly initialized when needed.
160 Fix error introduced in version 1.17.
162 Fri Jul 27 14:03:19 CEST 2001 Paolo Molaro <lupus@ximian.com>
164 * interp.c: implement static field loading and storing.
166 2001-07-27 Dietmar Maurer <dietmar@ximian.com>
168 * interp.c (ves_pinvoke_method): impl.
170 Fri Jul 27 11:49:19 CEST 2001 Paolo Molaro <lupus@ximian.com>
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
177 Thu Jul 26 13:24:51 CEST 2001 Paolo Molaro <lupus@ximian.com>
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).
186 Tue Jul 24 16:51:09 CEST 2001 Paolo Molaro <lupus@ximian.com>
188 * interp.c, hacks.h: moved a few ugly macros out of the code.
189 Implemented switch opcode.
191 2001-07-23 Miguel de Icaza <miguel@ximian.com>
193 * interp.c (newobj): Added function to handle newobj opcode.
195 2001-07-18 Miguel de Icaza <miguel@ximian.com>
197 * interp.c (ves_exec_method): Make the interpreter abort with more
198 information than it currently does.
200 Enable the slow processor, as it is easier to debug.
202 Sun Jul 15 17:50:23 CEST 2001 Paolo Molaro <lupus@ximian.com>
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.