This patch replaces the calls to g_strcasecmp with either
[mono.git] / mono / metadata / ChangeLog
index a943cf085e51f93a66d8512eb99082dc36829b69..fcfedd8656bf1da14d4923d5834c7545a542868f 100644 (file)
@@ -1,3 +1,262 @@
+2009-09-23  Miguel de Icaza  <miguel@novell.com>
+
+       * verify.c: when comparing culture strings, use g_ascii_strcmp
+
+       * assembly.c (mono_public_tokens_are_equal): Change g_strcasecmp
+       when comparing public key tokens to use memcmp on 16 bytes.   I do
+       not believe this ever worked as advertised in the past.
+
+       The standard Public Key is 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00
+       which would have always failed earlier.
+       
+2009-06-25  Miguel de Icaza  <miguel@novell.com>
+
+       * gc.c: Raise a NullArgumentException if the object passed is
+       null.    
+
+2009-09-22  Zoltan Varga  <vargaz@gmail.com>
+
+       * image.c (mono_image_close): Atomically decrement the reference count and
+       remove the image from the hash tables, to prevent another thread from seeing a
+       dying MonoImage. Fixes #541194.
+
+2009-09-22 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * threadpool.c: actually use the minimum number of 'completion ports'
+       (for us is just a potential worker thread).
+
+2009-09-22 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * threadpool.c: remove ares_htable. It does not make sense any more
+       since the same objects are now stored in GC-tracked arrays while they are
+       in the queue.
+
+2009-09-22 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * threadpool.c: increase the minimum length of the queues to 128.
+       Remove warning.
+
+2009-09-21  Zoltan Varga  <vargaz@gmail.com>
+
+       * marshal.c (mono_marshal_get_string_ctor_signature): New internal function to
+       return the modified signature used by string ctors.
+
+2009-09-20  Zoltan Varga  <vargaz@gmail.com>
+
+       * marshal.c (mono_marshal_get_runtime_invoke_dynamic): New internal function
+       to return a runtime-invoke wrapper which uses DYN_CALL to call the wrapped
+       method, to be used by full-aot.
+
+2009-09-18  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       Since the runtime supports lazy initialization of a type's vtable and this can cause a type
+       to fail, we need to ensure that the vtable is properly initialized at spots were the type must
+       be known to be good.
+
+       * class.c (mono_class_init): Fail array types if their element type fails initialization
+       as well.
+
+       * object.c (mono_class_create_runtime_vtable): Fail array types if their element type fails
+       initialization, additionally we request the element_type vtable to be initialized as well.
+
+       This is fine and should not increase the working set in any meaningful way since it's reasonable
+       to assume       that most code will create an array and eventually populate it, which will require the
+       type's vtable to be initialized.
+
+       * loader.c (field_from_memberref): Add a comment for a possibly useless mono_class_init call.
+
+2009-09-17  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * normalization-tables.h : regenerated.
+
+2009-09-16  Zoltan Varga  <vargaz@gmail.com>
+
+       * mono-debug.c (mono_debug_add_method): Increase the size of the buffer,
+       a leb128 encoding can take up to 5 bytes.
+
+2009-09-15  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * class.c (verify_class_overrides): Remove useless argument.
+
+       * class.c (mono_class_setup_vtable_general): Move the overrides check to happen
+       before interface enumeration as this is no longer required.
+
+2009-09-15  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * class.c: New function mono_class_is_assignable_from_slow that is safe to be
+       used under mono_class_init context. This functions avoid any code path that
+       calls mono_class_init, which leads it to be slow as some things like the interface
+       bitmap are not available.
+
+       * class.c (verify_class_overrides): Use mono_class_is_assignable_from_slow instead
+       of it's own broken version. Fixes the verifier part of #538588.
+
+       * class-internals.h: Export mono_class_is_assignable_from_slow as part of the internal
+       API.
+
+2009-09-15  Mark Probst  <mark.probst@gmail.com>
+
+       * class.c (mono_class_init): Always set an exception in a class if
+       vtable setup fails.  Fixes #538577.
+
+       * generic-sharing.c: Raise an exception if mono_class_vtable()
+       returns NULL.
+
+2009-09-13  Zoltan Varga  <vargaz@gmail.com>
+
+       * marshal.c (mono_marshal_get_runtime_invoke): Don't share instance 
+       methods of vtypes, as they could be incorrectly shared with static methods
+       taking an IntPtr argument.
+
+2009-09-12 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * domain.c:
+       * object.c:
+       * class-internals.h: renamed waithandle_class to
+       manualresetevent_class.
+       * marshal.c: propagate the exception if a remoting BeginInvoke call
+       fails.
+
+2009-09-11  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * object.c: Properly handle vtable failures.
+
+2009-09-11  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * socket-io.c: Assert on vtable failure.
+
+       * mono-mlist.c: Assert on vtable failure.
+
+2009-09-11  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * marshal.c: Assert on vtable failure.
+
+2009-09-11  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * icall.c: Properly handle vtable failures.
+
+2009-09-11  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * debug-helpers.c (mono_class_describe_statics): Properly handle vtable failures.
+
+2009-09-11  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * cominterop.c (ves_icall_System_ComObject_CreateRCW): Property handle vtable failures.
+
+       * console-unix.c (do_console_cancel_event): Same.
+
+2009-09-11  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * class-internals.h: Add mono_class_vtable_full function that allows control
+       if an exception should be raised or not.
+
+       * object.c (mono_class_vtable): Call into mono_class_vtable_full. Fix this function
+       to do what its documentation say, that is to return NULL and set exception_type on
+       failure.
+
+       * object.c (mono_class_create_runtime_vtable): Add new raise_on_error parameter
+       and change the code to honor it.
+
+2009-09-11  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * verify.c: Fix typo in error message.
+
+2009-09-10  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * security-core-clr.c: Fix default_platform_check so it can run
+       the runtime coreclr tests (without an infinite recursion when
+       throwing an exception).
+
+2009-09-10  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       object.c (mono_delegate_ctor_with_method): Guard against null method.
+
+2009-09-10  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * marshal.c (mono_marshal_get_xappdomain_dispatch): Add an assert
+       that should be replaced with error handling later.
+
+2009-09-10  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * marshal.c (mono_delegate_end_invoke): Fix warning.
+
+2009-09-10  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * loader.c (mono_field_from_token): Properly handle invalid
+       dynamic tokens.
+
+2009-09-10  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * pedump.c (verify_image_file): Skip types that can't be
+       decoded.
+
+2009-09-10  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * verify.c: Look for recursive valuetypes only against the
+       type been initialized as this is a lot simpler and works.
+
+2009-09-10  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * verify.c: Ensure that fields are properly loaded before
+       checking them.
+
+2009-09-10  Bill Holmes  <billholmes54@gmail.com>
+
+       * object.c (mono_object_get_virtual_method) : Call 
+         mono_cominterop_get_invoke if the object is a COM object.
+
+       Code is contributed under MIT/X11 license.
+
+2009-09-09  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * verify.c: Check for recursive valuetype definitions.
+
+2009-09-08  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       Use inheritance-aware interface offsets. Inherited types use the same offsets
+       of their parents. This reduce offset duplication in case more than one type in
+       the inheritance tree explicitly implements the same interface.
+
+       This also removes a source of vtable bubbles found in #532409. An abstract type
+       isn't required to provide abstract methods to all interfaces it implements, which
+       resulted in a bubble with the previous scheme as the child would get a non-full
+       vtable from its parent. We fail all concrete types with vtable bubbles, so this
+       should be fixed.
+
+       This change causes an increase of 1.7% in vtable memory usage for IronPython pystone but
+       it's expected to not cause any significant increase beyond that.
+
+       * class.c (setup_interface_offsets): Compute super class iface offsets
+       first to force sharing.
+
+       * class.c: Add VTABLE_SELECTOR macro to the vtable debug macros to help
+       dumping only the relevant ones.
+
+       * class.c (mono_class_setup_vtable_general): Give newslot, non final, virtual
+       methods a new slot regardless if they belong to an interface or not. This allows
+       an inherited type to override the iface method separately from the class one.
+
+2009-09-04 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * threadpool.c: make the Sleep() alertable to prevent delays exiting
+       applications that take less than 2s to execute.
+       Bug #524984 fixed.
+
+2009-09-04  Zoltan Varga  <vargaz@gmail.com>
+
+       * object-internals.h (MonoRuntimeCallbacks): Add a 'get_runtime_build_info' callback.
+
+       * object.c (mono_get_runtime_callbacks): New helper function to return
+       the runtime callbacks.
+
+       * icall.c (ves_icall_Mono_Runtime_GetDisplayName): Use the result of
+       mono_get_runtime_build_info () as the display name.
+       
+2009-09-03  Zoltan Varga  <vargaz@gmail.com>
+
+       * marshal.c (emit_marshal_array): Call conv.ovf.i on the array parameter
+       argument, since NEWARR expects a native int. Fixes #481559.
+
 2009-09-03  Rodrigo Kumpera  <rkumpera@novell.com>
 
        * icall.c (ves_icall_MonoMethod_GetDllImportAttribute): Guard