2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
[mono.git] / mono / metadata / ChangeLog
index 2516952f5cd96e89b30788b32dd2f05f9f0fb6ed..9b8aaa8206782fef26232341a1b24aaad4482caa 100644 (file)
@@ -1,7 +1,325 @@
+2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
 
+       * icall.c: there might be ignored whitespace after the last '='. This
+       fixes length computation and bug #75840.
+
+2005-08-18  Zoltan Varga  <vargaz@freemail.hu>
+
+       * assembly.c (mono_assembly_load_full): Consider .exe extension as
+       well. Fixes #75809.
+
+       * reflection.c (create_custom_attr): Fix unmanaged memory leak. Fixes
+       #75784.
+       
+       * reflection.c (create_custom_attr_data): Ditto.
+
+2005-08-17  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * locales.c, culture-info.h : removed RegionLCIDMap.
+       * culture-info-tables.h : regenerated.
+
+2005-08-16  Martin Baulig  <martin@ximian.com>
+
+       * class.c (mono_type_get_name_recurse): Small fix.
+
+2005-08-16  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * locales.c : indentation fixie.
+
+2005-08-15  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * object-internals.h,
+         locales.h,
+         locales.c,
+         culture-info.h,
+         icall.c : added RegionInfo table support.
+       * culture-info-table.h : regenerated for region support.
+
+2005-08-14  Kamil Skalski  <nazgul@nemerle.org>
+
+       * reflection.c (resolve_object): handle all kinds of MonoMethod
+       including generic ones
+
+2005-08-12  Ankit Jain <jankit@novell.com>
+
+       * get.c (dis_stringify_variant_type): New. Stringify MonoMarshalVariant.
+         (dis_stringify_marshal_spec): Add new case for MONO_NATIVE_SAFEARRAY. 
+
+2005-09-12  Lluis Sanchez  <lluis@ximian.com>
+
+       * process.c: Don't close a thread handle when it's NULL. This is a
+       workaround for bug #75733.
+
+2005-08-11  Zoltan Varga  <vargaz@freemail.hu>
+
+       * marshal.c (mono_marshal_get_string_encoding): Fix handling of CharSet.Auto. Fixes #75769.
+
+2005-08-10  Zoltan Varga  <vargaz@freemail.hu>
+
+       * icall.c (ves_icall_Type_get_IsGenericType): New icall.
+
+2005-08-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * threadpool.c: if a work item in the thread pool has a callback that
+       catches a exception, don't propagate it after invoking the callback.
+       Fixes bug #75336.
+
+2005-08-08  Zoltan Varga  <vargaz@freemail.hu>
+
+       * class.c (class_compute_field_layout): Rename this to mono_class_setup_fields.
+
+       * class-internals.h (MonoCachedClassInfo): Add some new fields.
+
+       * class.c (mono_class_init): Load field info lazily in the AOT case.    
+
+       * reflection.c (mono_image_load_module): Fix error checking. Fixes #75660.
+
+2005-08-03  Ankit Jain  <jankit@novell.com>
+
+       Fix #75683.
+       * loader.c (mono_method_signature_full): Use MONO_CALL_DEFAULT if
+         PInvoke calling convention is 0.
+
+2005-08-02  Zoltan Varga  <vargaz@freemail.hu>
+
+       * socket-io.c (convert_sockopt_level_and_name): Applied patch from 
+       Julien Puydt (julien.puydt@laposte.net). Add check for IPV6_PKTINFO.
+
+Mon Aug 1 16:52:12 CEST 2005 Paolo Molaro <lupus@ximian.com>
+
+       * gc-internal.h, threads.c, null-gc.c, boehm-gc.c: added interface
+       to handle threads not started by the GC (patch by Michael Meeks
+       <michael.meeks@novell.com>).
+
+2005-07-31  Kamil Skalski  <nazgul@omega.pl>
+
+       * reflection.c: Make buffer used in emitting types larger for some
+       big generic types (patch by Michal Moskal).
+
+2005-07-30  Zoltan Varga  <vargaz@freemail.hu>
+
+       * mono-debug.c: Fix some (not all) alignment problems.
+
+2005-07-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * appdomain.c (ves_icall_System_AppDomain_LoadAssemblyRaw):
+       Invoke mono_image_load_from_data_full passing the refonly
+       parameter.
+
+       * assembly.c
+       (mono_assembly_open_from_bundle): Add the refonly argument, 
+       in order to pass it to other methods it calls to.
+       (do_mono_assembly_open): Add the refonly argument, in order 
+       to pass it to other methods it calls to.
+       (mono_assembly_open_full): Invoke do_mono_assembly_open passing
+       the refonly parameter to it.
+
+       * image.c: Add loaded_images_refonly_hash and
+       loaded_images_refonly_guid_hash to cache the reflection
+       only loaded images.
+       (mono_images_init): Initialize the hash tables used for
+       caching the reflection only images.
+       (load_modules): Invoke mono_image_open_full passing the refonly
+       parameter to load the modules the correct way.
+       (build_guid_table): Add the refonly argument, to re-build the 
+       correct hash table.
+       (do_mono_image_open): Added the refonly argument, in order to
+       define it for the loaded image.
+       (mono_image_loaded_full): New function, which receives an
+       additional parameter to look for the image in the refonly or
+       non-refonly section.
+       (mono_image_loaded): Updated, using mono_image_loaded_full.
+       (mono_image_loaded_by_guid_full): The same case that happens
+       with mono_image_loaded_full.
+       (mono_image_loaded_by_guid): Likewise.
+       (register_image): Use the ref_only variable inside MonoImage
+       to decide in which hash table store the current image.
+       (mono_image_open_from_data_full): Rename
+       mono_image_open_from_data to mono_image_open_from_data_full,
+       adding the refonly argument, to define the ref_only variable 
+       inside MonoImage.
+       (mono_image_open_from_data): Return 
+       mono_image_open_from_data_full.
+       (mono_image_open_full): Rename mono_image_open to
+       mono_image_open_full, receiving the new refonly argument,
+       to pass it to inner methods.
+       (mono_pe_file_open): Update this function, to open
+       a MonoImage as a non-refonly image.
+       (mono_image_close): Use the refonly variable inside
+       MonoImage to remove the image from the correct caches.
+
+       * image.h: Add the signatures of mono_image_open_full,
+       mono_image_open_from_data_full, mono_image_loaded_full,
+       mono_image_loaded_by_guid_full.
+
+       * metadata-internals.h: Add the ref_only field to 
+       MonoImage.
+       
+2005-07-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * icall.c (ves_icall_System_Reflection_GetReferencedAssemblies):
+       Fix the last behavior, which used to load the assemblies and
+       extract MonoReflectionAssemblyName information, instead of
+       extract it from the metadata tables. Needed for Reflection
+       Only assemblies.
+       
+2005-07-29  Martin Baulig  <martin@ximian.com>
+
+       * mono-debug-debugger.c
+       (mono_debugger_lock, mono_debugger_unlock): g_assert() if we're
+       not initialized.
+
+       * mono-debug.c
+       (mono_debug_address_from_il_offset): Check whether we have
+       debugging support before attempting to take the lock.
+       (mono_debug_source_location_from_address): Likewise.
+       (mono_debug_source_location_from_il_offset): Likewise.
+       (mono_debug_il_offset_from_address): Likewise.
+       (mono_debug_address_from_il_offset): Likewise.
+
+2005-07-29  Zoltan Varga  <vargaz@freemail.hu>
+
+       * class.c (mono_class_from_name_case): Add support for dynamic images.
+       Fixes #75650.
+
+       * object.c (mono_class_compute_gc_descriptor): Add a workaround
+       for #75479.
+
+2005-07-28  Zoltan Varga  <vargaz@freemail.hu>
+       
+       * reflection.c (mono_method_get_object): Fix warning.
+
+2005-07-28  Martin Baulig  <martin@ximian.com>
+
+       * mono-debug.c
+       (mono_debug_add_wrapper): Also write the wrapper type.
+
+2005-07-28  Zoltan Varga  <vargaz@freemail.hu>
+
+       * class-internals.h (MonoCachedClassInfo): Add has_nested_classes field.
+       
+       * class.c (mono_class_init): Avoid reading nested classes if the AOT
+       data indicates the class has none.
+
+2005-07-26  Ben Maurer  <bmaurer@ximian.com>
+
+       * mono-debug.c, debug-mono-symfile.c: Replace the use of the
+       loader lock with the debugger lock. Prevents deadlocks for beagle.
+
+       Beagle can now run on an smp box for a weekend without any
+       issues. Woohoo!
+
+2005-07-26  Zoltan Varga  <vargaz@freemail.hu>
+
+       * class.c (mono_bounded_array_class_get): Avoid crash if eclass is
+       in a module. Fixes #75629.
+
+2005-07-26  Martin Baulig  <martin@ximian.com>
+
+       * mono-debug.c (mono_debug_add_wrapper): New static method.
+       (mono_debug_add_method): Call mono_debug_add_wrapper() if we're an
+       interncall or a wrapper.
+
+       * mono-debug.h (MonoDebugWrapperData): New public typedef.
+       (MonoDebugDataItemType): Added `MONO_DEBUG_DATA_ITEM_WRAPPER'.
+       (MONO_DEBUGGER_VERSION): Bump to 51.
+
+       * mono-debug-debugger.c
+       (mono_debugger_add_type): Removed this empty function.
+       (mono_debugger_add_method): Likewise.
+
+2005-07-22  Zoltan Varga  <vargaz@freemail.hu>
+
+       * icall.c (ves_icall_Type_GetMethodsByName): Call setup_vtable () 
+       before accessing method->slot.
+
+2005-07-21  Jb Evain  <jbevain@gmail.com>
+
+       * reflection.c (method_encode_clauses/class): Handle filters clauses.
+       Fixes #75010.
+
+2005-07-21  Zoltan Varga  <vargaz@freemail.hu>
+
+       * marshal.c (emit_marshal_custom): Implement byref marshalling. Fixes
+       #75587.
+
+2005-07-20  Zoltan Varga  <vargaz@freemail.hu>
+
+       * image.h image.c: Add mono_image_get_guid () API function.
+
+2005-07-19  Ben Maurer  <bmaurer@ximian.com>
+
+       There were issues when multiple threads tried to load
+       assemblies. A deadlock was created between assemblies_mutex and
+       mono_domain_assemblies_lock. This fixes the issue by making the
+       assembly ref counting be lock free. See bug 75586.
+       
+       * image.c (mono_image_close): The add ref function here was using
+       Interlocked operations while the unref was using a mutex and a
+       --. I don't think this was ever a bug that would be exposed in a
+       non-pendantic way (ie, by an embedder doing a ref on one thread
+       and an unref on another), but for the sake of correctness, this is
+       now Interlocked.
+
+       * assembly.c (mono_assembly_addref): Use InterlockedIncrement
+       (mono_assembly_load_reference): Call mono_assembly_addref rather
+       than touching the refcount ourselves.
+       (mono_assembly_close): Use InterlockedDecrement to unref the
+       assembly. Don't acquire the lock unless it is actually needed.
+
+2005-07-12  Zoltan Varga  <vargaz@freemail.hu>
+
+       * class.c (mono_class_layout_fields): Fix calculation of has_references
+       for generic types.
+
+2005-07-12  Martin Baulig  <martin@ximian.com>
+
+       Applying a patch from Michal Moskal <malekith@nemerle.org>.
+
+       * metadata.c
+       (mono_type_hash): Provide better hashing for generic instances.
+       (mono_generic_inst_hash): Improve hashing.
+       (mono_generic_class_hash): Likewise.
+
+       * reflection.c (mymono_metadata_type_hash): Improve hashing for
+       generic instances.
+
+2005-07-12  Martin Baulig  <martin@ximian.com>
+
+       * reflection.c (mono_reflection_create_runtime_class): Remove the
+       hack for generic type definitions and non-`Run' assemblies.
+       (mono_reflection_bind_generic_parameters): Also use
+       `klass->wastypebuilder' to check for TypeBuilders.
+
+2005-07-12  Zoltan Varga  <vargaz@freemail.hu>
+
+       * class.c (mono_class_layout_fields): Fix calculation of has_references
+       for generic types.
+
+       * class.c (inflate_generic_class): Fix a leak.
+       (mono_class_init): Fix calculation of gchimpl and has_finalize fields
+       for generic types.
+
+2005-07-11  Martin Baulig  <martin@ximian.com>
+
+       * icall.c (ves_icall_Type_BindGenericParameters): Don't crash here
+       on error.
+
+2005-07-11  Martin Baulig  <martin@ximian.com>
+
+       * loader.c (find_method): Also lookup in
+       `mono_defaults.object_class' if we're an interfaces; fixes #75460.
+
+2005-07-07  Zoltan Varga  <vargaz@freemail.hu>
+
+       * appdomain.c (mono_domain_unload): Don't free the error message
+       before passing it to mono_get_exception_...
+
+       * reflection.c (CACHE_OBJECT): Fix the race introduced by the previous patch.
+       
 Thu Jul 7 19:59:31 CEST 2005 Paolo Molaro <lupus@ximian.com>
 
-       * threads.c: try to better gues an available RT signal (bug #75387).
+       * threads.c: try to better guess an available RT signal (bug #75387).
 
 2005-07-07  Zoltan Varga  <vargaz@freemail.hu>
 
@@ -15788,3 +16106,4 @@ Tue Jul  3 18:33:32 CEST 2001 Paolo Molaro <lupus@ximian.com>
 
        * mono/metadata/assembly.c (load_metadata_ptrs): Fix for Beta2
 
+