Fri Aug 3 19:54:23 CEST 2007 Paolo Molaro <lupus@ximian.com>
[mono.git] / mono / metadata / ChangeLog
index 813bc408a140394d9e1c6c62f4f1ed07edb34b5a..3ae2aa86e669e5a903dcdc79000083a92e6d1fa9 100644 (file)
@@ -1,3 +1,307 @@
+
+Fri Aug 3 19:54:23 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+       * domain.c, threads.c, threads-types.h: fix memory retention issue
+       with thread static variables not being cleared on domain unload.
+       Reuse thread static slots after domain unload.
+
+2007-08-03  Zoltan Varga  <vargaz@gmail.com>
+
+       * object.c (mono_runtime_invoke_array): Handle the case when the receiver is a
+       nullable type.
+
+       * marshal.c (mono_marshal_get_runtime_invoke): Revert the previous change, it is
+       now done in mono_runtime_invoke_array.
+
+       * marshal.c (mono_marshal_get_runtime_invoke): Handle the case when the 
+       receiver is a nullable type.
+
+       * class.c (mono_class_is_assignable_from): Handle the case when klass is a 
+       generic parameter.
+
+2007-07-03  Jonathan Chambers  <joncham@gmail.com>
+
+       * marshal.c: Implement COM Objects as return type for 
+       managed->unmanaged calls. Added Release calls for COM Object
+       out/return values in managed->unmanaged calls.
+       
+       Code is contributed under MIT/X11 license.
+
+Fri Aug 3 17:00:51 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+       * threads.h, threads-type.h: move the hazard pointer declarations
+       to the private header.
+
+Fri Aug 3 13:13:39 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+       * file-io.c, appdomain.c: memory leak fixes.
+
+2007-08-02  Dick Porter  <dick@ximian.com>
+
+       * socket-io.c
+       (ves_icall_System_Net_Sockets_Socket_Socket_internal): Move the
+       SO_REUSEADDR setting into io-layer/sockets.c.
+
+2007-08-01  Zoltan Varga  <vargaz@gmail.com>
+
+       * icall.c (ves_icall_Type_GetMethodsByName): Return the members inherited
+       from Object when called on a generic parameter. Fixes #82211.
+
+2007-08-01  Dick Porter  <dick@ximian.com>
+
+       * file-io.c (convert_share): Test FileShare values bit-by-bit.
+       Fixes bug 79250 yet again.
+
+2007-07-30  Martin Baulig  <martin@ximian.com>
+
+       Merged the `debugger-dublin' branch.
+
+       * mono-debug.h
+       (MonoDebugDataTable): New typedef.
+       (MonoDebugMethodAddressList): New typedef.
+       (MonoDebugWrapperData): Removed.
+       (MonoDebugSymbolTable): Removed `current_data_table',
+       `current_data_table_size', `current_data_table_offset'.
+       (MonoDebugDataItemType): Moved into mono-debug.c.
+       (MonoDebugMethodJitInfo): Remove `address'.
+       (mono_debug_data_table): New global variable.
+       (mono_debug_lookup_method_addresses): New public function.
+       (mono_debug_find_method): Take a `MonoMethod *', not a
+       `MonoDebugMethodInfo *'.
+
+       * mono-debug.c: Drop support for the old symbol tables.
+
+2007-06-28  Martin Baulig  <martin@ximian.com>
+
+       * mono-debug.c (mono_debug_debugger_version): New public variable.
+
+2007-07-31  William Holmes  <billholmes54@gmail.com>
+
+       * metadata.c Changed mono_type_create_from_typespec to not insert
+         the type into the hash map until after
+         do_mono_metadata_parse_type has completed.
+       Fixes Bug #82194
+       Code is contributed under MIT/X11 license.
+
+2007-07-31  Zoltan Varga  <vargaz@gmail.com>
+
+       * icall.c (ves_icall_Type_GetMethodsByName): Avoid a crash when called on a
+       generic parameter. Fixes #82211.
+
+2007-07-27  Jb Evain  <jbevain@novell.com>
+
+       * pedump.c (dump_metadata, dump_metadata_header): dump
+       versions contained in the metadata header.
+
+Fri Jul 27 17:07:40 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+       * threads.c: register small_id_table with the GC.
+
+2007-07-27  Mark Probst  <mark.probst@gmail.com>
+
+       * threads.c, threads.h, class-internals.h, object-internals.h:
+       Hazard pointers, to be used by lock-free parallel algorithms.
+
+2007-07-26  Dick Porter  <dick@ximian.com>
+
+       * appdomain.c (mono_runtime_cleanup): Invoke io-layer cleanup
+       routine on non-windows platforms, as I've not managed to think of
+       a non-kludgy way of doing this.  Finishes off bug 78739.
+
+Wed Jul 25 18:06:33 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+       * object.c: properly setup interface_bitmap in proxy vtables.
+
+2007-07-25  Marek Habersack  <mhabersack@novell.com>
+
+       * appdomain.c (get_shadow_assembly_location): do not use TickCount
+       to create unique shadow copy target directories, use the domain's
+       serial number instead. Each domain gets a unique target directory
+       that way.
+
+       * domain.c (mono_domain_create): added code to increment domain
+       shadow copy serial number and cache the value in the current
+       domain structure.
+
+       * domain-internals.h (struct _MonoDomain): added a new field -
+       shadow_serial to hold the serial number used in generation of
+       shadow-copy directories. This is to make sure that the directory
+       name is unique for each and every domain created. We avoid a race
+       condition with overriding assemblies already in use by other app
+       domains.
+
+2007-07-24  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * class.c (mono_bounded_array_class_get): fixed memory leak when 
+       binding generic parameters.
+
+2007-07-24  Raja R Harinath  <rharinath@novell.com>
+
+       * metadata.c (do_mono_metadata_parse_generic_class): Use
+       mono_metadata_lookup_generic_class.  Don't g_assert on a metadata
+       error.
+
+Tue Jul 24 15:15:19 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+       * loader.c, class-internals.h, reflection.c: removed the per-method
+       generics hashtable: we use the global one through the call of
+       mono_class_inflate_generic_method ().
+
+Mon Jul 23 19:43:14 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+       * class.c, metadata.c, class-internals.h: introduce yet another
+       generics global cache for inflated methods (fixes 98% of the perf
+       issue in bug #81806).
+
+2007-07-23  Raja R Harinath  <rharinath@novell.com>
+
+       Fix #81035 -- avoid allocating MonoGenericInsts willy-nilly
+       * metadata.c (mono_metadata_lookup_generic_inst): Kill.
+       (mono_metadata_get_generic_inst): New.  Given a list of MonoType*,
+       return a MonoGenericInst containing (a copy) of those types.
+       (mono_metadata_inflate_generic_inst): Update to changes.
+       (mono_metadata_parse_generic_inst): Likewise.
+       (mono_get_shared_generic_inst): Likewise.
+       * reflection.c (mono_class_bind_generic_parameters): Likewise.
+       (mono_reflection_bind_generic_method_parameters): Likewise.
+       * metadata-internals.h: Likewise.
+       * icall.c (free_generic_context): Kill.
+       (init_generic_context_from_args): Use mono_metadata_get_generic_inst.
+
+       * reflection.c (reflection_methodbuilder_to_mono_method): Use
+       mono_metadata_type_dup.
+       * marshal.c (mono_mb_create_method): Likewise.
+
+       * metadata.c (mono_metadata_type_dup): Rename from
+       mono_metadata_type_dup_mp.  Take an optional mempool instead of a
+       MonoImage.  Handle a few more cases, esp. when no mempool is given.
+       * marshal.c, metadata-internals.h: Update to changes.
+
+Mon Jul 23 11:43:31 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+       * class.c: fixed a small leak for array classes and removed warning.
+
+2007-07-22  Zoltan Varga  <vargaz@gmail.com>
+
+       * loader.c (mono_method_get_param_token): Make this work on generic methods.
+       Return 0x8000000 for return parameters. Fixes #82161.
+
+2007-07-21  Marek Habersack  <grendello@gmail.com>
+
+       * appdomain.c (get_shadow_assembly_location): append the current
+       ticks value to the path. Avoids overwriting the same assemblies by
+       several threads at the same time.
+
+2007-07-20  Atsushi Enomoto  <atsushi@ximian.com>
+       and Raja R Harinath  <rharinath@novell.com>
+
+       * icall.c (ves_icall_MonoMethod_get_IsGenericMethodDefinition):
+       Simplify slightly.
+       (ves_icall_MonoMethod_GetGenericMethodDefinition): Update
+       property for testing if a method is a generic method definition.
+
+2007-07-20  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * domain-internals.h : added 2.0 member fields to MonoAppDomainSetup.
+
+2007-07-19  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * verify.c: used function from private branch, reverted to the one in class.h 
+
+2007-07-19  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * verify.c: a typo slipped in and the code wont compile
+
+2007-07-19  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * verify.c: now all code use IS_MANAGED_POINTER and UNMASK_TYPE macros.
+       disabled box instruction as it is doing the wrong thing
+       improved stack dump messages, now it is easier to debug type related issues
+
+
+2007-07-19  Juraj Skripsky  <js@hotfeet.ch>
+
+       * icall.c (ves_icall_System_MonoType_getFullName): Fix a leak. 
+
+2007-07-19  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * verify.c: changed MONO_TYPE_TYPEDBYREF stack type from 
+       TYPE_COMPLEX to TYPE_PTR, it did not make any sense to be
+       grouped with class and valuetype. This change will simply 
+       the code as it should be handled just like unmanaged pointers.
+
+2007-07-19  Mark Probst  <mark.probst@gmail.com>
+
+       * class.c (concat_two_strings_with_zero): Fixed a silly bug.
+
+2007-07-19  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * verify.c: several stack merge issues fixed, reference comparisons now
+       check the type size. strict type check now works correctly.
+       added more uses of IS_MANAGED_POINTER macro.
+       fixed issues pointed by running the test suite against .net.
+       
+
+2007-07-19  Mark Probst  <mark.probst@gmail.com>
+
+       * class.c, loader.c, class-internals.h: Removed the
+       MonoLoaderErrorKind enum and replaced it with the MONO_EXCEPTION_
+       defines.
+
+       * icall.c: Better error checking in some internal reflection
+       methods.
+
+2007-07-18  William Holmes  <billholmes54@gmail.com>
+
+        * filewatcher.c : removed unused variable 'filename' in 
+         ves_icall_System_IO_FSW_SupportsFSW
+
+Mon Jul 16 19:36:16 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+       * reflection.c, class.c, icall.c, loader.c: mono_get_inflated_method () is
+       obsolete, removed.
+
+2007-07-15  Zoltan Varga  <vargaz@gmail.com>
+
+       * icall.c (ves_icall_System_Reflection_FieldInfo_GetTypeModifiers): New icall.
+       
+       * icall.c (ves_icall_System_Reflection_Module_ResolveSignature): New icall.
+
+2007-07-14  Zoltan Varga  <vargaz@gmail.com>
+
+       * icall.c (ves_icall_System_Reflection_Module_ResolveMethodToken): 
+       Implement generics support.
+       (ves_icall_System_Reflection_Module_ResolveFieldToken): Ditto.
+
+       * icall.c (ves_icall_System_Reflection_Module_ResolveTypeToken): Add new
+       type_args and method_args arguments.
+       (ves_icall_System_Reflection_Module_ResolveMethodToken): Ditto.
+       (ves_icall_System_Reflection_Module_ResolveFieldToken): Ditto.
+       (ves_icall_System_Reflection_Module_ResolveMemberToken): Ditto.
+
+2007-07-13  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * reflection.c: patch from Thong Nguyen to fix atribute resolution.
+         It adds a rootimage parameter to mono_reflection_get_type_internal,
+         adds new function mono_reflection_get_type_with_rootimage and use
+         the rootimage to resolve the types instead of the current image
+
+2007-07-13  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * culture-info-table.h: Forgot to update after r78304.
+
+2007-07-13  Raja R Harinath  <rharinath@novell.com>
+
+       * class.c (mono_class_is_open_constructed_type)
+       <MONO_TYPE_GENERICINST>: Don't recompute a computed field.
+
+2007-07-12  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * class.c (mono_bounded_array_class_get):  method fails if used with
+       an incomplete TypeBuilder enum (no basetype field), fixed it by 
+       avoiding calculating the size for such array as it cannot be instantiated.
+       Fix bug #82015
+
 2007-07-12  Raja R Harinath  <rharinath@novell.com>
 
        * class-internals.h (_MonoGenericInst::is_reference): Remove bogus