X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=mono%2Fmetadata%2FChangeLog;h=723f5d9334b51811db19cad2616f228e6460b342;hb=cb10c4c61253785e005da4d00d2c9437f47ced8f;hp=6705021f0c342929504e6b802aaf3b25064a925c;hpb=ceb3b59c94a031a5096589dc45f4e70785896969;p=mono.git diff --git a/mono/metadata/ChangeLog b/mono/metadata/ChangeLog index 6705021f0c3..723f5d9334b 100644 --- a/mono/metadata/ChangeLog +++ b/mono/metadata/ChangeLog @@ -1,3 +1,412 @@ +2004-03-13 Martin Baulig + + * 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 + + * icall.c: + * unicode.c: + * unicode.h: Remove unused System.Char icalls. + +2004-03-11 Miguel de Icaza + + * 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 + + * reflection.c (mono_reflection_get_custom_attrs): Use the correct + class for properties, fields and events. Finally fixes #54945. + +2004-03-10 Martin Baulig + + * 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 + + * 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 + + * 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 + + * 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 + + * icall.c (ves_icall_Type_GetTypeCode): Added MONO_TYPE_GENERICINST. + (ves_icall_Type_GetField): Correctly set field->klass. + +2004-03-09 Zoltan Varga + + * loader.h: Fix warning. + +2004-03-08 Miguel de Icaza + + * 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 + + * 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 + + * 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 + + * appdomain.c (unload_thread_main): Increase unloading timeout to + 10 sec as a temporary workaround for Nant problems. + +2004-02-29 Zoltan Varga + + * 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 + + * reflection.c (mono_reflection_bind_generic_parameters): Take a + `MonoReflectionType *' instead of a `MonoType *'. + +2004-02-26 Zoltan Varga + + * gc.c (run_finalize): Avoid finalizing the object representing the + finalizer thread. + (finalizer_thread): Fix warning. + +2004-02-25 Martin Baulig + + * 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 + + * 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 + + * icall.c: I must have been really stupid - make it actually work + this time ;-) + +2004-02-23 Martin Baulig + + * loader.c (method_from_memberref): Only inflate the method if + it's in another klass. + +2004-02-23 Martin Baulig + + * 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 + + * reflection.c (method_encode_code): Improved the error message + generated by the exception. + +2004-02-22 Gonzalo Paniagua Javier + + * 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 + + * 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 + + * 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 + + * class.h (MonoGenericMethod): Removed `klass'. + + * class.c (mono_class_inflate_generic_method): Added `MonoClass + *klass' argument. + +2004-02-20 Martin Baulig + + * reflection.c (method_encode_methodspec): Actually use the + uninflated signature for the memberref. + +2004-02-20 Martin Baulig + + * 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 + + * 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 + + * object.c: fixed gc descriptor calculation for embedded valuetypes. + +2004-02-19 Gonzalo Paniagua Javier + + * icall.c: added Socket.WSAIoctl icall. + + * socket-io.[ch]: implemented + ves_icall_System_Net_Sockets_Socket_WSAIoctl. + +2004-02-19 Atsushi Enomoto + + * icall.c: removed IsDigit, IsSeparator, IsWhiteSpace from char_icalls. + +2004-02-18 Urs C Muff + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * appdomain.h, domain.c: use a MonoCodeManager instead of a + MonoMempool to hold compiled native code. + +2004-02-17 Martin Baulig + + * 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 + + * 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 + + * 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 + + * debug-helpers.c (mono_method_full_name): Fix output for empty + namespaces. + +2004-02-12 Martin Baulig + + * 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 + + * 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 + + * 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 * icall.c: fixed WSAGetLastError_internal name.