2010-07-06 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mono / metadata / ChangeLog
index 29d024198d98c59e6f982af0947431b372f279e4..b06f850e3fa0486aac402afa6f309161106843ba 100644 (file)
@@ -1,3 +1,406 @@
+2010-07-06  Zoltan Varga  <vargaz@gmail.com>
+
+       * Makefile.am (sgen_sources): Add missing sgen files.
+
+2010-06-07  Martin Baulig  <martin@ximian.com>
+
+       * mono-debug-debugger.c (mono_debugger_get_thread_abort_signal):
+       New helper function since mono_thread_get_abort_signal() is now
+       internal.
+
+2010-06-07  Martin Baulig  <martin@ximian.com>
+
+       * mono-debug.h, debug-mono-symfile.h: Kill glib dependencies.
+
+2010-07-04 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * file-io.c: don't prepend anything to the names returned
+       from FindFirst/FindNext.
+
+2010-07-02  Michael Hutchinson  <mhutchinson@novell.com>
+
+       * object-internals.h, object.h: Make mono_string_to_utf_8_checked 
+       public, as mono_string_to_utf_8 is deprecated.
+
+       * object.(c|h): Added mono_object_to_string, a public helper function 
+       that calls ToString on a MonoObject and returns a MonoString.
+
+       * object.c (mono_print_unhandled_exception): Use mono_object_to_string.
+
+2010-07-01  Zoltan Varga  <vargaz@gmail.com>
+
+       * filewatcher.h filewatcher.h decimal.c threads-types.h: Applied patch
+       from Elijah Taylor (elijahtaylor@google.com). Fix some definitions to
+       match their declarations and vice-versa.
+
+
+Wed Jun 30 12:08:36 CEST 2010 Paolo Molaro <lupus@ximian.com>
+
+       * class-internals.h, domain-internals.h: mark functions that are
+       needed by the llvm module.
+
+2010-06-30 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * assembly.c (framework_assemblies): Add 3.5 assemblies.
+
+       * domain-internals.h (MonoRuntimeInfo): Increase version_sets
+       by one to have room to remap 3.5 assemblies.
+
+       * domain.c (supported_runtimes): Add 3.5 remapping information.
+
+2010-06-30 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * reflection.c (mono_image_create_token): Handle a
+       FieldBuilder from a different assembly.
+
+       Fixes #611836.
+
+2010-06-30 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * verify.c (do_store_static_field): Improve error
+       message.
+
+2010-06-29 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * assembly.c: Revert r159692 since it breaks loading 3.5
+       assemblies under 2.0.
+
+2010-06-29 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * icall.c (ves_icall_Type_make_array_type): Raise a TLE if a
+       TypedByRef is passed.
+
+       * icall.c (ves_icall_Type_make_byref_type): Ditto.
+
+       * icall.c (ves_icall_Type_MakePointerType): Ditto.
+
+       Fixes #612780.
+
+2010-06-29 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * assembly.c: Add a few more assemblies to the list of framework
+       assemblies.
+
+       Fixes #617714.
+
+2010-06-28  Zoltan Varga  <vargaz@gmail.com>
+
+       * class.c (mono_class_get_vtable_entry): Avoid a crash if mono_class_setup_vtable ()
+       fails.
+
+2010-06-25  Mark Probst  <mark.probst@gmail.com>
+
+       * class.c (mono_class_inflate_generic_method_full_checked): Added
+       a comment regarding a hack in mini-trampolines.c.
+
+2010-06-26  Zoltan Varga  <vargaz@gmail.com>
+
+       * sgen-gc.c (mono_gc_wbarrier_value_copy_bitmap): Use SIZEOF_VOID_P instead of
+       sizeof(SIZEOF_VOID_P) which is 4.
+
+       * gc.c (mono_gc_init): Move the GC disabled check to *-gc.c.
+
+2010-06-25  Zoltan Varga  <vargaz@gmail.com>
+
+       * null-gc.c boehm-gc.c: Define the mono_gc_ pthread wrapper functions for these
+       GCs too.
+
+       * *-gc.c (mono_gc_wbarrier_value_copy_bitmap): Implement this for all GCs.
+
+       * sgen-gc.c (mono_gc_is_moving): New function returning whenever this GC can move
+       objects.
+
+       * *-gc.c (mono_gc_set_desktop_mode): New function setting up the GC to work in
+       desktop mode.
+
+2010-06-25  Zoltan Varga  <vargaz@gmail.com>
+
+       * *-gc.c (mono_gc_get_description): New function returning a human readable
+       description of the current GC.
+
+2010-06-24  Miguel de Icaza  <miguel@novell.com>
+
+       * mono-hash.c: Moved here from mono/utils as this file is
+       GC-aware, and the utils directory is not.
+
+2010-06-23  Miguel de Icaza  <miguel@novell.com>
+
+       * Makefile.am: Add support for building a sgen-aware versions of
+       the libraries: libmonoruntimesgen.la libmonoruntimesgen-static.la,
+       they share all the components of the default, but use a differen
+       set of CFLAGS to enable SGEN instead.
+
+       Put the BOEHM defines in the CFLAGS definition. 
+
+       * domain-internals.h (MonoJitInfo): this structure used to have
+       different sizes depending on the GC that was configured (Boehm vs
+       SGen).   I have removed this difference for the sake of avoiding
+       the complexity of dealing with the mono/arch directory requiring
+       GC-specific changes to their Makefiles.
+
+2010-06-23  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-gc.c, sgen-los.c, sgen-marksweep.c: Fix warnings.
+
+2010-06-22 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * metadata.c (mono_metadata_type_hash): Don't hash
+       the type kind for dynamic types since it can change.
+
+2010-06-22 Geoff Norton  <gnorton@novell.com>
+
+       * sgen-os-mach.c: We cannot call malloc from the gc, so we need to use
+       alloca instead to prevent a deadlock.
+
+2010-06-22  Geoff Norton  <gnorton@novell.com>
+
+       * domain.c: Allow gettings the tls key, since we need it for
+       cross thread tls poking in sgen-mach
+       * sgen-gc.(c|h), gc-internal.h: Rework sgen into having some functions
+       in external files for platform specific STW support.
+       * sgen-os-mach.c: Add a new mach kernel backend implementation of STW.
+       * sgen-os-posix.c: Move the existing posix signal based STW here.
+
+2010-06-21  Zoltan Varga  <vargaz@gmail.com>
+
+       * marshal.c (mono_array_to_lparray): Allow MONO_TYPE_PTR. Fixes #615952.
+
+2010-06-21 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * object-internals.h: Map new PropertyBuilder fields.
+
+       * reflection.c (property_encode_signature): Emit an instance
+       signature if property's callconv is hasthis.
+
+       * appdomain.c: Bump corlib version.
+
+2010-06-20  Jb Evain  <jbevain@novell.com>
+
+       * metadata-verify.c: do not consider the assembly invalid if it
+       doesn't have a #Blob stream as resource assemblies don't
+       necessarily have one.
+
+2010-06-17  Geoff Norton  <gnorton@novell.com>
+
+       * sgen-archdep.h: sgen support for arm linux and darwin.
+
+2010-06-17  Zoltan Varga  <vargaz@gmail.com>
+
+       * loader.c (mono_method_get_header): Avoid a crash if the declaring method
+       has a faulty header.
+
+2010-06-17 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * sgen-gc.c (mono_gc_wbarrier_value_copy_bitmap): Work in a similar
+       way to mono_gc_wbarrier_value_copy but takes a bitmap that
+       indicates which slots need a write barrier.
+
+2010-06-14  Jonathan Pryor <jpryor@novell.com>
+
+       * Makefile.am (EXTRA_DIST): Add runtime.h.
+
+2010-06-14  Zoltan Varga  <vargaz@gmail.com>
+
+       * object.c (build_imt_slots): Don't crash if callbacks.get_imt_trampoline is not set.
+
+2010-06-11  Zoltan Varga  <vargaz@gmail.com>
+
+       * object.c (mono_method_add_generic_virtual_invocation): Fix the computation of the
+       IMT slot which is passed to callbacks.get_imt_trampoline.
+
+2010-06-11  Zoltan Varga  <vargaz@gmail.com>
+
+       * object.c: Use a callback to create IMT trampolines, allowing the usage of one
+       imt trampoline per imt slot when using LLVM.
+
+2010-06-10  Jonathan Pryor <jpryor@novell.com>
+
+       * object.c (mono_runtime_run_main): Move fire_process_exit_event() into
+         runtime.c:mono_runtime_shutdown().
+       * runtime.c: Added; adds mono_runtime_shutdown(), which invokes the
+         AppDomain.ProcessExit event in all AppDomains.
+
+2010-06-06  Zoltan Varga  <vargaz@gmail.com>
+
+       * marshal.c (mono_marshal_get_runtime_invoke): Don't set *exc to NULL, it is now
+       done by the caller.
+
+2010-06-05  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-los.c: Keep bitmaps on chunk usage in LOS sections to speed
+       up freeing.
+
+2010-06-05  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-gc.c, sgen-los.c: New LOS allocator that allocates large
+       segments of memory at once, to reduce the number of mmap/munmap
+       calls.
+
+2010-06-05  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-gc.c, sgen-protocol.c, sgen-protocol.h: Protocol degraded
+       allocations and distinguish between normal, degraded and pinned
+       allocations.
+
+2010-06-05  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-gc.c, sgen-major-copying.c, sgen-marksweep.c: Make degraded
+       allocations count toward major collections and trigger major
+       collections from degraded allocations if appropriate.
+
+2010-06-05  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-marksweep.c (ms_get_empty_block): Update heap boundaries.
+
+2010-06-05  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-gc.c: Enable mark&sweep again.
+
+2010-06-05  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-gc.c: Increase the maximum small object size to 8000 bytes.
+
+2010-06-05  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-gc.c, sgen-major-copying.c, sgen-marksweep.c: Have only one
+       major heap allowance for minor collections, instead of two
+       separate ones for small and large objects.  This reduces the
+       number of major collections.
+
+2010-06-04  Marek Habersack  <mhabersack@novell.com>
+
+       * icall.c (ves_icall_MonoType_GetEvent): be case insensitive is
+       the BFLAGS_IgnoreCase is raised
+
+2010-06-03  Zoltan Varga  <vargaz@gmail.com>
+
+       * debug-mono-symfile.c (mono_debug_symfile_lookup_locals): Rewrite this so it returns
+       all information in a single structure. Return information about scopes as well.
+
+       * mono-debug.c (mono_debug_lookup_locals): Ditto.
+
+2010-06-02  Geoff Norton  <gnorton@novell.com>
+
+       * appdomain.c: If we are running with IOMAP we might
+       have been provided a string that isn't case-aware for our file-
+       system, so we need to use io-portability to check if the file 
+       exists, rather than a simple glib test.
+
+       Fixes #608849
+
+2010-06-02 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * verify.c (verify_generic_parameters): Verify if
+       there are not loops in constraints.
+
+2010-06-02 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * verify.c (is_compatible_boxed_valuetype): Constaints
+       must be recursively checked if one generic argument
+       has a constraint on another.
+
+       Fixes #610625.
+
+2010-05-31  Miguel de Icaza  <miguel@novell.com>
+
+       * console-unix.c (terminal_get_dimensions): Fix my previous
+       botched commit and return the actual value obtained from the ioctl.
+
+2010-05-29  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-gc.c: Always use DESC_TYPE_RUN_LENGTH for objects without
+       references so that we don't have to do the cache-cold fetch of the
+       class in copy_object_no_checks().
+
+2010-05-29  Robert Jordan  <robertj@gmx.net>
+
+       * marshal.c (mono_marshal_asany): marshal LPWSTRs using
+       mono_marshal_string_to_utf16_copy () to avoid memory allocation
+       mismatches under Windows. Fixes pinvoke2:test_0_asany.
+
+2010-05-28  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-gc.c: Change default nursery size to 4MB, because it
+       improves performance on many applications and benchmarks.
+
+2010-05-28  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-gc.c, sgen-scan-object.h: Value types in arrays are not
+       always aligned to ALLOC_ALIGN.  To handle this, shift the size in
+       the GC descriptor by one bit, and don't encode the size for value
+       types not containing references.  Also get rid of
+       DESC_TYPE_STRING.
+
+2010-05-28  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-gc.c: Don't depend on the size encoded in a GC descriptor
+       other than for remset processing.
+
+2010-05-28  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-gc.c: More and better remset consistency checks.
+
+2010-05-28 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * sgen-gc.c: Add a note about the int[] trick to avoid some
+       memset.
+
+2010-05-27 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * sgen-gc.c (sort_addresses): Use heap sort since it has better
+       performance.
+
+       This helps programs with lots of threads or thread with big stacks
+       since the bottleneck the pin queue can get quite big.
+
+2010-05-26 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * sgen-gc.c (search_fragment_for_size): Move fragment setup into
+       a separate function called setup_fragment.
+
+       * sgen-gc.c (search_fragment_for_size_range): Variant of
+       search_fragment_for_size that does search for a secondary smaller
+       size.
+
+       * sgen-gc.c (mono_gc_alloc_obj_nolock): Use search_fragment_for_size_range
+       for tlab allocation so small fragments are used.
+
+       This patch uses small fragments for tlab allocation when possible in order
+       to improve nursery utilization. With a fixed size tlab this patch is not very
+       usefull but once size gets dynamically adjusted, this will be invaluable.
+
+       Performance under pystone 500k is unchanged. Nursery utilization improves by
+       3.5% and 18 more fragments are used per minor GC.
+
+       Performance under modified binary-tree is unchanged. Nursery utilization
+       improves by 0.5% and 3 more fragments are used per minor GC.
+
+       These numbers make sense since as more pinning happens, more fragments are
+       created and so are the chances of having a bunch of small ones.
+
+2010-05-26 Rodrigo Kumpera  <rkumpera@novell.com>
+       * sgen-gc.c (mono_gc_alloc_obj_nolock): Avoid wasting space     from
+       the current fragment when allocating a TLAB.
+
+       Reduces number of pystone 500k minor collections by 7%.
+
+2010-05-25  Martin Baulig  <martin@ximian.com>
+
+       Applying a patch from Lucas Meijer <lucas@lucasmeijer.com>.
+
+       * debug-mono-symfile.c: Release memory from symfiles that were
+       loaded from memory.
+
+2010-05-24  Zoltan Varga  <vargaz@gmail.com>
+
+       * marshal.c (mono_marshal_free_dynamic_wrappers): Avoid an assert when this is called
+       during shutdown.
+
+2010-05-22  Zoltan Varga  <vargaz@gmail.com>
+
+       * marshal.c (mono_marshal_get_runtime_invoke): Simplify the code computing the
+       target class and remove some dead code.
+
 2010-05-22  Zoltan Varga  <vargaz@gmail.com>
 
        * metadata.c: Add a 'transient' argument to the MonoType creation functions, so
@@ -37565,7 +37968,3 @@ Tue Jul  3 18:33:32 CEST 2001 Paolo Molaro <lupus@ximian.com>
        Beta2. 
 
        * mono/metadata/assembly.c (load_metadata_ptrs): Fix for Beta2
-
-
-
-