Fri Sep 28 18:07:53 CEST 2007 Paolo Molaro <lupus@ximian.com>
[mono.git] / mono / metadata / ChangeLog
index df9c141f6249d00289b49483a6d23e8d0cc37764..554e892e5afe0b4fed92ff977c97e1cbe872646a 100644 (file)
@@ -1,3 +1,161 @@
+
+Fri Sep 28 18:07:53 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+       * class.c: cleanup of the code that synthetizes interfaces for
+       arrays in 2.0: saves quit a bit of corlib mempool memory.
+       Code to fix bug #325495 ifdeffed out for now until the issues
+       with memory usage and O(n^2) behaviour are fixed.
+
+Fri Sep 28 17:19:40 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+       * marshal.c: when possible, do not duplicate the name of the methods
+       in the method builder and in the generated MonoMethod.
+
+2007-09-27  Rodrigo Kumpera  <rkumpera@novell.com>
+       * verify.c: added support for type checking ldind_* opcodes.
+
+2007-09-27  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * class-internals.h (struct _MonoGenericClass): new field is_tb_open
+       which is used to distinguish the fully open instantiation of a TypeBuilder
+       with the rest. This temporary hack is required to restore the property that
+       the fully open instantiation is the same type of the generic type definition.
+
+       * class-internals.h (mono_generic_class_is_generic_type_definition):
+       new function as part of the internal API.
+
+       * class.c (inflate_generic_type): return NULL when the generic inst is
+       fully open. The fully open generic type is now the same as the generic type
+       definition for non TypeBuilder types.
+
+       * class.c (mono_generic_class_get_class): removed assert since it is
+       no longer valid, gklass->cached_class can point to the generic type definition.
+
+       * class.c (mono_generic_class_is_generic_type_definition): new.
+
+       * metadata.c (mono_generic_class_hash): added is_tb_open field
+       to the hash calculation.
+
+       * metadata.c (free_generic_class): if the generic class is associated
+       with the generic type definition, its field will come from the mempool and
+       must not be freed.
+
+       * metadata.c (mono_metadata_is_type_builder_generic_type_definition):
+       new, this function identifies the corner case of a TypeBuilder fully open
+       instantiation.
+
+       * metadata.c (mono_metadata_lookup_generic_class): use is_tb_open
+       for lookup. Set gclass->cached_class to be the container class in case of
+       the fully open instantiation of non TypeBuilder types.
+
+       * metadata.c (_mono_metadata_generic_class_equal): use is_tb_open
+       to compare generic classes.
+
+       * reflection.c (method_encode_methodspec): remove assert that
+       no longer is valid.
+
+       * reflection.c (mono_reflection_generic_class_initialize): add
+       an aditional assert to ensure the proper type is used.
+
+2007-09-26  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * verify.c: disabled all debug spew by default, define MONO_VERIFIER_DEBUG
+       to enjoy it.
+
+2007-09-25  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * verify.c (push_arg): Fixed support for ldarga
+       * verify.c (set_stack_value): Removed superfluous parameter, fixed the
+       MonoType used as first arg in case of instance calls.
+
+2007-09-25  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * verify.c: Support for verifying VAR and MVAR types, 
+
+2007-09-25  Zoltan Varga  <vargaz@gmail.com>
+
+       * icall.c (ves_icall_get_property_info): Set the reflected type of the
+       accessors correctly.
+
+Tue Sep 25 14:56:03 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+       * threads.c: support OSX and other systems in
+       mono_thread_get_stack_bounds (bug #328026).
+
+2007-09-25  Martin Baulig  <martin@ximian.com>
+
+       * mono-debug.h
+       (MonoDebugVarInfo): Replace `MonoClass *klass' with `MonoType *type'.
+
+2007-09-24  Martin Baulig  <martin@ximian.com>
+
+       * mono-debug.h
+       (MonoDebugClassEntry): Moved the definition of this struct into
+       mono-debug.c to make it private.
+
+       * mono-debug.c
+       (MonoDebugClassEntry): Removed `symfile_id'; since we now use one
+       type table per symbol file, we don't need to store the symfile id
+       any longer.
+
+2007-09-24  Martin Baulig  <martin@ximian.com>
+
+       Create one type table per symbol file, since a `MonoClass *' gets
+       invalid when its image is unloaded.
+
+       * mono-debug.h (MonoSymbolTable): Removed `type_table'.
+       (MonoDebugHandle): Added `type_table'.
+
+Mon Sep 24 17:25:43 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+       * mempool.c, mempool.h: added mono_mempool_new_size () API
+       to be able to specify a smaller initial size for the pool.
+       Adjusted the code to slowly increase pool size before using
+       the previous default size.
+       * image.c: use a small initial size for image mempools.
+
+2007-09-23  Zoltan Varga  <vargaz@gmail.com>
+
+       * marshal.c (emit_marshal_array): Generate valid IL for byref array case.
+       Fixes ##320990.
+
+       * icall.c (ves_icall_System_Reflection_Assembly_get_ManifestModuleInternal): 
+       Rename this to ves_icall_System_Reflection_Assembly_GetManifestModuleInternal.
+
+2007-09-22  Zoltan Varga  <vargaz@gmail.com>
+
+       * metadata.c (mono_type_create_from_typespec): Remove an invalid
+       free. Fixes #327438.
+
+2007-09-21  Raja R Harinath  <harinath@gmail.com>
+
+       * metadata.c (type_in_image) <MONO_TYPE_SZARRAY>: Handle arrays of
+       generic instantiations, etc.
+       <MONO_TYPE_ARRAY>: Likewise.
+
+2007-09-21  Martin Baulig  <martin@ximian.com>
+
+       * mono-debug.h (MonoSymbolFilePriv, MonoDebugHandlePriv): Removed;
+       these structs were never defined.
+       (MonoDebugHandle): Removed the `_priv' field, it was never used.
+
+2007-09-21  Martin Baulig  <martin@ximian.com>
+
+       * mono-debug.h (MonoDebugVarInfo): Add `MonoClass *klass'.
+
+Fri Sep 21 14:39:45 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+       * image.c: removed the guid hash tables: we can get the same info
+       without the additional memory usage hit (partially fixes also bug #327052).
+
+2007-09-10  Massimiliano Mantione  <massi@ximian.com>
+
+       * profiler.h, profiler-private.h, profiler.c: add a new profiler
+       event to handle unloading methods. After the event is called, the
+       corresponding MonoMethod* must be considered invalid.
+       * loader.c (mono_free_method): call the new mono_profiler_method_free
+       event.
+
 2007-09-20  Mark Probst  <mark.probst@gmail.com>
 
        * domain-internals.h: New flag in MonoJitInfo which marks shared