2008-11-28 Mark Probst <mark.probst@gmail.com>
[mono.git] / mono / metadata / ChangeLog
index 0f2059ee05d3ecb656c5c3e770247561d78e31a3..4105016b773c1ba908c61d54413aa1e22c0bc2be 100644 (file)
@@ -1,3 +1,333 @@
+2008-11-28  Mark Probst  <mark.probst@gmail.com>
+
+       * class.c: Enable generic code sharing on PPC64.
+
+2008-11-27  Mark Probst  <mark.probst@gmail.com>
+
+       * mempool.c, mempool-internals.h: Added g_slist_append_mempool()
+       from mini/mini.c.
+
+       * generic-sharing.c: Allocate the method template slists from the
+       image mempool so it doesn't leak.
+
+2008-11-27 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * class.c (generic_array_methods): Release the linked list.
+
+2008-11-27  Mark Probst  <mark.probst@gmail.com>
+
+       * marshal.c (mono_string_builder_to_utf8): Fixed a wrong
+       invocation to g_utf16_to_utf8().
+
+2008-11-26  Mark Probst  <mark.probst@gmail.com>
+
+       * icall.c (mono_ArgIterator_IntGetNextArg): Handle sub-word sized
+       arguments on big endian archs.
+
+2008-11-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * reflection.c: (_mono_reflection_parse_type) skip leading spaces in
+       the type name (test added in corlib).
+
+2008-11-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * pedump.c: initialize perf. counters. Fixes a segv.
+
+2008-11-25  Martin Baulig  <martin@ximian.com>
+
+       * mono-debug-debugger.c
+       (mono_debugger_runtime_invoke): Return the exception object if an
+       exception was thrown.  Visual Studio displays the exception object
+       in the locals window.
+
+2008-11-24  Mark Probst  <mark.probst@gmail.com>
+
+       * mini-trampolines.c (mono_delegate_trampoline): Don't return a
+       ftnptr.
+
+2008-11-24  Mark Probst  <mark.probst@gmail.com>
+
+       * marshal.c (mono_type_native_stack_size): MONO_TYPE_I and
+       MONO_TYPE_U are sizeof (gpointer), too.
+
+2008-11-24  Mark Probst  <mark.probst@gmail.com>
+
+       * marshal.c (mono_type_native_stack_size): Fixed size and
+       alignment for reference types.
+
+2008-11-23  Mark Probst  <mark.probst@gmail.com>
+
+       * class.c (mono_class_generic_sharing_enabled): Disable generic
+       code sharing for PPC64.
+
+2008-11-21 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * icall.c (mono_method_get_equivalent_method): Make sure
+       method->klass->methods is inited before looping over it.
+
+2008-11-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * object.c: when calling ExecuteAssembly in a newly created domain,
+       the configuration file and application base are already set up.
+       Bug #446353 take 2 fixed.
+
+2008-11-20  Zoltan Varga  <vargaz@gmail.com>
+
+       * marshal.c: Add support for MONO_TYPE_GENERICINST to some functions.
+       Fixes #444715. Fix a warning.
+
+2008-11-18 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * appdomain.c: write the full path of the assembly to the .ini file
+       created when "shadow-copying"
+       Bug #446353 fixed.
+
+2008-11-18  Zoltan Varga  <vargaz@gmail.com>
+
+       * debug-helpers.c (mono_method_full_name): Stringify wrapper types even
+       if signature==FALSE.
+
+2008-11-17  Bill Holmes  <billholmes54@gmail.com>
+
+       * marshal.h : Fix the cygwin build.
+          marshal.c:12442: undefined reference to `_IID_IMarshal'
+         
+       Code is contributed under MIT/X11 license.
+
+2008-11-17  Bill Holmes  <billholmes54@gmail.com>
+
+       * marshal.h : cominterop_ccw_getfreethreadedmarshaler added to return the
+         free threaded marshaler when QueryInterface is called on a COM callable
+         wrapper requesting the IMarshal interface.
+         
+       Code is contributed under MIT/X11 license.
+
+2008-11-14  Zoltan Varga  <vargaz@gmail.com>
+
+       * domain-internals.h (MonoDomain): Update MONO_DOMAIN_LAST_GC_TRACKED.
+
+       * reflection.c (mono_type_get_object): Special case the very common
+       void type.
+
+       * domain-internals.h (struct _MonoDomain): Add 'typeof_void' field to
+       hold typeof(void).
+
+2008-11-13  Bill Holmes  <billholmes54@gmail.com>
+
+       * process.h : Adding method declaration for
+         ves_icall_System_Diagnostics_Process_WaitForInputIdle_internal.
+         
+       * process.c : Adding implementation for
+         ves_icall_System_Diagnostics_Process_WaitForInputIdle_internal.
+         
+       * icall-def.h : Registering ICALL Processs.WaitForInputIdle_internal
+         to ves_icall_System_Diagnostics_Process_WaitForInputIdle_internal.
+
+       Code is contributed under MIT/X11 license.
+
+2008-11-10  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * appdomain.c (unload_thread_main): Clean up threadpool by
+       calling mono_thread_pool_remove_domain_jobs.
+
+       * domain-internals.h (struct _MonoDomain): Add new fields to
+       help coordinate the cleanup of the threadpool.
+
+       * threadpool.c (mono_thread_pool_remove_domain_jobs): New fuction
+       that cleans up the threadpool of all jobs associated with an appdomain.
+       It does that by cleaning up the queues and making sure all active
+       threads are accounted.
+
+       * threadpool.c (async_invoke_io_thread): Ignore job if its domain is
+       unloaded or in the process of. Take this is such way that there is
+       no race condition between another thread starting the unload and the
+       current thread acknowledging it.
+
+       * threadpool.c (async_invoke_thread): Same.
+
+       * threadpool.c (start_io_thread_or_queue): Increment threadpool_jobs before
+       firing the new thread.
+
+       * threadpool.c (start_tpthread): Same.
+
+       * theadpool.c (append_job): Increment threadpool_jobs before queueing.
+
+       * threadpool.h: Add mono_thread_pool_remove_domain_jobs.
+
+2008-11-06  Jonathan Chambers  <joncham@gmail.com>
+
+       * file-io.c (ves_icall_System_IO_MonoIO_DuplicateHandle): 
+       Add support for DuplicateHandle.
+       
+       * file-io.h (ves_icall_System_IO_MonoIO_DuplicateHandle): 
+       Add support for DuplicateHandle.
+       
+       * icall-def.h (ves_icall_System_IO_MonoIO_DuplicateHandle): 
+       Add support for DuplicateHandle.
+
+       Code is contributed under MIT/X11 license.
+
+2008-11-06  Mark Probst  <mark.probst@gmail.com>
+
+       * class-internals.h: Make min_align into a whole byte.
+
+       * class.c: Set min_align for SIMD types to 16.
+
+2008-11-05  Geoff Norton  <gnorton@novell.com>
+
+       * attach.c: Default the attacher to enabled for all cases including
+       embedded.
+
+Wed Nov 5 16:33:41 CET 2008 Paolo Molaro <lupus@ximian.com>
+
+       * monitor.c, class-internals.h, wrapper-types.h: revert incorrect
+       change r117650.
+
+2008-11-04  Mark Probst  <mark.probst@gmail.com>
+
+       * monitor.c, monitor.h: New function for querying offsets of
+       members of MonoThreadsSync.
+
+2008-11-04  Zoltan Varga  <vargaz@gmail.com>
+
+       * marshal.c (mono_marshal_get_runtime_invoke): Use runtime_invoke_direct_cache
+       to speed up this function and to avoid the boundless memory growth caused by
+       the signature_dup () calls.
+
+2008-11-02  Zoltan Varga  <vargaz@gmail.com>
+
+       * monitor.c (mono_monitor_get_fast_enter_method): Add a proper type for the
+       wrapper.
+
+       * class-internals.h (struct _MonoMethod): Increase the size of 'wrapper_type'
+       by 1 bit.
+
+       * wrapper-types.h: Add MONO_WRAPPER_MONITOR_FAST_ENTER/EXIT.
+
+2008-10-31 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * appdomain.c:
+       * domain-internals.h: made mono_set_private_bin_path_from_config()
+       "internal".
+       * object.c: call the above function after setting the configuration
+       file path for the root domain.
+       Fixes bug #314478.
+
+2008-10-31 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * assembly.c: when the assembly is loaded from an absolute path, end
+       basedir with a directory separator.
+       Bug #440781 fixed.
+
+2008-10-30  Mark Probst  <mark.probst@gmail.com>
+
+       * monitor.c (mono_monitor_get_fast_enter_method): If
+       CompareExchange is not available, don't create the fastpath
+       instead of asserting.  (The method is missing in the 1.1 profile.)
+
+2008-10-30  Mark Probst  <mark.probst@gmail.com>
+
+       * marshal.c, marshal.h: Rename signature_no_pinvoke() and make it non-static.
+
+       * monitor.c, monitor.h: Code for generating Monitor.Enter and
+       Monitor.Exit IL fastpaths.
+
+2008-10-28  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * class.c (mono_class_create_from_typedef): Added Vector2ul.
+
+2008-10-28  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * class.c (mono_class_create_from_typedef): Added Vector2l.
+
+2008-10-27  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * class.c (mono_class_create_from_typedef): Added Vector2d.
+
+2008-10-27 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * appdomain.c: translate \ into / for cache_path.
+       * domain-internals.h: new mono_is_shadow_copy_enabled().
+       * icall.c: (fill_reflection_assembly_name) do the same path
+       manipulations that get_code_base does.
+       (get_code_base) use mono_is_shadow_copy_enabled.
+
+2008-10-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * appdomain.c: shadow-copied assemblies go to CachePath +
+       ApplicationName when both are set. DynamicBase has nothing to do with
+       shadow copies.
+       Bug #406877 fixed.
+
+2008-10-26  Zoltan Varga  <vargaz@gmail.com>
+
+       * reflection.c (encode_locals): Use a cache to avoid duplicate entries in the
+       STANDALONESIG table.
+
+       * metadata-internals.h (struct _MonoDynamicImage): Add cache for
+       standalone signatures.
+
+       * marshal.c (mono_marshal_get_runtime_invoke): Rewrite the signature 
+       comparison code: instead of comparing the signatures using a custom
+       equals function, transform them to a common signature and compare that. This
+       works better with AOT.
+
+2008-10-25  Zoltan Varga  <vargaz@gmail.com>
+
+       * Reapply r116521 with (!mono_debug_using_mono_debugger ()) checks.
+
+       * class.c (mono_class_init): Remove unneccesary mono_class_setup_properties ()
+       call for generic instances.
+       (mono_class_setup_properties): Call setup_properties () before accessing
+       gklass->properties.
+
+       * class.c (mono_class_get_virtual_methods): New helper function to iterate
+       over the virtual methods of a class using metadata if possible, avoiding the
+       creation of MonoMethod's for non-virtual methods.
+       
+       * class.c (mono_class_setup_vtable_general): Rewrite this to use 
+       get_virtual_methods () to iterate over the virtual methods of classes.
+
+2008-10-25  Martin Baulig  <martin@ximian.com>
+
+       * mono-debug.h (MONO_DEBUG_VAR_ADDRESS_MODE_DEAD): New #define.
+
+2008-10-24  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * class.c (mono_class_create_from_typedef): Added Vector4i.
+
+2008-10-24  Mark Probst  <mark.probst@gmail.com>
+
+       * marshal.c (mono_marshal_get_synchronized_wrapper): Emit
+       ldtoken+GetTypeFromHandle instead of i4+icall so that the JIT
+       special-casing applies to eliminate the call completely.
+
+2008-10-24  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * class.c (mono_class_create_from_typedef): Added Vector8s.
+
+2008-10-23  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * class.c (mono_class_create_from_typedef): Added Vector16sb.
+
+2008-10-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * icall.c: get rid of annoying warning.
+
+2008-10-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * threadpool.c: in 1.x, if you change the background status of the
+       threadpool thread, it's not reset.
+       Remove unnecessary calls to SetState.
+
+2008-10-22 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * threadpool.c: asynchronously create a set of idle threads upon first
+       use of the threadpool. SetMinThreads will now start the appropriate
+       number of idle threads if they are not already running. The default is
+       1 threadpool thread per CPU. Increased the maximum number of threads
+       per CPU to 10.
+
 2008-10-22  Martin Baulig  <martin@ximian.com>
 
        Revert r116521 from Zoltan, it breaks the debugger:
@@ -192,6 +522,7 @@ Thu Oct 16 20:59:11 CEST 2008 Paolo Molaro <lupus@ximian.com>
 
        * appdomain.c: check for NULL setup before it's referenced.
 
+p
 Thu Oct 16 16:12:23 CEST 2008 Paolo Molaro <lupus@ximian.com>
 
        * class.c: remove the unused old vtable setup code.