Add two wrappers which are used to transition between normal and gsharedvt code.
[mono.git] / mono / metadata / ChangeLog
index 185170e2125844154cdb56a8effb068f3d9eecb3..c68f6c7667466a551bfcb0b55a585cca6bf7a65e 100644 (file)
@@ -1,3 +1,466 @@
+2011-01-04  Veerapuram Varadhan  <v.varadhan@gmail.com>
+
+       * assembly.c (framework_assemblies): Map System.Transactions to
+       4.0 framework assemblies.
+
+       Fixes #635335
+
+2010-11-03  Martin Baulig  <martin@ximian.com>
+
+       * mono-debug.c (mono_register_symfile_for_assembly): New method.
+       This is used together with mono_register_bundled_assemblies() and
+       mono_register_config_for_assembly() to support bundles.
+
+2010-07-30  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-archdep.h (ARCH_COPY_SIGCTX_REGS): Add casts to fix
+       compiler warnings on AMD64.
+
+2010-07-29 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       Add support for calling vararg methods from SRE code.
+       This requires storing per-memberref signatures so
+       the JIT can know how many varargs parameters are
+       been passed.
+
+       * loader.c (mono_method_get_signature_full): If the
+       image is dynamic call mono_reflection_lookup_signature
+       to lookup the signature.
+
+       * reflection.c (mono_image_create_method_token): Save
+       the method object into the MonoDynamicImage::tokens.
+       Create a signature struct for MethodBuilders.
+       Save the signature into vararg_aux_hash so it can be
+       retrieved later.
+
+       * reflection.c (mono_reflection_lookup_signature): New
+       function. Check vararg_aux_hash for a signature before
+       returning method's own signature.
+
+       * metadata-internals.h (MonoDynamicImage): Add new
+       vararg_aux_hash hashtable.
+
+       * object-internals.h: Add mono_reflection_lookup_signature.
+
+       Fixes #626441
+
+2010-07-28 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * verify.c (mono_method_verify): Don't move forward
+       with verification if a stack overflow is detected for
+       the ARGLIST opcode.
+
+       Fixes #601953
+
+2010-07-28 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * class.c (mono_bounded_array_class_get): Fail arrays
+       of void or typedbyref. Those two types are not allowed
+       to be used with arrays. Failing them is easier and less
+       error prone than returning NULL.
+
+       Fixes #603279
+
+2010-07-28 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * object.c (mono_get_delegate_invoke): Don't assert if
+       the Invoke method is not found. This can happen with
+       broken types and it's the caller resposibility to deal
+       with a null return.
+
+       Fixes #553403
+
+2010-07-28 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * class.c (mono_assembly_name_from_token): Handle
+       images with null assembly. This can happen with resource
+       or broken assemblies.
+
+       Fixes #623586.
+
+2010-07-27 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * class.c (concat_two_strings_with_zero): Guard against
+       null strings.
+
+       Modified version of patch by Sebastien Pouliot.
+
+       Fixes #623653.
+
+2010-07-27 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * image.c (mono_image_load_module): Handle the case of
+       module index equal or smaller than zero. It is possible
+       to embed a valid zero index into metadata so this case
+       must be explicitly handled.
+
+       Patch by Sebastien Pouliot.
+
+       Fixes #623581.
+
+2010-07-27 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * metadata-verify.c (INVALID_IMPLMAP_FLAGS_BITS): Add non standard
+       bits for best fit on/off (4,5) and throw on unmappable on/off (12/13).
+
+       Fixes #622221.
+
+2010-07-27  Geoff Norton  <gnorton@novell.com>
+
+       * sgen-archdep.h: Ensure we store the registers we actually
+       need to scan.
+
+2010-07-27 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * verify.c (do_invoke_method): Improve error message.
+
+2010-07-27 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * verify.c (mono_generic_param_is_constraint_compatible): Don't
+       fail a contraint check even if the candidate has no constraints.
+       All constraints might resolve to the candidate itself so it can
+       have none.
+
+       Fixes #622225.
+
+2010-07-25  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-internal.c: Only compile this if HAVE_SGEN_GC is defined.
+
+2010-07-24  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-internal.c, sgen-gc.h, sgen-major-copying.c: Make the
+       internal allocator fast by keeping free-lists of chunks, not only
+       within chunks.  Align the chunks, so that on freeing we can get
+       the chunk without searching.
+
+2010-07-24  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-internal.c, sgen-gc.c, sgen-gc.h, sgen-gray.c,
+       sgen-major-copying.c, sgen-marksweep.c, sgen-pinning-stats.c,
+       sgen-pinning.c: Allocate fixed-size structs without specifying the
+       size, instead registering it once with its type.
+       Dynamically-sized need their size specified when being freed.
+
+2010-07-24  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-major-copying.c, sgen-internal.c, sgen-gc.c, sgen-gc.h,
+       sgen-pinning.c: Copying major collector doesn't mess around with
+       internals of the internal allocator anymore, instead using public
+       functions.
+
+2010-07-24  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-internal.c: Internal allocator in its own module.
+
+       * sgen-gc.c, sgen-gc.h, sgen-gray.c, sgen-los.c,
+       sgen-major-copying.c, sgen-marksweep.c, sgen-pinning.c,
+       sgen-pinning-stats.c: Remove internal allocator and call the
+       public functions now.
+
+       * Makefile.am: Added new file.
+
+2010-07-24  Zoltan Varga  <vargaz@gmail.com>
+
+       * sgen-archdep.h (ARCH_COPY_SIGCTX_REGS): Fix warnings on amd64.
+
+2010-07-24  Sanjoy Das <sanjoy@playingwithpointers.com>
+
+       * sgen-gc.h: Removed 'foo defined but not used' warnings for the
+         *_signal_num variables.
+
+2010-07-23  Zoltan Varga  <vargaz@gmail.com>
+
+       * file-io.c (ves_icall_System_IO_MonoIO_Read): Add a null check.
+       (ves_icall_System_IO_MonoIO_Write): Ditto.
+
+       * loader.c (mono_loader_cleanup): Delete loader_mutex, the shutdown races should
+       be fixed now.
+
+2010-07-23  Zoltan Varga  <vargaz@gmail.com>
+
+       * loader.c (mono_loader_lock_if_inited): New helper function which can be called
+       during startup before the loader lock is initialized.
+       (mono_loader_unlock_if_inited): Ditto.
+
+
+2010-07-21  Geoff Norton  <gnorton@novell.com>
+
+       * sgen-archdep.h: Fix the build on amd64-darwin.
+
+2010-07-16  Zoltan Varga  <vargaz@gmail.com>
+
+       * object.c (mono_print_unhandled_exception): Fix a warning.
+
+2010-07-15 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * threadpool.c: use a monitor thread to start up new ones when needed.
+       Fixes bug #622398.
+
+Thu Jul 15 18:44:44 CEST 2010 Paolo Molaro <lupus@ximian.com>
+
+       * reflection.c, class-internals.h, class.c, icall.c: support
+       reflection of default constant value for Re.Emit properties.
+
+2010-07-14  Miguel de Icaza  <miguel@novell.com>
+
+       * reflection.c (load_cattr_value): Add support for encoding
+       DateTime constants into the blob.    Turns out that this is
+       required by .NET, it was only documented post 1.0.
+
+       * icall.c (ves_icall_type_GetTypeCodeInternal): Guard test for
+       System.Decimal and System.DateTime inside a mono_is_corlib_image
+       call.   A sample program showed that we could return the wrong
+       TypeCode just by creating a class with those names. 
+
+       * class.c (mono_is_corlib_image): Exposed this to other metadata/
+       code.
+
+2010-07-14  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * security-core-clr.c: Don't abort (only warn) if we cannot find 
+       a caller for relfecting code (transparent is assumed). Fix
+       get_method_access_exception to accept a NULL caller.
+
+2010-07-14  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-gc.c: Heavy statistics on the internal allocator.
+
+2010-07-13  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-marksweep.c, sgen-gc.h: Keep track of num_empty_blocks
+       properly and in a thread-safe way.
+
+2010-07-13  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-gc.c, sgen-marksweep.c: Make object marking thread-safe.
+
+2010-07-13  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-gc.c: Versions of safe_object_get_size() and
+       copy_object_no_checks() that work without the object's vtable
+       intact, by passing the correct vtable as an argument.
+
+2010-07-13  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-marksweep.c: Make allocation of major sections thread-safe.
+
+2010-07-13  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-gc.c, sgen-gc.h, sgen-los.c, sgen-major-copying.c,
+       sgen-marksweep.c: Update the heap boundaries thread-safe and lock
+       free if parallel mark is enabled.
+
+2010-07-13  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-gc.c, sgen-gc.h, sgen-major-copying.c: Lock the internal
+       allocator if parallel mark (not committed yet) is enabled.
+
+2010-07-12 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * reflection.c (inflate_mono_method): Handle dynamic
+       generic instances that have method.count set but
+       methods not. Fixes another crash from boo's test suite.
+
+2010-07-12 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * icall.c (ves_icall_MonoMethod_get_base_method): If
+       the method slot is bigger than the class vtable, return
+       the original method. Makes booc work again.
+
+2010-07-12 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * verify.c (mono_generic_param_is_constraint_compatible):
+       The candidate type itself might satisty the required
+       constraints.
+
+       Fixes #621599.
+
+2010-07-12 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * reflection.c (fix_partial_generic_class): Inflate the
+       generic instance parent in case it was changed after
+       MonoGenericClass was instantiated.
+
+       Fixes one of the issues from #389886.
+
+2010-07-10  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-gray.c: Store only a pointer to one end of the gray queue.
+
+2010-07-10 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * loader.c (mono_method_signature_checked): Release the domain
+       lock on failure.
+
+2010-07-10  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-gc.c: Store the forwarding address in the first word of an
+       object, where the forwarding bit is stored.
+
+2010-07-10  Mark Probst  <mark.probst@gmail.com>
+
+       * gc.c, gc-internal.h, sgen-gc.c, sgen-gc.h, sgen-os-mach.c: An
+       interface to register our Mach exception thread which will not be
+       suspended by stop-the-world.
+
+2010-07-10 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * loader.c (mono_get_method_constrained): Properly unlock the
+       domain lock on failure. Use checked variant of
+       inflate_generic_signature.
+
+2010-07-10 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * loader.c (mono_method_signature_checked): Use checked
+       variant of inflate_generic_signature.
+
+       Fixes #606353.
+
+2010-07-10 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * metadata.c (mono_metadata_parse_type_internal): Don't use
+       cannonical types when a transient type was requested.
+
+       Fixes #608626.
+
+2010-07-10  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-gray.c, sgen-gc.c, sgen-major-copying.c, sgen-marksweep.c:
+       All functions that touch the gray queue directly or indirectly now
+       take it as an argument.
+
+2010-07-10  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-gray.c, sgen-gc.c, sgen-major-copying.c, sgen-marksweep.c:
+       Put the gray queue data into a struct and pass it around.
+
+2010-07-09 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * class.c (mono_method_can_access_method_full): Handle type
+       accessibility with very deep nested types.
+
+       * class.c (mono_method_can_access_field_full): Ditto.
+
+       Fixes #619300.
+
+2010-07-10  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-gc.c, sgen-los.c, sgen-major-copying.c, sgen-marksweep.c,
+       sgen-scan-object.h: Use a macro for rounding up sizes and
+       addresses to ALLOC_ALIGN.
+
+2010-07-09 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * file-io.c: fix GetFileSystemEntries for patterns containing
+       directories.
+
+2010-07-09  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-marksweep.c (major_finish_major_collection): Don't free
+       major heap blocks on 32 bit platforms because it can lead to
+       address space fragmentation.  We'll figure this out later.
+
+2010-07-09  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-marksweep.c, sgen-gc.c, sgen-major-copying.c: Free major
+       heap blocks for mark&sweep eventually.
+
+2010-07-09  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-protocol.c: Fix build when binary protocol is disabled.
+
+2010-07-09  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-protocol.c, sgen-gc.c: Make binary protocol lock-freely
+       thread-safe.
+
+2010-07-08 Neale Ferguson <neale@sinenomine.net>
+
+       * sgen-archdep.h: Add support for s390x
+       * domain.c: Use gsize so that 64-bit big endian systems produce 
+       bitmap.
+
+2010-07-08 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * pedump.c (verify_image_file): Initialize the vtable as well.
+
+2010-07-07  Geoff Norton  <gnorton@novell.com>
+
+       * sgen-gc.h:  Not every system has sys/signal.h.  Prefer the posix
+       header.
+
+2010-07-08 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * assembly.c (mono_assembly_load_reference): Replace a g_warning
+       with a mono_trace calls. This makes compiling MD a lot less scary.
+
+2010-07-08 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * verify.c (do_stobj): Improve error message.
+
+2010-07-08  Mark Probst  <mark.probst@gmail.com>
+
+       * sgen-gc.c (OBJ_COMPLEX_ARR_FOREACH_PTR): Don't load the vtable
+       from the object because it might have pinned/forwarding bits set.
+
+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-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
 2010-06-29 Rodrigo Kumpera  <rkumpera@novell.com>
 
        * assembly.c: Revert r159692 since it breaks loading 3.5
        separate ones for small and large objects.  This reduces the
        number of major collections.
 
        separate ones for small and large objects.  This reduces the
        number of major collections.
 
+2010-06-04  Damien Diederen  <dd@crosstwine.com>
+
+       * icall.c (ves_icall_System_Char_GetDataTablePointers),
+       char-conversions.h: New Unicode category tables compatible with MS .NET
+
+       These new category tables, generated using create-category-table(.cs)
+       available in the mcs sources, make the Mono runtime understand the
+       same Unicode category codes as recent versions of Microsoft's runtime.
+
+       CategoryData_v2 matches versions v2.0.50727 and v3.5.21022 of .NET.
+
+       CategoryData_v4 matches version v4.0.30319 of .NET.  The v4 tables
+       can be disabled by defining the DISABLE_NET_4_0 preprocessor symbol.
+
+       Similarly, the astral portions of both tables can be disabled by
+       defining the DISABLE_ASTRAL preprocessor symbol.
+
+       CAUTION: Mcs has to be updated with the corresponding patches, or
+       Mono will suffer a low-level (internal call) crash when
+       initializing System.Char.
+
+
 2010-06-04  Marek Habersack  <mhabersack@novell.com>
 
        * icall.c (ves_icall_MonoType_GetEvent): be case insensitive is
 2010-06-04  Marek Habersack  <mhabersack@novell.com>
 
        * icall.c (ves_icall_MonoType_GetEvent): be case insensitive is