2002-03-30 Dietmar Maurer <dietmar@ximian.com>
[mono.git] / mono / metadata / ChangeLog
index ebc5d1e65806d61bda8fbaf8d4912b6d73d1609d..df838f6c8ccb0f9832c8f2a16dfd879a8dfc3502 100644 (file)
@@ -1,3 +1,416 @@
+2002-03-30  Dietmar Maurer  <dietmar@ximian.com>
+
+       * icall.c (mono_message_init): impl. (code cleanup)
+       (ves_icall_InternalExecute): impl. FieldGetter
+
+       * class.c (mono_class_init): added exerimental EXT_VTABLE_HACK, if
+       defined we call all (non-static)methods through the vtable. 
+
+Fri Mar 29 18:09:08 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * class.c: it seems GC_debug_malloc() makes the Boehm GC call the
+       finalizer even though the memory is still referenced (and the chunk of
+       memory is not freed).
+
+Fri Mar 29 17:43:04 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * assembly.c: fix brokeness.
+
+Fri Mar 29 16:09:54 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * class.c: kill some warnings. Check explicit interface method
+       implementation also without considering the namespace.
+       Load also literal strings in static class data.
+
+2002-03-29  Miguel de Icaza  <miguel@ximian.com>
+
+       * assembly.c (default_assembly_name_resolver): Kill memory leak. 
+       (default_assembly_name_resolver): Make the resolver take the
+       "base" directory where the assembly was originally defined, so we
+       can load DLLs that are in the same directory as the assembly that
+       is being referenced.
+
+2002-03-28  Dick Porter  <dick@ximian.com>
+
+       * file-io.h: 
+       * file-io.c:
+       * socket-io.c: 
+       * unicode.h: 
+       * unicode.c: Warning cleanups
+
+Thu Mar 28 18:06:14 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * object.h, reflection.h: use the correct type instead of MonoObject.
+
+2002-03-28  Martin Baulig  <martin@gnome.org>
+
+       * debug-symfile.c (mono_debug_class_get): Don't look in referenced assemblies.
+       (mono_debug_update_symbol_file): Initialize classes if necessary.
+
+Thu Mar 28 15:58:43 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * assembly.c, debug-helpers.c, image.c, image.h, metadata.c, pedump.c,
+       rawbuffer.c, reflection.c, verify.c: mare warning cleanups.
+
+Thu Mar 28 15:20:39 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * assembly.h: fix function prototype.
+       * metadata.h, metadata.c, object.h, private.h: get rid of warnings.
+       * mono-endian.h: use const cast.
+
+2002-03-28  Dietmar Maurer  <dietmar@ximian.com>
+
+       * icall.c (ves_icall_MonoMethodMessage_InitMessage): moved from message.c
+
+Thu Mar 28 12:32:00 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * loader.c: don't assert when a typeref can't be loaded, give
+       a chance to the runtime to trow an exception instead.
+       * loader.h: fix warning.
+
+2002-03-28  Dietmar Maurer  <dietmar@ximian.com>
+
+       * class.c (mono_class_proxy_vtable): added proxy support
+
+2002-03-27  Dan Lewis <dihlewis@yahoo.co.uk>
+
+       * icall.c: removed last of PAL calls, added System.Environment
+       * file-io.h, file-io.c: MonoIO implementation
+       * object.h, object.c: mono_string_to_utf16() now returns gunichar2*
+
+Tue Mar 26 19:56:10 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * appdomain.c: do not use the byte marker in ldstr table lookup.
+       * debug-helpers.c: allow two ':' to separate class and method name.
+       * object.c: allocate arrays bounds with the GC, too.
+       * verify: add a few more checks.
+
+Tue Mar 26 18:45:46 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * reflection.c: output also literal strings. Allocate parameter data
+       with GC_malloc() (thanks, Martin, for catching this!).
+
+2002-03-26  Martin Baulig  <martin@gnome.org>
+
+       * debug-symfile.h (MonoDebugMethodInfo): Added `this_offset', don't
+       include the `this' offset in the `param_offsets'.
+
+2002-03-25  Martin Baulig  <martin@gnome.org>
+
+       * debug-symfile.c (mono_debug_update_symbol_file): Use a new
+       mono_debug_get_class() function to get the classes. Added new
+       relocation types for arrays and strings.
+       (mono_debug_get_class): New static function to search in all
+       referenced assemblies for a metadata token.
+
+       * debug-symfile.h (MONO_DEBUG_SYMBOL_FILE_VERSION): Increased to 7.
+
+Mon Mar 25 13:08:18 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * reflection.h, reflection.c: use a gc-safe hash for hash tables that
+       hold gc-allocated objects. Make the string heap a stream like the
+       others. Removed duplicated code when writing stream info.
+       Added asserts to catch possible buffer overflows. Set the sorted map
+       for tables that need sorting. Added some documentation.
+
+Mon Mar 25 13:04:56 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * appdomain.h, appdomain.c, class.c, object.c: use a GC-safe hash table 
+       for interned strings and vtables.
+
+2002-03-24  Martin Baulig  <martin@gnome.org>
+
+       * icall.c (ves_icall_Type_GetFields): Reverse the list before storing
+       it in the array since it was created with g_slist_prepend().
+
+2002-03-24  Martin Baulig  <martin@gnome.org>
+
+       * debug-symfile.c (mono_debug_local_type_from_signature): Renamed
+       to ves_icall_Debugger_MonoSymbolWriter_get_local_type_from_sig().
+       (mono_debug_method_from_token): Renamed to
+       ves_icall_Debugger_MonoSymbolWriter_method_from_token().
+       (ves_icall_Debugger_DwarfFileWriter_get_type_token): New interncall.
+
+       * debug-symfile.c (MRT_type_sizeof, MRT_type_field_offset): New
+       relocation types.
+
+       * debug-symfile.h (MONO_DEBUG_SYMBOL_FILE_VERSION): Increased to 6.
+
+2002-03-24  Martin Baulig  <martin@gnome.org>
+
+       * debug-symfile.c (mono_debug_local_type_from_signature): New func.
+       (mono_debug_method_from_token): New func.
+
+       * icall.c (Mono.CSharp.Debugger.MonoSymbolWriter::get_local_type_from_sig):
+       New interncall, calls mono_debug_local_type_from_signature().
+       (Mono.CSharp.Debugger.MonoSymbolWriter::get_method): New interncall,
+       calls mono_debug_method_from_token().
+
+2002-03-23  Martin Baulig  <martin@gnome.org>
+
+       * unicode.c (ves_icall_iconv_get_char_count): The `count' argument
+       specifies the number of bytes to be converted, not the array size.
+       Return the number of chars, not the number of bytes.
+       (ves_icall_iconv_get_chars): The `byteCount' argument
+       specifies the number of bytes to be converted, not the array size.
+
+2002-03-23  Martin Baulig  <martin@gnome.org>
+
+       * reflection.h (MonoReflectionSigHelper): New type.
+
+       * reflection.c (mono_reflection_sighelper_get_signature_local),
+       (mono_reflection_sighelper_get_signature_local): New functions.
+
+       * icall.c (System.Reflection.Emit.SignatureHelper::get_signature_local),
+       (System.Reflection.Emit.SignatureHelper::get_signature_field): New
+       interncalls.
+
+2002-03-23  Martin Baulig  <martin@gnome.org>
+
+       * rawbuffer.c (mono_raw_buffer_load_mmap): Use MAP_SHARED when
+       is_writeable is set.
+       (mono_raw_buffer_update): New function to write the modified map
+       back to disk.
+
+       * debug-symfile.h (MonoDebugSymbolFile): Added `raw_contents_size'.
+
+       * debug-symfile.c (mono_debug_update_symbol_file): Call
+       mono_raw_buffer_update() when done writing.
+
+2002-03-23  Martin Baulig  <martin@gnome.org>
+
+       * debug-symfile.h (MONO_DEBUG_SYMBOL_FILE_VERSION): Increased to 5.
+
+       * debug-symfile.c: Added support for arguments and local variables.
+
+2002-03-23  Dick Porter  <dick@ximian.com>
+
+       * debug-symfile.c: Remove extraneous 'include <elf.h>' that wasn't
+       protected by ifdefs, hence breaking the w32 build.
+
+Thu Mar 21 17:35:01 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * object.c: implement is_interned() the right way.
+
+2002-03-21  Martin Baulig  <martin@gnome.org>
+
+       * debug-symfile.[ch]: New files to handle debugging information
+       files. There's also support to dynamically update these symbol
+       files to include machine dependent information.
+
+2002-03-20  Dietmar Maurer  <dietmar@ximian.com>
+
+       * threads.c (mono_thread_create): new function to create thread
+       from C
+
+2002-03-20  Martin Baulig  <martin@gnome.org>
+
+       * icall.c (ves_icall_InternalInvoke): Create a new object if the
+       method is a constructor.
+       (icall_map): Added "System.Reflection.MonoCMethod::InternalInvoke",
+       points to ves_icall_InternalInvoke().
+
+2002-03-20  Dan Lewis <dihlewis@yahoo.co.uk>
+
+       * file-io.c: Flush shouldn't throw exceptions.
+
+2002-03-19  Dan Lewis <dihlewis@yahoo.co.uk>
+
+       * file-io.c: FileStream flush support; FileSetLength now
+       restores file pointer.
+
+Tue Mar 19 18:17:21 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * class.c: set image for pointer classes.
+
+2002/03/19  Nick Drochak <ndrochak@gol.com>
+
+       * sysmath.c: Forgot one.
+
+2002-03-18  Miguel de Icaza  <miguel@ximian.com>
+
+       * sysmath.c: Avoid redefining existing names.
+
+2002-03-18  Dan Lewis <dihlewis@yahoo.co.uk>
+
+       * sysmath.c, sysmath.h, icall.c, Makefile.am: math routines now
+       handled by runtime as icall rather than dllimport from libm.so
+       * file-io.c, file-io.h: fixed handle argument type.
+
+2002-03-18  Dick Porter  <dick@ximian.com>
+
+       * reflection.c (mono_image_get_type_info): rename interface to
+       iface, because of "#define interface struct" on windows.
+
+Sat Mar 16 19:18:38 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * class.c, class.h: rename and export mono_ptr_class_get().
+       * metadata.c: support MONO_TYPE_ARRAY in MonoType compare.
+       * reflection.c, reflection.h, icall.c: better/saner type name
+       parsing and MonoType creation. Handle MONO_TYPE_ARRAY in
+       method signatures.
+
+2002-03-14  Dietmar Maurer  <dietmar@ximian.com>
+
+       * class.c (mono_class_init): removed hardcoded GHC_SLOT
+
+       * icall.c (ves_icall_InternalInvoke): impl.
+
+Wed Mar 13 00:27:30 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * reflection.c: output the interface map table, too.
+
+2002-03-12  Dietmar Maurer  <dietmar@ximian.com>
+
+       * class.c (class_compute_field_layout): separate computation of 
+       static field layout
+
+2002-03-12  Dan Lewis <dihlewis@yahoo.co.uk>
+
+       * icall.c: added System.Buffer support.
+       * file-io.c: moved file icalls from PAL to FileStream.
+
+2002-03-12  Dietmar Maurer  <dietmar@ximian.com>
+
+       * icall.c (ves_icall_System_Object_GetHashCode): impl.
+
+2002-03-11  Dietmar Maurer  <dietmar@ximian.com>
+
+       * icall.c (ves_icall_System_ValueType_GetHashCode): impl.
+
+Mon Mar 11 14:45:42 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * verify.c, verify.h: moved here the corlib/runtime consistency checks.
+
+Mon Mar 11 11:12:23 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * debug-helpers.{c,h}: moved here from monograph some useful functions
+       to locate a method by name/signature in a class or image. Included
+       also a small and flexible IL disassembler.
+
+Fri Mar 8 16:29:29 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * reflection.c: fixup tokens in methods with small header size, too.
+
+2002-03-08  Dietmar Maurer  <dietmar@ximian.com>
+
+       * object.c (mono_string_to_utf8): remove assert(!error), instead
+       print a warning. 
+
+Thu Mar 7 18:55:15 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * icall.c: update to the new mono_Array_class_get interface.
+
+Thu Mar 7 17:23:26 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * appdomain.c, object.c: Boehm-GC enable.
+       * icall.c: make get_data_chunk() support split data requests.
+       Ensure a class is initialized in more cases. Return only the first
+       property found in GetProperties() or the compiler gets confused. 
+       Implemented GetEvents(). Temporary fix to GetType(), needs rewriting.
+       * reflection.h, reflection.c: add fixup mechanism for field and method
+       tokens. Initialize assembly->typeref in a single place. Output
+       properties after events. Support custom attributes for events, too.
+       Typo fix for paramter custom attrs.
+
+2002-03-07  Martin Baulig  <martin@gnome.org>
+
+       * icall.c (ves_icall_System_Array_FastCopy): Small fix.
+
+2002-03-07  Dietmar Maurer  <dietmar@ximian.com>
+
+       * class.c (mono_array_class_get): fix. for multi. dim. arrays
+
+2002-03-06  Martin Baulig  <martin@gnome.org>
+
+       * icall.c (ves_icall_System_Array_CreateInstanceImpl): Make this work with
+       non-zero lower bounds. See testcases #F10-#F13.
+
+2002-03-05  Martin Baulig  <martin@gnome.org>
+
+       * exception.c (mono_get_exception_argument_out_of_range): New exception.
+
+       * icall.c (ves_icall_System_Array_GetValue): Moved actual implementation to
+       ves_icall_System_Array_GetValue(), only calculate the absolute array position
+       here.
+       (ves_icall_System_Array_SetValue): Likewise.
+       (ves_icall_System_Array_GetValueImpl): New interncall. Takes an array position
+       as argument and does the actual work. This function is used when copying a
+       multi-dimensional array.
+       (ves_icall_System_Array_SetValueImpl): Almost completely rewrote this. It can
+       now do all the widening conversions of value types.
+       (ves_icall_System_Array_CreateInstanceImpl): Implemented.
+
+Tue Mar 5 18:14:01 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * class.c: remove some magic numbers and use the smbolic names,
+       instead. Added init_events() to load event info at class init time.
+       * metadata.h, metadata.c: added mono_metadata_events_from_typedef()
+       and mono_metadata_methods_from_event().
+       * reflection.h, reflection.c: added support for writing out the evnets
+       related information.
+
+Mon Mar 4 20:32:43 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * reflection.h, icall.c: use a different method (GetInterfaces)
+       to gather interface info and add isbyref, isprimitive and
+       ispointer to the ves_icall_get_type_info() return value.
+
+Mon Mar 4 11:22:26 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * class.h: stared adding support for events.
+       * icall.c: split find_members implementation. Added debug icall to get
+       the address of an object.
+       * reflection.c: handle TypeBuilders in mono_type_get_object().
+
+2002-03-01  Martin Baulig  <martin@gnome.org>
+
+       * icall.c (ves_icall_System_Array_GetLength): This must throw an
+       ArgumentOutOfRangeException(), not an ArgumentException().
+       (ves_icall_System_Array_GetLowerBound): Likewise.
+       (ves_icall_System_Array_GetValue): Improved argument checking.
+       (ves_icall_System_Array_SetValue): Improved argument checking.
+
+2002-03-01  Martin Baulig  <martin@gnome.org>
+
+       * icall.c (ves_icall_System_Array_GetValue): Raise an exception when
+       called with invalid arguments rather than just dying with g_assert().
+       (ves_icall_System_Array_SetValue): Likewise.
+       (ves_icall_System_Array_CreateInstanceImpl): Don't g_assert_not_reached(),
+       raise a NotImplementedException instead.
+       (ves_icall_System_Array_GetLength): Added argument checking.
+       (ves_icall_System_Array_GetLowerBound): Added argument checking.
+
+2002-03-01  Dietmar Maurer  <dietmar@ximian.com>
+
+       * object.h (mono_assert): new macros mono_assert and
+       mono_assert_not_reached
+
+2002-02-28  Martin Baulig  <martin@gnome.org>
+
+       * icall.c: Rename "System::String::Intern" to "System::String::_Intern"
+       and "System::String::IsInterned" to "System::String::_IsInterned".
+
+Thu Feb 28 19:19:35 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * icall.c: remove hacks for typebuilder. Added icall to create a
+       modified type from a tybebuilder.
+       * reflection.c: removed hacks for TypeBuilder. Create also a MonoImage
+       in mono_image_basic_init (). Added mono_reflection_setup_internal_class ()
+       to create a backing MonoClass for a TypeBuilder.
+
+Thu Feb 28 15:35:51 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * class.c, class.h: more refactoring of class init.
+       Export mono_class_setup_mono_type() and mono_class_setup_parent().
+
+Thu Feb 28 12:33:41 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * marshal.c, marshal.h: start of marshaling interface.
+
+Wed Feb 27 22:15:17 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * icall.c: fix order in assembly qualified name icall.
 
 Wed Feb 27 18:45:03 CET 2002 Paolo Molaro <lupus@ximian.com>