+2004-03-13 Martin Baulig <martin@ximian.com>
+
+ * class.h (MonoGenericInst): Added `int count_ifaces'.
+
+ * iclass.c (ves_icall_MonoGenericInst_GetInterfaces): Use
+ `ginst->count_ifaces' instead `klass->interface_count' since we
+ may get called before the vtable is created.
+
+ * loader.c (mono_method_get_param_names): If we're a generic
+ instance, return and don't initialize the class.
+
+ * reflection.c (mono_reflection_setup_generic_class): Don't call
+ ensure_runtime_vtable().
+ (mono_reflection_bind_generic_parameters): Set
+ `ginst->count_ifaces'.
+
+2004-03-11 Jackson Harper <jackson@ximian.com>
+
+ * icall.c:
+ * unicode.c:
+ * unicode.h: Remove unused System.Char icalls.
+
+2004-03-11 Miguel de Icaza <miguel@ximian.com>
+
+ * loader.c (mono_lookup_pinvoke_call): Call the Windows.Forms init
+ code when we P/Invoke the first library in Windows.Forms, instead
+ of when we first open the assembly.
+
+ * assembly.c: Drop the lookup from here.
+
+2004-03-10 Martin Baulig <martin@ximian.com>
+
+ * reflection.c (mono_reflection_get_custom_attrs): Use the correct
+ class for properties, fields and events. Finally fixes #54945.
+
+2004-03-10 Martin Baulig <martin@ximian.com>
+
+ * metadata.c (mono_metadata_class_equal): New static function;
+ checks whether two generic instances or two generic parameters are
+ equal.
+ (mono_metadata_type_equal): Use mono_metadata_class_equal() to
+ compare classes.
+
+2004-03-10 Martin Baulig <martin@ximian.com>
+
+ * class.h (MonoGenericMethod): Added `gpointer reflection_info'.
+
+ * reflection.c (inflate_mono_method): Added `MonoObject *obj'
+ argument and write it into the `reflection_info' field.
+
+ * icall.c
+ (ves_icall_MethodBase_GetGenericMethodDefinition): New interncall.
+ (ves_icall_MethodBase_get_HasGenericParameters): New interncall.
+
+2004-03-09 Jackson Harper <jackson@ximian.com>
+
+ * char-conversions.h: use 8 bits for numeric data its all we need
+ * icall.c: numeric data is only 8 bits now.
+
+2004-03-09 Martin Baulig <martin@ximian.com>
+
+ * class.h (MonoProperty, MonoEvent): Added `MonoClass *parent'.
+
+ * class.c (init_properties, init_events): Initialize the new
+ `parent' field.
+
+ * reflection.c (typebuilder_setup_properties): Likewise.
+ (typebuilder_setup_events): Likewise.
+
+ * reflection.h (MonoEventInfo): Replaced `parent with
+ `declaring_type' and `reflected_type'.
+
+ * icall.c (ves_icall_get_property_info): Distinguish between
+ declaring and reflected type.
+ (ves_icall_get_event_info): Likewise.
+
+2004-03-09 Martin Baulig <martin@ximian.com>
+
+ * icall.c (ves_icall_Type_GetTypeCode): Added MONO_TYPE_GENERICINST.
+ (ves_icall_Type_GetField): Correctly set field->klass.
+
+2004-03-09 Zoltan Varga <vargaz@freemail.hu>
+
+ * loader.h: Fix warning.
+
+2004-03-08 Miguel de Icaza <miguel@ximian.com>
+
+ * loader.c, loader.h (mono_loader_wine_init): Loads the Wine/Lib
+ library routine if present. Notice that it will still continue
+ executing even if its missing, for those working on the Gtk#
+ edition of Windows.Forms.
+
+ * assembly.c (do_mono_assembly_open): If loading the
+ System.Windows.Forms call mono_loader_wini_init.
+
+2004-03-04 Lluis Sanchez Gual <lluis@ximian.com>
+
+ * class.h: Added MonoRemoteClass struct.
+ * domain.c: Changed hash function for proxy_vtable_hash. It now uses a
+ function for MonoStrings.
+ * icall.c: In GetTransparentProxy, assign a MonoRemoteClass to the proxy.
+ Added internal call for getting the proxy type.
+ * marshal.c: Get the type of transparent proxies from its remote_class.
+ Added methods that generate the IL for type checks and casts:
+ mono_marshal_get_isinst, mono_marshal_get_castclass,
+ mono_marshal_get_proxy_cancast.
+ * marshal.h: Declaration of the previous new methods.
+ * object.c: Added new moethods for creating and updating MonoRemoteClass
+ instances: mono_remote_class, mono_upgrade_remote_class,
+ * object.h: Added MonoRemoteClass reference in MonoTransparentProxy.
+ * verify.c: FIx transparent_proxy_fields layout.
+ * appdomain.c: Bump corlib version.
+
+2004-03-04 Jackson Harper <jackson@ximian.com>
+
+ * icall.c: Add icall to access char conversion tables.
+ * char-conversions.h: Character conversion tables.
+ * Makefile.am: Add char-conversions.h private header file.
+
+2004-03-04 Zoltan Varga <vargaz@freemail.hu>
+
+ * appdomain.c (unload_thread_main): Increase unloading timeout to
+ 10 sec as a temporary workaround for Nant problems.
+
+2004-02-29 Zoltan Varga <vargaz@freemail.hu>
+
+ * gc.c: Add checks for GC_enable and GC_disable.
+
+ * string-icalls.c locales.c: Applied patch from Jaroslaw Kowalski
+ (jaak@zd.com.pl). Fix memory corruption in String.Replace
+ (bug #54988).
+
+2004-02-27 Martin Baulig <martin@ximian.com>
+
+ * reflection.c (mono_reflection_bind_generic_parameters): Take a
+ `MonoReflectionType *' instead of a `MonoType *'.
+
+2004-02-26 Zoltan Varga <vargaz@freemail.hu>
+
+ * gc.c (run_finalize): Avoid finalizing the object representing the
+ finalizer thread.
+ (finalizer_thread): Fix warning.
+
+2004-02-25 Martin Baulig <martin@ximian.com>
+
+ * class.c (_mono_class_get_instantiation_name): Added `int offset'
+ argument for nested types.
+ (mono_class_create_generic): Added support for nested generictypes.
+
+ * class.h (MonoGenericInst): Added `MonoType *nested_in' and
+ `GList *nested'.
+
+ * icall.c (ves_icall_MonoGenericInst_GetNestedTypes): New icall.
+
+ * reflection.c (method_encode_signature): Increase the minimum
+ value of `size' from 10 to 11.
+ (mono_reflection_bind_generic_parameters): Take `int type_argc'
+ and `MonoType **types' arguments instead of the `MonoArray
+ *types'; added `MonoType *nested_in'. Recursively instantiate
+ nested classes.
+
+2004-02-23 Zoltan Varga <vargaz@freemail.hu>
+
+ * appdomain.h (MonoDomain): Add preallocated null_reference_ex and
+ stack_overflow_ex members which are used by exception handling.
+
+ * appdomain.c (mono_runtime_init): Initialize the new members.
+
+ * gc.c (mono_gc_enable): New helper function.
+ * gc.c (mono_gc_disable): New helper function.
+
+2004-02-23 Martin Baulig <martin@ximian.com>
+
+ * icall.c: I must have been really stupid - make it actually work
+ this time ;-)
+
+2004-02-23 Martin Baulig <martin@ximian.com>
+
+ * loader.c (method_from_memberref): Only inflate the method if
+ it's in another klass.
+
+2004-02-23 Martin Baulig <martin@ximian.com>
+
+ * class.c (mono_class_inflate_generic_type): Fixed two bugs.
+ (mono_class_init): If we're a generic instance and an interface,
+ compute `class->interface_id'; also create `class->interfaces'
+ here and inflate them.
+
+ * metadata.c (do_mono_metadata_parse_generic_inst): Compute
+ `ginst->is_open'.
+ (mono_type_stack_size): Fix for MONO_TYPE_GENERICINST.
+
+ * reflection.c (mono_image_create_token): Allow "MonoGenericInst".
+
+2004-02-15 Miguel de Icaza <miguel@ximian.com>
+
+ * reflection.c (method_encode_code): Improved the error message
+ generated by the exception.
+
+2004-02-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * icall.c: Martin did not do what he said in the ChangeLog for
+ 2004-02-18, but put back the changes for properties and events.
+ Commenting those changes out again and adding comment to bug #54518.
+
+ * process.c: removed warning.
+
+2004-02-20 Zoltan Varga <vargaz@freemail.hu>
+
+ * marshal.c (emit_struct_conv): Print an error message instead of
+ asserting when a type does not have the StructLayout attribute.
+
+2004-02-20 Martin Baulig <martin@ximian.com>
+
+ * reflection.c (mono_type_get_object): Also use the cache for
+ generic instances.
+ (mono_reflection_bind_generic_parameters): Always compute
+ `ginst->ifaces'.
+
+2004-02-20 Martin Baulig <martin@ximian.com>
+
+ * class.h (MonoGenericMethod): Removed `klass'.
+
+ * class.c (mono_class_inflate_generic_method): Added `MonoClass
+ *klass' argument.
+
+2004-02-20 Martin Baulig <martin@ximian.com>
+
+ * reflection.c (method_encode_methodspec): Actually use the
+ uninflated signature for the memberref.
+
+2004-02-20 Martin Baulig <martin@ximian.com>
+
+ * class.h (MonoGenericMethod): Removed `declaring'.
+
+ * class.c (mono_class_inflate_generic_method): If `gmethod->klass'
+ is NULL, compute it here.
+
+2004-02-20 Martin Baulig <martin@ximian.com>
+
+ * image.h (MonoImage): Added `GHashTable *generic_inst_cache'.
+
+ * metadata.c (mono_metadata_generic_inst_hash): New method.
+ (mono_metadata_generic_inst_equal): New method.
+
+ * reflection.c (mono_reflection_bind_generic_parameters): Use the
+ `klass->image->generic_inst_cache' cache to avoid creating
+ duplicate MonoGenericInst's.
+
+ * class.c (mono_class_inflate_generic_type): Use the cache.
+
+Thu Feb 19 19:39:09 CET 2004 Paolo Molaro <lupus@ximian.com>
+
+ * object.c: fixed gc descriptor calculation for embedded valuetypes.
+
+2004-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * icall.c: added Socket.WSAIoctl icall.
+
+ * socket-io.[ch]: implemented
+ ves_icall_System_Net_Sockets_Socket_WSAIoctl.
+
+2004-02-19 Atsushi Enomoto <atsushi@ximian.com>
+
+ * icall.c: removed IsDigit, IsSeparator, IsWhiteSpace from char_icalls.
+
+2004-02-18 Urs C Muff <umuff@quark.com>
+
+ * debug-mono-symfile.c, mono-debug-debugger.c, mono-debug.c: Make
+ this work on PPC and other big-endian architectures.
+
+ * debug-mono-symfile.h: Prepended the names of all the `guint32'
+ fields with an underscore to make sure they're only accessed by
+ the read32() macro.
+
+2004-02-18 Martin Baulig <martin@ximian.com>
+
+ * icall.c: Put the klass->refclass changes back for methods and
+ fields, but not for properties and events. We're currently not
+ distinguishing between DeclaringType and ReflectedType for
+ properties and events, that's what caused the regressions.
+
+2004-02-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * object.c:
+ (mono_async_result_new): the handle can be NULL.
+
+ * threadpool.c: Use an event instead of a semaphore, don't initialize
+ it until needed. This saves quite a few semaphores from being created
+ when using the threadpool.
+
+2004-02-18 Zoltan Varga <vargaz@freemail.hu>
+
+ * object.c (mono_string_is_interned_lookup): Fix interning of long
+ strings. Fixes #54473.
+
+ * domain.c (ldstr_equal): Optimize if the two strings are equal.
+
+ * icall.c: Revert the klass->refclass changes since they introduce
+ regressions (bug #54518).
+
+2004-02-18 Martin Baulig <martin@ximian.com>
+
+ * class.c (mono_class_init): If we're a generic instance and don't
+ come from a TypeBuilder, inflate our members here.
+ (mono_class_from_generic): Removed; just use `ginst->klass' instead.
+ (mono_class_create_generic): New public method.
+ (mono_class_initialize_generic): Removed.
+ (get_instantiation_name): Renamed to
+ _mono_class_get_instantiation_name() and made it public.
+
+2004-02-18 Martin Baulig <martin@ximian.com>
+
+ * class.c (mono_class_inflate_generic_type): Clear the new
+ instance's `nginst->klass' when inflating a generic instance.
+ (mono_class_is_subclass_of): Added (basic) support for generic
+ instances.
+
+Tue Feb 17 21:40:16 CET 2004 Paolo Molaro <lupus@ximian.com>
+
+ * appdomain.h, domain.c: use a MonoCodeManager instead of a
+ MonoMempool to hold compiled native code.
+
+2004-02-17 Martin Baulig <martin@ximian.com>
+
+ * class.h (MonoDynamicGenericInst): Added `count_properties' and
+ `properties'.
+
+ * reflection.c (mono_reflection_generic_inst_initialize): Added
+ `MonoArray *properties' argument.
+
+ * icall.c (ves_icall_MonoGenericInst_GetProperties): New interncall.
+
+2004-02-17 Martin Baulig <martin@ximian.com>
+
+ * icall.c (ves_icall_Type_GetFields): Renamed to
+ ves_icall_Type_GetFields_internal() and added a
+ `MonoReflectionType *rtype' argument; pass it to
+ mono_field_get_object() to set the field's "reflected" type.
+ (ves_icall_Type_GetConstructors): Likewise.
+ (ves_icall_Type_GetEvents): Likewise.
+ (ves_icall_Type_GetMethodsByName): Added `MonoReflectionType *rtype'
+ argument; pass it to mono_method_get_object() to set the method's
+ "reflected" type.
+
+2004-02-17 Martin Baulig <martin@ximian.com>
+
+ * class.h (MonoDynamicGenericInst): New type.
+ (MonoGenericInst): Added `dynamic_info' and `is_dynamic' fields.
+
+ * icall.c (ves_icall_MonoGenericInst_GetMethods): New interncall.
+ (ves_icall_MonoGenericInst_GetConstructors): New interncall.
+ (ves_icall_MonoGenericInst_GetFields): New interncall.
+
+ * class.c (mono_class_from_generic): Don't call
+ mono_class_initialize_generic() if this is a dynamic instance;
+ ie. it's being created from a TypeBuilder.
+ Use MONO_TYPE_GENERICINST for `class->this_arg.type' and
+ `class->byval_arg.type'.
+
+ * reflection.c (mono_reflection_inflate_method_or_ctor): Renamed
+ to `inflate_method' and made static.
+ (mono_reflection_inflate_field): Removed.
+ (mono_reflection_generic_inst_initialize): New public method.
+
+ * reflection.h (MonoReflectionGenericInst): Removed `methods',
+ `ctors' and `fields'; added `initialized'.
+
+2004-02-14 Zoltan Varga <vargaz@freemail.hu>
+
+ * debug-helpers.c (mono_method_full_name): Fix output for empty
+ namespaces.
+
+2004-02-12 Martin Baulig <martin@ximian.com>
+
+ * class.h (MonoClassField): Added `MonoType *generic_type'.
+
+ * reflection.c (mono_image_get_fieldref_token): Added support for
+ instantiated generic types.
+ (field_encode_inflated_field): Removed.
+ (mono_image_get_inflated_field_token): Removed.
+ (mono_reflection_inflate_field): Return a `MonoReflectionField *'.
+
+ * reflection.h (MonoReflectionInflatedField): Removed.
+
+2004-02-12 Martin Baulig <martin@ximian.com>
+
+ * metadata.h (MonoMethodHeader, MonoMethodSignature): Moved the
+ `gen_method' field from MonoMethodHeader to MonoMethodSignature.
+
+ * reflection.c (mono_image_get_methodspec_token): Take a
+ `MonoMethod *' instead of a `MonoReflectionInflatedMethod *'.
+ (mono_image_create_token): Check whether we have a
+ `method->signature->gen_method' and call
+ mono_image_get_methodspec_token() if appropriate.
+ (inflated_method_get_object): Removed.
+ (mono_reflection_bind_generic_method_parameters): Return a
+ `MonoReflectionMethod *', not a `MonoReflectionInflatedMethod *'.
+ (mono_reflection_inflate_method_or_ctor): Likewise.
+
+ * reflection.h (MonoReflectionInflatedMethod): Removed.
+
+2004-02-12 Zoltan Varga <vargaz@freemail.hu>
+
+ * marshal.c (mono_marshal_get_native_wrapper): Implement proper support
+ for custom valuetype marshalling.
+
+ * icall.c (icall_entries): Diagnostic -> Diagnostics. Fixes #54261.
+
2004-02-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* icall.c: fixed WSAGetLastError_internal name.