+2010-02-05 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * icall-def.h: Rename get_MetadataToken to GetMetadataToken.
+
+2010-02-04 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * verify.c (mono_method_verify): Use the new basic block formation pass
+ to avoid verifying dead basic blocks. This is the same behavior as the
+ runtime MS verifier.
+
+2010-02-04 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * mono-basic-block.c:
+ * mono-basic-block.h: New implementation of a basic block formation pass.
+ The formation pass does static liveness analysis as well to detect dead
+ basic blocks.
+
+2010-02-04 Zoltan Varga <vargaz@gmail.com>
+
+ * marshal.c (mono_marshal_get_native_wrapper): Emit a null check for the
+ 'this' argument in icalls.
+
+2010-02-02 Zoltan Varga <vargaz@gmail.com>
+
+ * reflection.c (resolve_object): Handle MonoArrayMethod. Fixes #575955.
+
+2010-02-01 Mark Probst <mark.probst@gmail.com>
+
+ * object.c, domain.c: When using SGen, we must register
+ vtable->type as a root if it's not a MonoType, because then it
+ wasn't pin-alloced.
+
+2010-02-01 Mark Probst <mark.probst@gmail.com>
+
+ * sgen-gc.c: Reset to_space_bumper to to_space_section->next_data
+ at the start of nursery collections, because we might have had
+ degraded allocations which changed next_data.
+
+2010-01-30 Zoltan Varga <vargaz@gmail.com>
+
+ * marshal.c (mono_marshal_get_managed_wrapper): Avoid constructing the
+ custom attr so this function works in cross-compiling mode.
+
+2010-01-29 Zoltan Varga <vargaz@gmail.com>
+
+ * class.c (make_generic_param_class): Initialize interface offsets since we
+ set klass->inited. Fixes #574819.
+
+2010-01-28 Zoltan Varga <vargaz@gmail.com>
+
+ * domain.c (mono_domain_free): Send the END_UNLOAD profiler event before
+ calling the JIT domain cleanup hook.
+
+2010-01-28 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * pedump.c (main): Properly set the verifier mode when running the metadata
+ verifier.
+
+2010-01-28 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * verify.c (verify_class_for_overlapping_reference_fields): Properly verify
+ overlapping fields now that we're called before has_references is set.
+
+ * pedump.c (dump_verify_info): Clear any loader error before verifying another
+ method. Otherwise all sort of weird stuff happens.
+
+2010-01-27 Zoltan Varga <vargaz@gmail.com>
+
+ * object.c (mono_field_get_value_object): Handle nullable types correctly.
+ Fixes #572874.
+
+2010-01-25 Zoltan Varga <vargaz@gmail.com>
+
+ * icall.c (ves_icall_System_Array_SetValueImpl): Handle nullable types correctly.
+ Fixes #573322.
+
+2010-01-23 Mark Probst <mark.probst@gmail.com>
+
+ * sgen-pinning.c (evacuate_pin_staging_area): Don't assume
+ pin_staging_area_index is greater than 0.
+
+2010-01-22 Miguel de Icaza (miguel@novell.com)
+
+ * loader.c: Since we do nothing with the error returned, pass NULL
+ to ignore the error.
+
+2010-01-21 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * reflection.c (typebuilder_setup_fields): Pretend field setup already
+ happened before starting to encode the actual fields. This avoid ciclic
+ dependencies and eventual crashes.
+
+ Fixes #572660.
+
+2010-01-21 Mark Probst <mark.probst@gmail.com>
+
+ * sgen-gc.c, gc-internal.h, object.c: Make string allocation
+ atomic and remove the half-constructed hack in SGen.
+
+2010-01-21 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * metadata-verify.c (parse_generic_inst): Fail a type signature if it
+ has a recursive reference to itself.
+
+ Fixes #571863.
+
+2010-01-21 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * loader.c (mono_method_signature): Fix error message.
+
+2010-01-21 Mark Probst <mark.probst@gmail.com>
+
+ * sgen-gc.c: Reuse to-space sections between nursery collections.
+
+2010-01-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * icall.c: don't raise AppDomain.TypeResolve when the type is loaded
+ from the current assembly or mscorlib. Fixes bug #322957.
+
+2010-01-20 Zoltan Varga <vargaz@gmail.com>
+
+ * marshal.c: Calculate the target class of the delegete invoke wrappers using
+ get_wrapper_target_class.
+
+2010-01-19 Mark Probst <mark.probst@gmail.com>
+
+ * sgen-gc.c: Fix warnings.
+
+2010-01-19 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * verify.c (store_local): Better error message.
+
+2010-01-19 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * object.c (mono_object_get_virtual_method): Handle generic interfaces with variant
+ arguments.
+
+2010-01-19 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * icall.c (ves_icall_Remoting_RemotingServices_GetVirtualMethod): This
+ function is generics variance aware.
+
+2010-01-19 Sebastien Pouliot <sebastien@ximian.com>
+
+ * security-core-clr.c (mono_security_core_clr_can_access_internals):
+ Handle the case where 'basedir' can be NULL (e.g. SRE assemblies)
+
+2010-01-19 Sylvain Dupont <duposyl@gmail.com>
+
+ * cominterop.c marshal.c: Added support for marshalling in, in/byref,
+ in/out, in/out/byref parameters of type SAFEARRAY[VARIANT].
+
+ Code is contributed under MIT/X11 license.
+
+2010-01-19 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * icall.c (ves_icall_MonoMethod_GetGenericMethodDefinition): Handle inflated generic methods
+ on a GTD.
+
+2010-01-19 Zoltan Varga <vargaz@gmail.com>
+
+ * marshal.c (mono_marshal_wrapper_info_from_wrapper): New helper function to
+ return a point to a wrapper specific info structure describing the wrapper.
+ (mono_marshal_get_array_address): Store the rank+elem_size in the wrapper info.
+
+2010-01-18 Mark Probst <mark.probst@gmail.com>
+
+ * sgen-gc.c: Make minor collection section allowance adaptive,
+ depending on the amount of memory reclaimed in the last major
+ collection. If more memory was reclaimed (i.e. more garbage
+ produced), do the next collection earlier.
+
+2010-01-18 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * metadata-verify.c (parse_type): Fail a type signature if it has a recursive reference
+ to itself.
+
+ * metadata-verify.c (mono_verifier_verify_typespec_signature): Change signature to take
+ the token as parameter.
+
+ * verify-internals.h: Ditto.
+
+ * metadata.c (mono_type_create_from_typespec): Pass token to verifier.
+
+ Fixes #571460.
+
+2010-01-18 Mark Probst <mark.probst@gmail.com>
+
+ * sgen-gc.c: Make store_remset_buffer_index long.
+
+2010-01-18 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * class.c (mono_class_from_typeref): Fail loading of self-referencing typeref tokens.
+
+ Fixes #569579.
+
+2010-01-18 Zoltan Varga <vargaz@gmail.com>
+
+ * sgen-gc.c (mono_gc_base_init): Add 'conservative_stack_mark' option to turn
+ off precise marking if it is available.
+ (mono_gc_get_bitmap_for_descr): Fix the handling of run length descriptors.
+
+2010-01-17 Zoltan Varga <vargaz@gmail.com>
+
+ * sgen-gc.c (mono_gc_conservatively_scan_area): Resurrect this.
+
+ * sgen-pinning.c (evacuate_pin_staging_area): Don't assert if there are no
+ pinned objects.
+
+ * sgen-gc.c (create_allocator): Add the missing n > MONO_ARRAY_MAX_INDEX check
+ to the array allocator.
+
+2010-01-16 Zoltan Varga <vargaz@gmail.com>
+
+ * generic-sharing.c (instantiate_other_info): Don't create ftnptr's from the
+ result of mono_compile_method (), it already includes an ftnptr.
+
+2010-01-16 Zoltan Varga <vargaz@gmail.com>
+
+ * metadata.c (get_image_set): Remove an assert which can happen in normal use.
+
+2010-01-15 Zoltan Varga <vargaz@gmail.com>
+
+ * metadata.c (mono_metadata_str_hash): New helper function to compute a stable
+ hash value which doesn't depend on glib/eglib versions.
+ (mono_metadata_type_hash): Use it.
+
+ * object.c (mono_method_get_imt_slot): Ditto.
+
+2010-01-14 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * class.c (mono_type_has_exceptions): Check the generic instance. It can fail
+ independently of the GTD.
+
+ * class.c (mono_class_setup_fields): Fail if field has negative offset.
+
+ * class.c (mono_class_setup_fields): Fail if valuetype has zero size. Add sizeof(MonoObject)
+ to the upper limit since instance_size includes this amount.
+
+ * class.c (mono_class_layout_fields): Check if the types of the static fields have failed.
+
+ Fixes #569544.
+
+2010-01-14 Zoltan Varga <vargaz@gmail.com>
+
+ * object.c (build_imt_slots): Compute the vtable slot correctly for interfaces
+ with static methods.
+
+ * object.c (build_imt_slots): Avoid asserting when static methods are
+ encountered in an interface.
+
+2010-01-13 Mark Probst <mark.probst@gmail.com>
+
+ * sgen-gc.c (to_space_expand): Fix assertion.
+
+Wed Jan 13 15:42:28 CET 2010 Paolo Molaro <lupus@ximian.com>
+
+ * string-icalls.c: missing declaration fixes.
+ * sgen-gc.c: portability fixes.
+
+2010-01-12 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * class.c (mono_class_get_implemented_interfaces): Now take a MonoError argument.
+
+ * class.c:
+ * cominterop.c:
+ * icall.c:
+ * object.c:
+ * class-internals.h: Adjust for new signature of mono_class_get_implemented_interfaces.
+
+2010-01-12 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * class.c (mono_class_setup_interfaces): Now take a MonoError argument and
+ it can fail loading the type.
+
+ * class.c: Add mono_class_inflate_generic_class_checked.
+
+ * class.c:
+ * verify.c:
+ * class-internals.h: Adjust for new signature of mono_class_setup_interfaces.
+
+2010-01-11 Zoltan Varga <vargaz@gmail.com>
+
+ * loader.c (mono_method_signature_checked): New internal function taking an
+ MonoError argument.
+
+ * socket-io.c (AI_ADDRCONFIG): Applied patch from John Lightsey (jd@cpanel.net).
+ Fixes build on rh 7.3.
+
+2010-01-10 Aaron Bockover <abockover@novell.com>
+
+ * assembly.c (mono_set_rootdir): Support finding the mono paths on OS X
+ at runtime in the same way as on Windows, which yields a relocatable
+ Mono. Uses dyld's _NSGetExecutablePath and realpath to resolve the path
+ of the running mono process.
+
+ On TARGET_ARM, fallback () will always be executed.
+
+2010-01-08 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * icall.c (ves_icall_Type_GetInterfaceMapData): This function is generics variance aware.
+
+2010-01-08 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * class.c (mono_class_is_assignable_from_slow): Support variant
+ generic delegates.
+
+ * class.c (mono_class_implement_interface_slow): Support types with
+ variant generic arguments.
+
+2010-01-08 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * verify.c: Remove some code duplication.
+
+2010-01-07 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * object.c: Update docs.
+
+2010-01-07 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * object.c (add_imt_builder_entry): Improve DEBUG_IMT spew.
+
+ * object.c (build_imt_slots): Interfaces with variant generic arguments use the
+ fallback trampoline as well.
+
+ * class.c (mono_class_interface_offset_with_variance): Add new non_exact_match
+ out argument that is set to TRUE if the match was direct.
+
+ * class.c (mono_class_is_assignable_from): Delegates require variance testing as well.
+
+ * class-internal.h: Update prototype of mono_class_interface_offset_with_variance.
+
+2010-01-07 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * class.c: Add mono_class_interface_offset_with_variance function that does same
+ as mono_class_interface_offset but takes variance into account.
+
+ * class-internal.h: Export mono_class_interface_offset_with_variance.
+
+ * object.c: Fix and improve DEBUG_IMT. Added an assert for IMT thunk building.
+
+2010-01-07 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * object.c:
+ * icall.c:
+ * class.c: Add some FIXME for due to variant generic arguments.
+
+ object.c (mono_object_isinst_mbyref): Interfaces with variant generic arguments
+ can't use the simple bitfield check, so call mono_class_is_assignable_from if
+ the bitfield check fails.
+
+2010-01-07 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * class.c (mono_class_is_assignable_from): Rework the generics variance code
+ to be easier to read and fix bugs in the case a non generic type implements a variant
+ interface.
+
+ * class.c (mono_class_has_variant_generic_params): Make non static.
+
+ * class-internals.h: Export mono_class_has_variant_generic_params as part of
+ the private API.
+
+2010-01-07 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * assembly.c: fix MONO_PATH debug output.
+
+2010-01-06 Atsushi Enomoto <atsushi@ximian.com>
+
+ * culture-info-table.h : regenerated.
+
+2010-01-04 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * verify.c (mono_verifier_verify_class): Properly check for broken parent. Ignore
+ types that are meant to not have a parent.
+
+2010-01-04 Zoltan Varga <vargaz@gmail.com>
+
+ * marshal.c (mono_marshal_get_runtime_invoke): Make a copy of the signature
+ from the image mempool, so it is not leaked.
+
+2010-01-04 Zoltan Varga <vargaz@gmail.com>
+
+ * metadata-internals.h (_MonoImage): Remove unused generic_class_cache field.
+
+2010-01-04 Sebastien Pouliot <sebastien@ximian.com>
+
+ * verify.c (verify_valuetype_layout_with_target): Fix case
+ that can lead to infinite recursion. Fix bug #567861
+
+2010-01-04 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * pedump.c: Run code verifier even if image verification fails
+ due to a failed type we. This allows more errors to be shown.
+
+2010-01-04 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * class.c (count_virtual_methods): Remove the assert and now
+ fail properly.
+
+ * class.c (setup_interface_offsets): This can fail now.
+
+ * class.c (mono_class_setup_vtable_general): Check for parent vtable
+ errors. Check setup_interface_offsets errors.
+
+ * class.c (setup_interface_offsets): Simplify the return error logic
+ and remove class_init_ok.
+
+ Fixes #560327.
+
+2010-01-04 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * class.c (mono_class_init): Do class verification at the beginning. Add
+ some asserts to avoid tripping into invalid memory.
+
+ * object.c (compute_class_bitmap): Replace a g_assert_not_reached with a
+ g_error and a decent message.
+
+ * verify.c (mono_verifier_verify_class): Verify for invalid super type.
+
+ Fixes #567548.
+
+2010-01-03 Zoltan Varga <vargaz@gmail.com>
+
+ * mempool-internals.h (g_list_prepend_mempool): Define this and related functions
+ as inline functions instead of defining them in mempool.c.
+
+ * metadata-internals.h (MonoImageSet): New structure representing a set of
+ MonoImages, which own a collection of generic instances.
+
+ * metadata.c: Get rid of the global generic caches, instead assign each generic
+ instance to the image set which consists of all the images referenced by the
+ instance. This greatly speeds up mono_metadata_clean_for_image (), and allows
+ the memory used by generic instances to be allocated from a per image-set mempool
+ later.
+
+2010-01-03 Zoltan Varga <vargaz@gmail.com>
+
+ * marshal.c (mono_marshal_get_runtime_invoke): Fix a memory leak.
+
+2010-01-03 Zoltan Varga <vargaz@gmail.com>
+
+ * appdomain.c (zero_static_data): Fix a warning.
+
+ * locales.c (construct_culture_from_specific_name): Applied patch from
+ José Antonio Sánchez Lázaro <jasl@darcysoft.es>. Fix a crash if a culture was
+ not found. Fixes #567900.
+
+2009-12-31 Sebastien Pouliot <sebastien@ximian.com>
+
+ * loader.c (mono_method_get_signature_full): Remove two asserts.
+ Return NULL instead so that the verifier can handle both cases
+ gracefully.
+
+2009-12-30 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * class.c (mono_class_setup_methods): Use checked version of mono_class_inflate_generic_method_full
+ so we can properly fail types instead of crashing.
+
+ Fixes #567676.
+
+2009-12-30 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * reflection.c (reflection_methodbuilder_to_mono_method): Assert in case of a broken
+ generic method.
+
+2009-12-30 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * marshal.c (mono_mb_emit_restore_result): Properly handle generic enums.
+
+2009-12-26 Zoltan Varga <vargaz@gmail.com>
+
+ * monitor.c (ves_icall_System_Threading_Monitor_Monitor_wait): Don't close the
+ wait handle if the wait is interrupted, since it is still in mon->wait_list, and
+ we can't remove it from it since we don't hold the lock.
+ (mon_new): Free the orphaned events here when a mon structure is added to the
+ freelist. Fixes #561239. Thanks to Mike Rieker <wmrieker@nii.net> for tracking
+ this down.
+
+2009-12-26 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * verify.c (init_stack_with_value_at_exception_boundary): Do stack overflow checking here
+ as max stack might be zero.
+
+ Fixes #562320.
+
2009-12-26 Rodrigo Kumpera <rkumpera@novell.com>
Rework all uses of mono_class_setup_methods to accept that it can fail now.