+2004-04-07 Jackson Harper <jackson@ximian.com>
+
+ * culture-info-tables.h: Fix date separator symbol.
+
+2004-04-07 Martin Baulig <martin@ximian.com>
+
+ * reflection.h
+ (MonoReflectionGenericParam): Added `has_reference_type' and
+ `has_value_type' fields.
+
+ * reflection.c (mono_image_get_generic_param_info): Encode the
+ correct flags if we have the `class' or `struct' constraint.
+
+2004-04-07 Martin Baulig <martin@ximian.com>
+
+ * reflection.h
+ (MonoReflectionGenericParam): Added `MonoBoolean has_ctor_constraint'.
+
+2004-04-07 Jackson Harper <jackson@ximian.com>
+
+ * appdomain.c: Revert extra patches, just wanted to bump the
+ version number.
+
+2004-04-07 Jackson Harper <jackson@ximian.com>
+
+ * Makefile.am: Add culture-info private headers.
+ * icall.c: Add new icalls for contructing locales.
+ * locales.c: Construct CultureInfo objects from lookup tables instead of using ICU.
+ * locales.h: Declare new culture info construction methods.
+ * object.h: Add new fields used to avoid the CultureMap to
+ MonoCultureInfo.
+ * culture-info.h: Definition of structs used in the culture info
+ tables.
+ * culture-info-tables.h: Autogenerated tables that contain culture
+ info data. This file was generated with the locale-builder tool.
+ * appdomain.c: Incement corlib version number.
+
+2004-04-07 Bernie Solomon <bernard@ugsolutions.com>
+
+ * appdomain.c: (mono_runtime_init) move mono_thread_init
+ to before mono_object_new calls so critical sections
+ are initialized before use.
+
+2004-04-07 Martin Baulig <martin@ximian.com>
+
+ * icall.c
+ (ves_icall_TypeBuilder_define_generic_parameter): Removed.
+ (ves_icall_MethodBuilder_define_generic_parameter): Removed.
+ (ves_icall_MonoGenericParam_initialize): Removed.
+ (monogenericparam_icalls): Removed.
+ (generictypeparambuilder_icalls): Added new table for
+ System.Reflection.Emit.GenericTypeParameterBuilder.
+
+ * reflection.c
+ (mono_reflection_define_generic_parameter): Removed.
+ (mono_reflection_initialize_generic_parameter): This is now called
+ from GenericTypeParameterBuilder's .ctor.
+
+2004-04-06 Martin Baulig <martin@ximian.com>
+
+ * class.c (mono_class_init): Don't inflate nested classes in a
+ generic instance.
+ (mono_type_get_name_recurse): Include the generic arguments for
+ generic instances and generic type declarations.
+ (inflate_generic_type): Correctly inflate MONO_TYPE_SZARRAY.
+ (_mono_class_get_instantiation_name): Removed.
+ (mono_class_create_generic): Always use `gklass->name' as our name.
+
+ * class.h (MonoGenericInst): Removed `nested_in', and `nested'.
+
+ * icall.c (ves_icall_MonoGenericInst_GetDeclaringType): Removed.
+ (ves_icall_MonoGenericInst_GetNestedTypes): Removed.
+ (ves_icall_MonoMethod_GetGenericParameters): Renamed to
+ ves_icall_MonoMethod_GetGenericArguments() and correctly handle
+ closed generic methods here.
+
+ * reflection.c
+ (mono_reflection_generic_inst_get_nested_types): Removed.
+ (inflate_mono_method): Copy the generic parameters from the
+ MonoMethodHeader into out MonoGenericMethod.
+
+2004-04-06 Martin Baulig <martin@ximian.com>
+
+ * row-indexes.h
+ (MONO_GENERICPARAM_DEPRECATED_CONSTRAINT): Removed.
+
+ * metadata.c (GenericParamSchema): Removed "DeprecatedConstraint".
+
+ * reflection.c (build_compressed_metadata): If we have any entries
+ in the GenericParam, MethodSpec or GenericParamConstraint tables,
+ set the header version to 1.1.
+
+>>>>>>> 1.1497
+2004-04-06 Martin Baulig <martin@ximian.com>
+
+ * class.c (mono_class_init): If we're a generic instance,
+ initialize our nested classes, too.
+ (_mono_class_get_instantiation_name): Deal with the new `!%d'
+ suffix.
+
+2004-04-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * process.c: quote the argument passed to the shell on windows.
+
+2004-04-05 Zoltan Varga <vargaz@freemail.hu>
+
+ * threads.c (mono_alloc_special_static_data): Allow this to be
+ called during startup.
+
+2004-04-02 Martin Baulig <martin@ximian.com>
+
+ * icall.c
+ (ves_icall_MonoGenericInst_GetDeclaringType): New icall.
+
+2004-04-02 Zoltan Varga <vargaz@freemail.hu>
+
+ * icall.c: Fix build.
+
+2004-04-02 Sebastien Pouliot <sebastien@ximian.com>
+
+ * Makefile.am: Added security.c|h.
+ * icall.c: Added icall for get_UserName;
+ * security.c: New file for security related icalls. Added function
+ get_UserName for System.Environment (fix #56144).
+ * security.h: New. Header file for security.c
+
+2004-04-02 Dick Porter <dick@ximian.com>
+
+ * icall.c: Deleted the icalls that were obsoleted some time ago
+ by the ICU string code, and which were mixed into the icall
+ rearranging. Fixes bug 55969.
+
+ * string-icalls.h:
+ * string-icalls.c: Deleted the code that those icalls reference.
+
+2004-04-01 Martin Baulig <martin@ximian.com>
+
+ * metadata.h (MONO_CLASS_IS_INTERFACE): New macro.
+
+ * class.c (mono_class_from_generic_parameter): Don't set
+ TYPE_ATTRIBUTE_INTERFACE.
+ (my_mono_class_from_generic_parameter): Likewise.
+
+2004-04-01 Martin Baulig <martin@ximian.com>
+
+ * loader.c (find_method): Added an optional `MonoClass *ic'
+ argument to search in a specific interface.
+ (mono_get_method_constrained): New public function.
+
+2004-04-01 Martin Baulig <martin@ximian.com>
+
+ * reflection.c (mono_image_get_generic_field_token): Use the
+ `handleref' cache here.
+
+2004-04-01 Martin Baulig <martin@ximian.com>
+
+ * reflection.h (MonoDynamicImage): Added `GHashTable *typespec'.
+
+ * reflection.c (create_generic_typespec): Use the `typespec' hash
+ here, not the `typeref' one.
+
+2004-04-01 Martin Baulig <martin@ximian.com>
+
+ * class.c (mono_class_inflate_generic_type): Moved the
+ functionality into a new static inflate_generic_type() which
+ returns NULL if it didn't do anything. Only increment the
+ `mono_stats.inflated_type_count' if we actually inflated
+ something.
+ (mono_class_get_full): Check the classes type to see whether we
+ need to inflate it; also inflate MONO_TYPE_(M)VAR.
+
+2004-04-01 Jackson Harper <jackson@ximian.com>
+
+ * reflection.c: Set culture for assembly references.
+
+2004-04-01 Ben Maurer <bmaurer@users.sourceforge.net>
+
+ * reflection.[ch], icall.[ch], Fix support for pinning variables.
+
+2004-04-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * assembly.c:
+ (do_mono_assembly_open): the critical section also covers
+ mono_image_open and mono_image_open_from_data. Fixes bug #56327.
+
+2004-03-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * threads.c:
+ (mono_manage_threads): abort the background threads when finishing.
+ Fixes bug #47232.
+
+2004-03-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * gc.c: only close the done_event handle if there was no timeout.
+ C-ified comments.
+
+2004-03-30 Martin Baulig <martin@ximian.com>
+
+ * icall.c (icall_entries): It's called "System.Activator", not
+ "System.Activation".
+
+2004-03-30 Martin Baulig <martin@ximian.com>
+
+ * class.c (mono_ldtoken): Added `MonoGenericContext *' argument.
+ (mono_class_create_from_typespec): Likewise.
+
+2004-03-30 Martin Baulig <martin@ximian.com>
+
+ * reflection.h (MonoReflectionGenericParam): Use MonoBoolean for
+ `has_ctor_constraint' and `initialized'.
+
+2004-03-30 Martin Baulig <martin@ximian.com>
+
+ * reflection.c (encode_new_constraint): New static function to add
+ the constructor constraint attribute to a type parameter.
+ (encode_constraints): Call encode_new_constraint() if necessary.
+
+ * reflection.h
+ (MonoReflectionGenericParam): Added `guint32 has_ctor_constraint'.
+
+ * row-indexes.h: Added CUSTOM_ATTR_GENERICPAR.
+
+2004-03-29 Ben Maurer <bmaurer@users.sourceforge.net>
+
+ * reflection.c, icall.c: add support for pinning variables.
+
+2004-03-29 Bernie Solomon <bernard@ugsolutions.com>
+
+ * marshal.c (mono_marshal_get_managed_wrapper):
+ init bool local with zero rather than null.
+
+2004-03-29 Martin Baulig <martin@ximian.com>
+
+ * icall.c (ves_icall_MonoMethod_get_HasGenericParameters): Show
+ the "official" behavior here.
+ (ves_icall_MonoMethod_get_Mono_IsInflatedMethod): New interncall.
+
+2004-03-29 Martin Baulig <martin@ximian.com>
+
+ * icall.c: Reflect latest API changes.
+
+2004-03-29 Martin Baulig <martin@ximian.com>
+
+ * loader.c (mono_get_method_from_token): Also call
+ mono_metadata_load_generic_params () for abstract and interface
+ methods; replace the type arguments in the method signature with
+ the ones which are loaded from the metadata.
+
+2004-03-29 Lluis Sanchez Gual <lluis@ximian.com>
+
+ * monitor.c: In mono_monitor_exit(), don't throw an exception if the owner
+ of the lock is not the current thread. MS.NET don't do it, in spite of
+ what the documentation says. See bug #56157.
+
+2004-03-28 Martin Baulig <martin@ximian.com>
+
+ * class.c (mono_class_init): Don't call init_properties() and
+ init_events() for generic instances; set `prop->parent' when
+ inflating properties.
+
+ * reflection.c (mono_generic_inst_get_object): Call
+ `mono_class_init (ginst->klass)'.
+ (mono_type_get_object): Only create a MonoGenericInst if your
+ generic type is a TypeBuilder.
+ (do_mono_reflection_bind_generic_parameters): Only set
+ `ginst->is_dynamic' if our generic type is a TypeBuilder.
+
+2004-03-28 Zoltan Varga <vargaz@freemail.hu>
+
+ * appdomain.c (unload_thread_main): Do not clear proxy_vtable_hash.
+ Fixes #56091.
+
+2004-03-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * icall.c: added Kill_internal icall.
+ * process.[ch]: added Kill_internal icall.
+
+2004-03-25 Martin Baulig <martin@ximian.com>
+
+ * class.h (MonoStats): Added `generic_instance_count',
+ `inflated_method_count', `inflated_type_count' and
+ `generics_metadata_size'.
+
+2004-03-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * reflection.c: no warnings now.
+
+2004-03-25 Martin Baulig <martin@ximian.com>
+
+ * class.c (mono_class_get_full): New public function; does a
+ mono_class_get(), but also takes a `MonoGenericContext *'.
+
+ * loader.c (mono_field_from_memberref): Renamed to
+ `field_from_memberref', made static and added `MonoGenericContext *'
+ argument.
+ (mono_field_from_token): Added `MonoGenericInst *' argument.
+ (method_from_memberef): Likewise.
+ (mono_get_method_from_token): Likewise.
+ (mono_get_method_full): New public function; does a
+ mono_get_method(), but also takes a `MonoGenericContext *'.
+
+ * verify.c (mono_method_verify): Get the method's generic context
+ and pass it to mono_field_from_token(), mono_get_method_full() and
+ mono_class_get_full().
+
+2004-03-25 Martin Baulig <martin@ximian.com>
+
+ * class.c (mono_class_inflate_generic_type): Take a
+ `MonoGenericContext *' instead of a `MonoGenericInst *' and a
+ `MonoGenericMethod *'.
+
+2004-03-25 Martin Baulig <martin@ximian.com>
+
+ * loader.h (MonoMethodInflated): Store the MonoGenericContext
+ instead of the MonoGenericMethod here.
+
+2004-03-25 Martin Baulig <martin@ximian.com>
+
+ * class.h (MonoGenericInst): Added `MonoGenericContext *context';
+ each time we create a new MonoGenericInst, we also create a new
+ context which points back to us.
+
+ * class.c (inflate_method): Use `ginst->context' instead of
+ creating a new context.
+
+ * loader.c (method_from_memberref): Use
+ `klass->generic_inst->context' instead of creating a new context.
+
+2004-03-25 Martin Baulig <martin@ximian.com>
+
+ * class.h (MonoGenericContext): New struct.
+ (MonoGenericMethod): Removed `generic_inst'.
+
+ * class.c (mono_class_inflate_generic_method): Take a
+ `MonoGenericContext *' instead of a `MonoGenericMethod *'.
+
+2004-03-25 Martin Baulig <martin@ximian.com>
+
+ * loader.h (MonoMethodInflated): New typedef.
+
+ * metadata.h (MonoMethodSignature): Removed `gen_method', make
+ `generic_param_count' consume just 30 bits, added `is_inflated'
+ and `has_type_parameters' flags (one bit each).
+
+ * class.c (mono_class_inflate_generic_method): Create a
+ MonoMethodInflated instead of a MonoMethodNormal and set
+ `is_inflated' in the method signature.
+
+ * class.h (MonoGenericMethod): Removed `generic_method'.
+
+2004-03-25 Lluis Sanchez Gual <lluis@ximian.com>
+
+ * image.c: Make sure the name of a MonoImage is always an absolute path.
+ This fixes bug #54415.
+
+2004-03-24 Martin Baulig <martin@ximian.com>
+
+ * class.c (mono_class_setup_vtable): If we're a generic instance,
+ use our generic type's vtable size.
+
+2004-03-24 Zoltan Varga <vargaz@freemail.hu>
+
+ * appdomain.c (ves_icall_System_AppDomain_InternalUnload): Add
+ MONO_NO_UNLOAD env var as a temporary workaround for unloading
+ problems.
+
+2004-03-23 Martin Baulig <martin@ximian.com>
+
+ * class.h (MonoDynamicGenericInst): Added `int count_events' and
+ `MonoEvent *events'.
+
+ * icall.c (ves_icall_MonoGenericInst_GetEvents): New interncall.
+ (typebuilder_icalls): Added "get_event_info"; calls
+ mono_reflection_event_builder_get_event_info().
+
+ * reflection.c (mono_reflection_generic_inst_initialize): Added
+ `MonoArray *events'.
+ (mono_reflection_event_builder_get_event_info): New function.
+
+2004-03-23 Bernie Solomon <bernard@ugsolutions.com>
+
+ * object.h: add mono_type_initialization_init
+
+ * object.c (mono_runtime_class_init):
+ implement class constructor synchronization rules
+ to cope with threading issues.
+ add mono_type_initialization_init
+
+ * appdomain.c (mono_runtime_init): call
+ mono_type_initialization_init
+
+ * class.h: removing initializing field from MonoVTable
+
+2004-03-23 Martin Baulig <martin@ximian.com>
+
+ * class.c (my_mono_class_from_generic_parameter): Use
+ `param->name' if it's not NULL.
+
+2004-03-22 Ben Maurer <bmaurer@users.sourceforge.net>
+
+ * class.c: do not insert non-virtual methods in the vtable.
+ * icall.c, mono-debug-debugger.c, object.c: if method->slot == -1,
+ that means the method is non-virtual. This never would have
+ happened before.
+
+2004-03-22 Lluis Sanchez Gual <lluis@ximian.com>
+
+ * profiler.c: Added lock for accessing coverage_hash.
+
+2004-03-22 Martin Baulig <martin@ximian.com>
+
+ * icall.c (ves_icall_MethodInfo_get_IsGenericMethod): Use
+ `method->method->signature->generic_param_count != 0' to make it
+ work for interface methods.
+
+2004-03-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * process.c: quote the string passed to the shell using g_shell_quote.
+
+2004-03-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * threads.c:
+ (mono_threads_manage): don't remove the finalizer thread and self
+ from the threads hash table so that mono_thread_manage can be called
+ more than once.
+
+2004-03-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * process.c: quote the arguments when UseShellExecute is true. Fixes
+ bug #55790.
+
+2004-03-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * threads.c: set mono_thread_detach as a cleanup routine for every
+ thread. This way it's always executed upon thread termination, either
+ aborted or finished normally. No more xsp hangs!
+
+2004-03-17 Martin Baulig <martin@ximian.com>
+
+ * class.h (MonoGenericInst): Replaced the `GList *nested' with an
+ `int count_nested' and a `MonoType **nested'.
+
+ * reflection.c (mono_reflection_bind_generic_parameters): Moved
+ most of the functionality into a new static
+ do_mono_reflection_bind_generic_parameters() and don't take a
+ `MonoType *nested_in' argument any more. Don't compute nested
+ types here.
+ (mono_reflection_generic_inst_get_nested_types): New public method
+ to get nested types.
+
+ * class.c (mono_class_create_generic): Set `klass->nested_in' if
+ we're a nested class.
+
+ * icall.c (ves_icall_MonoGenericInst_GetNestedTypes): Call
+ mono_reflection_generic_inst_get_nested_types() to compute the
+ nested types.
+
+2004-03-17 Zoltan Varga <vargaz@freemail.hu>
+
+ * threads.c (ves_icall_System_Threading_Thread_Abort): Add a more
+ descriptive error message under windows.
+
+2004-03-17 Martin Baulig <martin@ximian.com>
+
+ * class.c (dup_type): Added `const MonoType *original' argument;
+ copy the attrs from the original type.
+
+2004-03-17 Martin Baulig <martin@ximian.com>
+
+ * metadata.c (do_mono_metadata_parse_generic_inst): Use the
+ `m->generic_inst_cache' here.
+
+2004-03-17 Zoltan Varga <vargaz@freemail.hu>
+
+ * exception.h exception.c: Add stack_overflow_exception.
+
+2004-03-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * threadpool.c:
+ (overlapped_callback): call SetEvent *after* invoking the callback.
+ No need to call CloseHandle.
+
+2004-03-16 Martin Baulig <martin@ximian.com>
+
+ * reflection.c (mono_image_get_fieldref_token): Take a
+ `MonoReflectionField *' instead of a `MonoClassField *' and a
+ `MonoClass *'; store the `MonoReflectionField *' in the hash.
+
+2004-03-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * appdomain.c: don't add the culture to the filename we're looking for
+ if it's neutral or NULL. Fixes bug #53788. Removed redundant memset.
+
+2004-03-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * locales.c: don't ignore symbols when doing case insensitive compares.
+ Thanks Dick! Fixes bug #54046.
+
+ * threads.c: surround 'threads' usage with enter/leave in
+ mono_thread_manage.
+
+2004-03-16 Zoltan Varga <vargaz@freemail.hu>
+
+ * marshal.c (mono_marshal_get_native_wrapper): Char arrays are
+ implicitly marshalled as [Out]. Fixes #55450.
+
+ (mono_marshal_get_runtime_invoke): Zero out the result if there is
+ an exception.
+
+2004-03-16 Martin Baulig <martin@ximian.com>
+
+ * class.c (mono_class_from_generic_parameter): Use the actual
+ parameter name.
+
+2004-03-16 Martin Baulig <martin@ximian.com>
+
+ * reflection.c (type_get_signature_size): New static function.
+ Compues the size of the type in a method signature.
+ (method_get_signature_size): New static function; calls
+ type_get_signature_size() to compute the actual size of the
+ method's signature.
+ (method_encode_signature): Use method_get_signature_size() to get
+ the signature's size rather than using `nparams * 10'.
+
+2004-03-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * file-io.h: define here WapiOverlapped on windows. I don't want the
+ regular OVERLAPPED one.
+
+ * file-io.c:
+ * threadpool.c: somehow, BindIoCompletionCallback is not found.
+ Disabling AIO on windows.
+
+2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * marshal.c: Marshal.SizeOf throws an exception for AutoLayout. Fixes
+ bug #55385.
+
+2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * appdomain.c: upgraded corlib version.
+
+ * file-io.c: implemented new icalls: GetSupportsAIO, BeginRead
+ and BeginWrite. Allow opening files for asynchrnous operations.
+
+ * file-io.h: new struct that maps FileStreamAsyncResult.
+ * icall.c: added new icalls.
+ * process.[ch]: support setting child process environment variables
+ and use the SHELL or COMSPEC when UseShellExecute is true.
+
+ * threadpool.[ch]: fixed warnings, moved ThreadPool icalls here. The
+ callback for async. IO is here and also BindHandle.
+
+ * threads.[ch]: added mono_thread_detach and removed ThreadPool icalls
+ from here.
+
2004-03-14 Zoltan Varga <vargaz@freemail.hu>
+ * reflection.c (create_custom_attr): Allow len == 0.
+
* object.c (mono_class_compute_gc_descriptor): Fix descriptor
computation on big-endian machines.