2005-01-11 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mono / metadata / ChangeLog
index ec675eaab568bf28b6fc2d9aad048db98a9a9aa1..6c579ae0c59d27af38165c64e7748a93fdde8fe9 100644 (file)
@@ -1,3 +1,300 @@
+2005-01-11  Zoltan Varga  <vargaz@freemail.hu>
+
+       * threads.c (interruption_request_apc): Decore APC callbacks with CALLBACK under win32.
+
+Mon Jan 10 18:47:28 CET 2005 Paolo Molaro <lupus@ximian.com>
+
+       * threads.h, threads.c, object.c: added accessor and settor for
+       main_thread. Handle it specially when exiting from it: wait
+       for other foreground threads to exit.
+
+Mon Jan 10 12:06:18 CET 2005 Paolo Molaro <lupus@ximian.com>
+
+       * process.c, verify.c: remove some bloat.
+
+2005-01-09  Zoltan Varga  <vargaz@freemail.hu>
+
+       * loader.c (mono_lookup_pinvoke_call): If we found the function without name mangling, change
+       the calling convention to cdecl under win32.
+
+2005-01-08  Ben Maurer  <bmaurer@ximian.com>
+
+       * object.c (mono_object_get_size): New function to get the size of
+       an object instance.
+
+       * profiler.c (simple_allocation): Use above.
+
+2005-01-08  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * appdomain.c: Replaced ves_icall_System_AppDomain_getDomainByID by
+       ves_icall_System_AppDomain_getRootDomain (as it's not required to
+       get an appdomain by it's id and we can't assume the root's id is 0).
+       * domain-internals.h: Change the function prototype to match.
+       * icall.c: Change the icall table for AppDomain.
+
+2005-01-08  Miguel de Icaza  <miguel@ximian.com>
+
+       * locales.c (string_invariant_compare_char): Only compute
+       GUnicodeTypes in the case where we need them.  Test for ordinality
+       first and return if so.
+
+       From the commit:
+
+               /*
+                * FIXME: here we must use the information from c1type and c2type
+                * to find out the proper collation, even on the InvariantCulture, the
+                * sorting is not done by computing the unicode values, but their
+                * actual sort order.
+                */
+
+Sat Jan 8 19:03:26 CET 2005 Paolo Molaro <lupus@ximian.com>
+
+       * loader.c: for P/Invoke methods, allow the "Internal" shared
+       library name to refer to the calling process symbol namespace.
+
+2005-01-07  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Makefile.am: Add the security manager to the build.
+       * security-manager.c|h: New. Initialization of the security manager.
+
+2005-01-07  Dick Porter  <dick@ximian.com>
+
+       * threads.c: 
+       * monitor.c: Update thread state during Monitor and WaitHandle
+       waits.  Fixes bug 71031.
+
+2005-01-07  Zoltan Varga  <vargaz@freemail.hu>
+
+       * reflection.c (property_encode_signature): Correctly handle when the
+       property has no methods.
+
+2005-01-06  Zoltan Varga  <vargaz@freemail.hu>
+
+       * reflection.c (reflection_methodbuilder_to_mono_method): Remove debug stuff.
+       
+       * reflection.c (reflection_methodbuilder_from_method_builder): Copy
+       fields from mb, not rmb. Fixes #71017.
+
+       * marshal.c (emit_ptr_to_str_conv): Add support for 
+       ByValTStr -> string conversion. Fixes #71015.
+
+       * appdomain.c (mono_domain_owns_vtable_slot): New helper function.
+
+       * mempool.c (mono_mempool_contains_addr): New helper function.
+
+2005-01-05  Zoltan Varga  <vargaz@freemail.hu>
+
+       * metadata.c (mono_metadata_compute_size): Fix size calculation of
+       HasSematics encoded fields.
+       
+       * metadata.c (mono_type_to_unmanaged): Improve error message for 
+       invalid string marshalling.
+
+       * metadata.c: Fix warnings.
+       
+Wed Jan 5 16:17:27 CET 2005 Paolo Molaro <lupus@ximian.com>
+
+       * profiler-private.h, profiler.c, profiler.h, gc.c: sample statistical
+       profiler support.
+
+2005-01-05  Zoltan Varga  <vargaz@freemail.hu>
+
+       * domain.c object.c domain-internals.h: Revert part of r38077 since the
+       keys to proxy_vtable_hash are GCd objects. Fixes running the class lib
+       tests.
+
+2005-01-03  Zoltan Varga  <vargaz@freemail.hu>
+
+       * marshal.c: Use MONO_CLASSCONST instead of MONO_LDPTR in some places,
+       so methods containing these can be AOTed.
+
+2005-01-03  Martin Baulig  <martin@ximian.com>
+
+       * loader.c (find_method): Removed the hack for generic instances.
+       (method_from_memberref): If our parent is a generic instance, pass
+       its generic type definition to find_method() and then inflate the
+       method.
+       (mono_get_method_constrained): Pass the generic type definition to
+       find_method() and inflate the method later.
+
+       * class-internals.h (MonoStats): Added `generic_class_count'.
+
+       * icall.c (ves_icall_MonoGenericMethod_get_reflected_type):
+       Renamed to ves_icall_MonoGenericMethod_get_ReflectedType().
+
+       * reflection.c (mono_custom_attrs_from_params): Don't ignore
+       generic type definitions.
+
+2004-12-30  Zoltan Varga  <vargaz@freemail.hu>
+
+       * loader.c icall.c: Fix warnings.
+
+2004-12-29  Zoltan Varga  <vargaz@freemail.hu>
+
+       * marshal.c (mono_marshal_get_managed_wrapper): Fix returning of
+       blittable types. Fixes #70864.
+
+2004-12-29  Martin Baulig  <martin@ximian.com>
+
+       * icall.c
+       (ves_icall_MonoGenericMethod_get_reflected_type): New interncall.
+
+       * reflection.c (mono_method_get_object): Create a
+       "System.Reflection.MonoGenericMethod" for inflated methods; don't
+       call mono_get_inflated_method().
+
+       * class-internals.h (MonoStats): Added `inflated_method_count_2'.
+
+2004-12-27  Martin Baulig  <martin@ximian.com>
+
+       * class-internals.h (MonoMethod): Added `is_inflated' flag.
+       (MonoMethodInflated): Added `inflated' field.
+
+       * class.c (mono_class_inflate_generic_method): Don't really
+       inflate the method here; just set the `is_inflated' flag in the
+       MonoMethod.
+       (mono_class_get_inflated_method): Actually inflate the method here
+       if it's not already inflated; we use the MonoMethodInflated's new
+       `inflated' field as a cache.
+
+2004-12-26  Martin Baulig  <martin@ximian.com>
+
+       * class.c
+       (inflate_generic_class): Moved some code out of inflate_generic_type().
+       (mono_class_inflate_generic_method): If we're already inflated,
+       inflate the context and use the declaring method; ie. make sure
+       the declaring method of an inflated method is always the generic
+       method definition.
+       (mono_class_create_from_typedef): Create
+       `class->generic_container->context->gclass'.
+
+2004-12-24  Ben Maurer  <bmaurer@ximian.com>
+
+       * metadata-internals.h, marshal.c, reflection.c: More
+       MonoGHashTable->GHashTable.
+
+       * domain-internals.h, class.c: Change MonoGHashTable's into
+       GHashTables for some cases where no gc stuff is used
+
+       All users: update apis
+
+2004-12-23  Ben Maurer  <bmaurer@ximian.com>
+
+       * metadata.c (builtin_types): Make this `const'. Makes this get
+       put into the shareable section.
+       (mono_metadata_init): Casts to make gcc happy.
+
+2004-12-22  Zoltan Varga  <vargaz@freemail.hu>
+
+       * gc.c (mono_gc_init): Add a '\n' to the valgrind warning.
+
+2004-12-21  Sebastien Pouliot  <sebastien@ximian.com> 
+
+       * icall.c: Added an internal call to retrieve the position and length
+       of assembly-level declarative security attributes (RequestMinimum, 
+       RequestOptional and RequestRefuse). This is used by the Assembly class
+       to re-create the corresponding permission sets.
+
+Tue Dec 21 14:50:31 CET 2004 Paolo Molaro <lupus@ximian.com>
+
+       * marshal.c: fix the stelemref wrapper to be type correct
+       (and faster).
+
+2004-12-20  Ben Maurer  <bmaurer@ximian.com>
+
+       * icall.c (ves_icall_System_Object_GetHashCode): There was no need
+       to do key & 0x7fffffff. Hashtable already does this. It just
+       results in longer code.
+
+2004-12-20  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * appdomain.c: Bump corlib version.
+       * class-internals.h: Added RuntimeSecurityFrame to mono_defaults.
+       * domain.c: Add RuntimeSecurityFrame to mono_defaults.
+       * reflection.c|h: Add functions to get declarative security infos
+       (blob position and length) for assemblies, classes and methods.
+
+Mon Dec 20 15:28:54 CET 2004 Paolo Molaro <lupus@ximian.com>
+
+       * reflection.c: sort the constant table (bug #70693).
+
+Mon Dec 20 12:19:37 CET 2004 Paolo Molaro <lupus@ximian.com>
+
+       * object-internals.h, threads.c, domain.c: add accessors for
+       the MonoThread and MonoDomain tls keys.
+
+2004-12-18  Martin Baulig  <martin@ximian.com>
+
+       * class.c (inflate_generic_type): If we're inflating a generic
+       instance, set `ngclass->context->container = context->container';
+       ie. the container we inflated into.
+
+       * metadata.c (mono_metadata_parse_generic_param): Reflect above
+       inflate_generic_type() changes.
+
+2004-12-17  Martin Baulig  <martin@ximian.com>
+
+       * class-internals.h
+       (MonoGenericClass): Replaced `MonoType *generic_type' with
+       `MonoClass *generic_class'.  Removed `dynamic_info'; if
+       `is_dynamic' is true, we're a `MonoDynamicGenericClass'.
+       (MonoDynamicGenericClass): Derive from `MonoGenericClass'.
+
+2004-12-16  Zoltan Varga  <vargaz@freemail.hu>
+
+       * exception.c (mono_exception_from_token): New helper function.
+
+2004-12-15  Zoltan Varga  <vargaz@freemail.hu>
+
+       * assembly.c (mono_assembly_load_with_partial_name): Call 
+       mono_assembly_loaded before invoking the preload hooks. Fixes
+       #70564.
+
+       * object-internals.h (MonoThread): Change culture_info and 
+       ui_culture_info into an array.
+
+       * threads.c: Cache culture info objects from more than one appdomain.
+
+       * threads.c threads-types.h icall.c: Add icalls for manipulating the 
+       current UI culture.
+
+2004-12-14  Zoltan Varga  <vargaz@freemail.hu>
+
+       * threads.h threads.c appdomain.c: Clear the culture_info field of
+       all threads during unloading if they point to an object in the dying
+       appdomain.
+
+2004-12-13  Ben Maurer  <bmaurer@ximian.com>
+
+       * culture-info.h (TextInfoEntry): New struct
+       * object-internals.h: sync with managed
+       * locales.c: fill the `text_info_data' field
+       * culture-info-tables.h: update
+
+Mon Dec 13 18:10:50 CET 2004 Paolo Molaro <lupus@ximian.com>
+
+       * Makefile.am, monodiet.c: add monodiet, an IL code garbage
+       collector.
+
+2004-12-12  Ben Maurer  <bmaurer@ximian.com>
+
+       * icall.c (ves_icall_ModuleBuilder_getToken): Check for null
+       (ves_icall_ModuleBuilder_getMethodToken): Ditto
+
+2004-12-12  Martin Baulig  <martin@ximian.com>
+
+       * mono-debug-debugger.c (write_type): If we're an enum and the
+       builtin types have already been initialized, call mono_class_init().
+
+2004-12-11  Martin Baulig  <martin@ximian.com>
+
+       * metadata.c (mono_metadata_load_generic_params): Added
+       `MonoGenericContainer *parent_container' argument; automatically
+       compute `container->is_method'; pass the correct owner to
+       get_constraints().      
+
+       * reflection.c (compare_genericparam): Sort the GenericParam table
+       according to increasing owners. 
 
 Fri Dec 10 18:43:46 CET 2004 Paolo Molaro <lupus@ximian.com>
 
@@ -8,9 +305,9 @@ Fri Dec 10 18:42:11 CET 2004 Paolo Molaro <lupus@ximian.com>
        * decimal.c, icall.c: allow disabling System.Decimal support.
 
 2004-12-09  Marek Safar <marek.safar@seznam.cz>
-\r
-       * reflection.c: Add support for null attribute arguments.\r
-\r
+
+       * reflection.c: Add support for null attribute arguments.
+
 2004-12-09  Martin Baulig  <martin@ximian.com>
 
        * metadata.h, loader.h: Use `idx' instead of `index' in parameter