X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2FChangeLog;h=5f9d48644f0bf31753c4fd75f0c17c0c2a2086e6;hb=75c9137998ed0b72d877f86e060faa0371384f44;hp=85aec7c28a9ffb77c63d68008c9271b198fa822f;hpb=77a4b2ddf8b8396db05d391a5c0926eee4039133;p=mono.git diff --git a/mono/metadata/ChangeLog b/mono/metadata/ChangeLog index 85aec7c28a9..b10c3948216 100644 --- a/mono/metadata/ChangeLog +++ b/mono/metadata/ChangeLog @@ -1,3 +1,854 @@ +2004-02-02 Zoltan Varga + + * gc.c threads.c: Make the finalizer thread a normal managed thread so + the finalizer code can use thread functionality. + + * threads.c: Make some functions more robust. + + * loader.c (mono_lookup_pinvoke_call): Another attempt at fixing #22532. + + * metadata.h: Add new marshalling conventions. + + * marshal.c (mono_marshal_get_native_wrapper): Add support for unicode + stringbuilder marshalling. Fixes #53700. + + * reflection.h (MonoReflectionTypeBuilder): Add 'permissions' field. + + * reflection.c (mono_image_get_type_info): Save declarative security + info. + + * reflection.c (mono_image_get_field_info): Handle uninitialized + unmanaged fields as well. + + * appdomain.c: Bump corlib version. + +2004-02-01 Martin Baulig + + * loader.c (method_from_methodspec): Use `ginst->mtype_argc/v' for + method type arguments. + +2004-01-30 Duncan Mak + + * marshal.h: Add prototype for + "ves_icall_System_Runtime_InteropServices_Marshal_AllocCoTaskMem" + and + "ves_icall_System_Runtime_InteropServices_Marshal_FreeCoTaskMem" to + fix the build. + +2004-01-30 Zoltan Varga + + * marshal.c (ves_icall_System_Runtime_InteropServices_Marshal_AllocCoTaskMem): New icall. + (ves_icall_System_Runtime_InteropServices_Marshal_FreeCoTaskMem): New icall. + +2004-01-29 Zoltan Varga + + * marshal.c (mono_marshal_get_native_wrapper): Add support for + custom marshalling of valuetypes. + + * marshal.c: Fix some warnings. + +2004-01-29 Martin Baulig + + * class.h (MonoGenericInst): Added `mtype_argc' and `mtype_argv' + for generic method parameters. + + * reflection.c (method_encode_methodspec): Write the uninflated + signature into the methodspec table. + (mono_reflection_inflate_method_or_ctor): Ensure `res->declaring' + is always the uninflated method. + (reflection_methodbuilder_to_mono_method): Copy the generic + parameters from the MethodBuilder into `header->gen_params'. + +2004-01-29 Zoltan Varga + + * class.c (mono_class_from_generic_parameter): Fix warning. + +2004-01-27 Martin Baulig + + * class.c (mono_class_from_generic_parameter): Don't create + `klass->methods' here. + +2004-01-26 Zoltan Varga + + * loader.c (mono_lookup_pinvoke_call): Disable trimming of .dll + extension since it does not work with libraries named lib.dll.so. + +2004-01-25 Martin Baulig + + * class.c (mono_class_inflate_generic_type): Added support for + MONO_TYPE_GENERICINST. + + * reflection.c (mono_reflection_inflate_method_or_ctor): Also + inflate methods on open constructed types. + +2004-01-24 Gonzalo Paniagua Javier + + * object.c: fire ProcessExit event in the root AppDomain after running + Main. Fixes bug #53299. + +Fri Jan 23 21:27:40 CET 2004 Paolo Molaro + + * socket-io.c: include the new socket-wrappers.h header. + Use the wrappers instead of the unix socket functions to make the code + more clear. + +2004-01-23 Zoltan Varga + + * profiler.c (merge_methods): Fix merging of profile info. Fixes #53010. + + * loader.c (mono_lookup_pinvoke_call): Strip .dll from library names. + Fixes #22532. + +2004-01-22 Zoltan Varga + + * reflection.c (mono_image_create_pefile): Handle the case when the + entry point is not a MethodBuilder. + + * reflection.h (MonoReflectionAssemblyBuilder): Change 'entry_point' + field to ReflectionMethod since it is not allways a builder. + + * reflection.c (type_get_fully_qualified_name): New helper function to + return the fully qualified name of a type. + + * reflection.c (encode_marshal_blob): Always emit the fully qualified + type name for custom marshallers. + + * reflection.c (mono_marshal_spec_from_builder): Ditto. + + * class.c (mono_class_setup_vtable): If a parent class already + implements an interface, use the implementing methods from that class. + Fixes #53148. + +2004-01-22 Gonzalo Paniagua Javier + + * threadpool.c: just return instead of ExitThread to allow for thread + clean up earlier. + +2004-01-21 Zoltan Varga + + * icall.c (ves_icall_System_Reflection_Module_Close): Prevent assertion + when closing resource modules. + + * reflection.c (mono_image_create_pefile): Handle the case when the + entry point is not a MethodBuilder. + + * reflection.h (MonoReflectionAssemblyBuilder): Change 'entry_point' + field to ReflectionMethod since it is not allways a builder. + +2004-01-20 Bernie Solomon + + * marshal.c (mono_marshal_get_managed_wrapper): + mono_marshal_alloc takes native int so CONV_I + the arg for 64bits. + +2004-01-20 Zoltan Varga + + * reflection.c (fixup_cattrs): New function to fixup the methoddef + tokens in the cattr table. Fixes #53108. + +2004-01-20 Gonzalo Paniagua Javier + + * loader.c: don't trim ".dll" before looking up in the config file. + Don't leak orig_scope. Reopened bug #22532 in the meanwhile. + +2004-01-19 Zoltan Varga + + * icall.c (ves_icall_System_Reflection_Assembly_GetManifestResourceInternal): + Return the module which contains the resource as well. + (ves_icall_System_Reflection_Module_Close): New icall. + + * appdomain.c: Bump corlib version number. + + * image.c (mono_image_addref): New public function. + + * assembly.c: Call mono_image_addref. + + * reflection.c (mono_module_get_object): Increase reference count of + the image. + + * loader.c (mono_lookup_pinvoke_call): Strip .dll from library names. + Fixes #22532. + + * exception.h exception.c loader.h loader.c icall.c marshal.h marshal.c: + Applied patch from Bernie Solomon . Throw + proper exceptions on DllImport problems. + +Mon Jan 19 17:50:27 CET 2004 Paolo Molaro + + * class.c, metadata.c: eliminate CSIZE macro. + +2004-01-19 Lluis Sanchez Gual + + * icall.c: Added ves_icall_type_IsInstanceOf internal call. + * object.h: Added async_callback field in MonoAsyncResult. + * marshal.c: In mono_delegate_begin_invoke, set the value of async_callback. + * verify.c: Added async_callback in MonoAsyncResult layout. + +2004-01-17 Zoltan Varga + + * reflection.c (mono_reflection_get_custom_attrs): Add support + for Modules. + +2004-01-16 Zoltan Varga + + * marshal.c (mono_string_builder_to_utf8): Fix stringbuilder + marshalling. + (mono_marshal_method_from_wrapper): Add null pointer check. + +2004-01-16 Martin Baulig + + * debug-mono-symfile.h: Set version number to 36 and reflect + latest symbol writer changes. + +2004-01-16 Zoltan Varga + + * class.c (mono_bounded_array_class_get): Set 'bounded' to FALSE for + multi-dimensional arrays. + (mono_class_is_assignable_from): Check vectors<->one dim. arrays. + (mono_class_from_mono_type): Use bounded_array_class_get. + + * class.c (mono_bounded_array_class_get): New function which takes + a 'bounded' bool argument to distinguish vectors from one dimensional + arrays. + + * icall.c (ves_icall_System_Array_CreateInstanceImpl): Call + bounded_array_class_get if the array has bounds. + + * icall.c (ves_icall_System_Reflection_Assembly_InternalGetType): + Search modules loaded using AssemblyBuilder:AddModule as well. + +2004-01-16 Gonzalo Paniagua Javier + + * appdomain.c: increased corlib version. + * filewatcher.c: removed g_print. + * icall.c: + (get_property_info): only allocate what is actually requested. + (ves_icall_Type_GetInterfaces): free the bitset in case of early error. + +2004-01-16 Gonzalo Paniagua Javier + + * Makefile.am: added filewatcher.[ch] + * filewatcher.[ch]: FileSystemWatcher runtime support. + * icall.c: added new FSW icalls. + +Tue Jan 13 20:03:17 CET 2004 Paolo Molaro + + * string-icalls.c: fix stringbuilder regression as suggested by + Iain McCoy . + +2004-01-13 Zoltan Varga + + * process.c (process_read_stringtable_block): Recognize '007f' as + a language neutral stringtable block. + +2004-01-12 Patrik Torstensson + + * object.h (MonoStringBuilder) : Changed layout to support our + new stringbuilder class. + * marshal.c: Change marshalling to support the new layout of + string builder. + * appdomain.c: increased version number because new layout of + string builder. + +2004-01-12 Zoltan Varga + + * appdomain.c (ves_icall_System_AppDomain_LoadAssembly): Receive the + assembly name as an string instead of an AssemblyName, since it is + easier to extract info from it. + + * appdomain.c (mono_domain_assembly_preload): Look for assemblies in + the culture subdirectories too. Fixes #52231. + +2004-01-12 Gonzalo Paniagua Javier + + * icall.c: renamed ves_icall_Type_GetMethods to GetMethodsByName. + It takes 2 new parameters with an optional name for the method to look + for and case ignoring info. + + * threadpool.c: removed unused variable. + +2004-01-11 Gonzalo Paniagua Javier + + * icall.c: renamed ves_icall_Type_GetProperties to GetPropertiesByName. + It takes 2 new parameters with an optional name for the property to look + for and case ignoring info. + Fixes bug #52753. + +2004-01-09 Zoltan Varga + + * reflection.c: Applied patch from Benjamin Jemlich (pcgod@gmx.net). + Fix #52451. + +2004-01-08 Gonzalo Paniagua Javier + + * appdomain.c: + * assembly.c: escape the uri before passing it to g_filename_from_uri. + Fixes bug #52630. + +2004-01-07 Zoltan Varga + + * reflection.c: Add support for more than one unmanaged resource. + + * icall.c (ves_icall_get_enum_info): Store the value of the enum fields + in field->def_value, as done in all other cases. + + * reflection.c (mono_reflection_get_custom_attrs): Add support for + TypeBuilders. + + * reflection.c (mono_reflection_create_runtime_class): Remove + errorneous assignment to klass->element_class, since it is already + done in mono_reflection_setup_internal_class. + +2004-01-07 Gonzalo Paniagua Javier + + * gc.c: added missing LeaveCriticalSection. + * icall.c: indented a couple of lines. + * threadpool.c: remove dangling LeaveCriticalSection. Don't wait forever + if we call EndInvoke inside a callback. Fixes bug #52601. + +2004-01-07 Martin Baulig + + * mono-debug-debugger.h + (MonoDebuggerIOLayer): Added `GetCurrentThreadID'. + +2004-01-06 Miguel de Icaza + + * appdomain.c: Use messages in NotImplementedException. + + * exception.c (mono_get_exception_not_implemented): Now this takes + a message argument. + + * marshal.c (emit_str_to_ptr_conv): g_warning and throw an + exception instead of g_asserting an aborting when something is not + implemented. + + Add some inline docs. + +2004-01-05 Zoltan Varga + + * reflection.h: Update after changes to object layout. + + * reflection.c: Implement saving of unmanaged aka win32 resources. + + * appdomain.c: Bump version number. + + * appdomain.c (ves_icall_System_AppDomain_InternalSetDomainByID): + Handle missing domains gracefully. + +2004-01-05 Atsushi Enomoto + + * file-io.c : On Windows, there are much more invalid_path_chars. + +Fri Jan 2 13:35:48 CET 2004 Paolo Molaro + + * class.h, object.c: prepare for GetType () speedup. + +2003-12-24 Atsushi Enomoto + + * profiler.c: workaround for --profile null reference exception on + cygwin. Patch by Patrik Torstensson. + +2003-12-22 Bernie Solomon + + * marshal.c: (ves_icall_System_Runtime_InteropServices_Marshal_Read/WriteXXX) + make work for unaligned access. + +Mon Dec 22 18:37:02 CET 2003 Paolo Molaro + + * class.c: small cleanup (class->fields [i] -> field). + * image.c: check address of metadata is valid. + +2003-12-22 Zoltan Varga + + * assembly.h assembly.c (mono_assembly_loaded): New public function to + search the list of loaded assemblies. + + * reflection.c (mono_reflection_type_from_name): Use + mono_assembly_loaded instead of mono_image_loaded. + + * reflection.c: Fix warnings. + +2003-12-20 Zoltan Varga + + * image.h (MonoImage): Add a new 'dynamic' field to denote that the image + is dynamic. This is needed since an assembly can contain both dynamic and + non-dynamic images. + + * class.c loader.c metadata.c object.c: Use image->dynamic instead of + assembly->dynamic. + + * icall.c reflection.c: Add new AssemblyBuilder:AddModule icall. + + * reflection.h (MonoReflectionAssemblyBuilder): Add 'loaded_modules' field + to store modules loaded using AddModule. + + * reflection.c (mono_image_fill_file_table): Generalize this so it works + on Modules. + + * reflection.c (mono_image_fill_export_table_from_class): New helper function. + + * reflection.c (mono_image_fill_export_table_from_module): New function to + fill out the EXPORTEDTYPES table from a module. + + * reflection.c (mono_image_emit_manifest): Refactor manifest creation code + into a separate function. Also handle loaded non-dynamic modules. + + * reflection.c (mono_image_basic_init): Fix memory allocation. + + * appdomain.c (MONO_CORLIB_VERSION): Bump corlib version. + + * assembly.c (mono_assembly_load_references): Make this public. + +2003-12-19 Martin Baulig + + * class.c (mono_class_initialize_generic): Made this static, take + a `MonoGenericInst *' instead of a `MonoClass *'. + (mono_class_from_generic): Call mono_class_initialize_generic() + unless we're already initialized or being called from + do_mono_metadata_parse_generic_inst(). + + * class.h (MonoGenericInst): Added `initialized' and + `init_pending' flags. + + * metadata.c (do_mono_metadata_parse_generic_inst): Don't call + `mono_class_init (gklass)' or mono_class_initialize_generic() + here; set `generic_inst->init_pending' while parsing the + `type_argv'. + +2003-12-19 Bernie Solomon + + * locales.c: include string.h for memxxx prototypes + +2003-12-19 Zoltan Varga + + * icall.c (ves_icall_MonoField_GetValueInternal): Do not run the class + constructor when accessing literal fields. + +2003-12-17 Zoltan Varga + + * appdomain.c (MONO_CORLIB_VERSION): Bump corlib version. + + * reflection.c (assembly_add_resource_manifest): New function to fill + the MANIFESTRESOURCE table. + + * reflection.c (mono_image_build_metadata): Emit MANIFESTRESOURCE table. + + * reflection.h: Update to changes in class layout. + + * icall.c (ves_icall_System_Environment_get_HasShutdownStarted): + Reenable call to mono_runtime_is_shutting_down (). + + * appdomain.c (mono_runtime_is_shutting_down): New helper function to + determine if the runtime is shutting down. + +2003-12-16 Jackson Harper + + * icall.c: comment out call to mono_runtime_is_shutting_down to + fix build. + +2003-12-16 Zoltan Varga + + * icall.c (ves_icall_System_Reflection_Assembly_GetManifestResourceInternal): Add support for loading resources from modules. + (ves_icall_System_Environment_get_HasShutdownStarted): New icall. + +2003-12-15 Bernie Solomon + + * reflection.c: move definition of swap_with_size + to before its first call + +2003-12-15 Zoltan Varga + + * appdomain.c (mono_runtime_is_shutting_down): New public function. + + * icall.c (ves_icall_System_Environment_get_HasShutdownStarted): New + icall. + + * object.c: Fix warnings. + + * icall.c (ves_icall_Type_Get...): Only consider inherited static + members if FlattenHierarchy is set. + + * reflection.c (mono_image_add_decl_security): New function to emit + declarative security. + + * reflection.h reflection.c: Add support for declarative security. + + * appdomain.c (MONO_CORLIB_VERSION): Bump version number. + +2003-12-13 Zoltan Varga + + appdomain.c (MONO_CORLIB_VERSION): Bump version number. + + * appdomain.c verify.c: Moved corlib version checking into its own + function in appdomain.c since it needs to create vtables etc. + +2003-12-13 Patrik Torstensson + + * marshal.c (mono_remoting_wrapper): Fix bug 48015, using TP as this + instead of unwrapped server. + +2003-12-12 Zoltan Varga + + * verify.c (check_corlib): Fix field index. + +2003-12-10 Zoltan Varga + + * icall.c: Applied patch from Todd Berman (tbermann@gentoo.org). New + GetGacPath icall. + +2003-12-10 Bernie Solomon + + * process.c: (ves_icall_System_Diagnostics_Process_GetWorkingSet_internal + ves_icall_System_Diagnostics_Process_SetWorkingSet_internal): + cope with sizeof(size_t) != sizeof(guint32). + +2003-12-10 Gonzalo Paniagua Javier + + * process.[ch]: the 'pid' field in MonoProcInfo stores GetLastError + in case of failure. + +2003-12-10 Mark Crichton + + * icall.c: removed the GetNonZeroBytes. We now handle this case + in managed code. + + * rand.c, rand.h: Same here. Also cleaned up the clode slightly. + +Tue Dec 9 15:36:18 CET 2003 Paolo Molaro + + * class.h, class.c, icall.c, marshal.c, object.c: ignore fields + marked as deleted. + +2003-12-09 Zoltan Varga + + * verify.c (check_corlib): Handle the case when the version field is + initialized by a static constructor. + +2003-12-08 Patrik Torstensson + + * rand.c (InternalGetBytes): Implemented win32 version with cryptapi + +2003-12-08 Martin Baulig + + * icall.c (ves_icall_TypeBuilder_define_generic_parameter): Return + a MonoReflectionGenericParameter, also take the parameter index + and name as arguments. + (ves_icall_MethodBuilder_define_generic_parameter): Likewise. + (ves_icall_MonoGenericParam_initialize): New interncall. + (ves_icall_Type_make_byref_type): New interncall. + + * reflection.h (MonoReflectionGenericParam): Derive from + MonoReflectionType, not just from MonoObject. Added `refobj' and + `index' fields. + + * reflection.c (mono_reflection_define_generic_parameter): Create + and return a new MonoReflectionGenericParam; don't initialize the + constraints here. + (mono_reflection_initialize_generic_parameter): New public method; + initializes the constraints and creates the `param->pklass'. + +2003-12-08 Zoltan Varga + + * reflection.h reflection.c: Use the new fields 'num_types', + 'num_fields' and 'num_methods' to track the number of types etc. + + * verify.c (check_corlib): Check corlib version number. + +2003-12-07 Zoltan Varga + + * marshal.c (mono_marshal_method_from_wrapper): Remove assert so this + function works on all methods. + +2003-12-07 Lluis Sanchez Gual + + * domain.c, loader.h: Added IRemotingTypeInfo interface in MonoDefaults. + * icall.c: in, ves_icall_Remoting_RealProxy_GetTransparentProxy set + the custom_type_info flag of the transparent proxy. + * object.c: Added method mono_object_isinst_mbyref for casting mbyref + objects that supports IRemotingTypeInfo. + * object.h: Added custom_type_info field in transparent proxy. + +2003-12-06 Martin Baulig + + * class.c (mono_class_create_from_generic): Removed. + (mono_class_from_generic): Check `ginst->klass' before doing + anything else. This is important to fully support "recursive" + generic types. + + * metadata.c (do_mono_metadata_parse_generic_inst): Create an + empty `generic_inst->klass' before doing anything else. + +2003-12-06 Dick Porter + + * verify.c: + * object.h: + * icall.c: + * locales.c: Use C structs to access class fields. Don't do a + conversion between MonoString and UChar because both are + platform-endian UTF-16. Compare now takes startindex and count + parameters. Add a char overload for IndexOf. Speed up the + invariant string IndexOf. + +2003-12-05 Zoltan Varga + + * Makefile.am (monosn_LDADD): Fix parallel build. + +2003-12-04 Martin Baulig + + * icall.c + (ves_icall_type_GetTypeCode): Added MONO_TYPE_VAR and MONO_TYPE_MVAR. + (ves_icall_Type_make_array_type): New interncall. + +2003-12-04 Martin Baulig + + * locales.c: also change it in the !HAVE_ICU case. + +2003-12-04 Dick Porter + + * icall.c: + * locales.c: construct_compareinfo is now in CompareInfo, not + CultureInfo. + +2003-12-04 Zoltan Varga + + * image.c (mono_image_load_file_for_image): Cache loaded images in the + image->files array. + + * image.c (load_class_name): Load class names from the EXPORTEDTYPES + table as well. + + * assembly.c (mono_assembly_load_references): Only load references + once. + + * class.c (mono_class_from_name): Avoid linear search of the + EXPORTEDTYPE table. + + * loader.c (mono_field_from_token): Cache lookups of fieldrefs as well. + +2003-12-03 Zoltan Varga + + * image.h (MonoImage): Add 'field_cache' field. + + * loader.c (mono_field_from_token): Cache field lookups. + + * reflection.c (mono_module_get_object): Fix name property. + + * icall.c (ves_icall_get_enum_info): Update after changes to + mono_metadata_get_constant_index (). + + * icall.c: Get rid of get_type_info icall, use a separate icall for + each type property to avoid needless memory allocations. Fixes #51514. + + * metadata.c (mono_metadata_get_constant_index): Add a 'hint' parameter + to avoid needless binary searches. + + * class.c (class_compute_field_layout): Move the initialization of + field->def_value to mono_class_vtable (). + + * class.c (mono_class_layout_fields): Enable GC aware auto layout for + non-corlib types. + + * object.c (mono_object_allocate): Make it inline. + + * object.c (mono_object_allocate_spec): Make it inline. + +2003-12-02 Dick Porter + + * locales.c (create_NumberFormat): NumberFormatInfo construction. + Patch by Mohammad DAMT (mdamt@cdl2000.com). + +2003-12-01 Dick Porter + + * threads.c: Fix signature and call in CreateMutex and + CreateEvent. + +2003-12-01 Dick Porter + + * icall.c: + * locales.c: Implement string compares and searching + + * object.h: Add extra Thread field + +2003-11-30 Zoltan Varga + + * reflection.c (fixup_method): Add support for MonoCMethod. + +2003-11-28 Zoltan Varga + + * gc.c: Fix hangs and error messages when GC_DONT_GC is set. + + * reflection.c (assembly_name_to_aname): Allow extra characters in + assembly names. Fixes #51468. + +2003-11-26 Zoltan Varga + + * exception.c (mono_exception_from_name_domain): New helper function. + + * appdomain.c (ves_icall_System_AppDomain_createDomain): Create the + exception object in the correct domain. + + * appdomain.c (ves_icall_System_AppDomain_LoadAssemblyRaw): Fix + formatting + make a copy a the input data. + + * loader.c (mono_get_method_from_token): Methods which contain + native code do not have entries in the ImplMap. + + (ves_icall_System_AppDomain_LoadAssemblyRaw): Fix exception throw. + Thanks to Gonzalo for spotting this. + + * appdomain.c (ves_icall_System_AppDomain_LoadAssemblyRaw): Applied + patch from ztashev@openlinksw.co.uk (Zdravko Tashev). New icall. + + * assembly.h (mono_assembly_load_from): Split the second part of + assembly loading into a new public function. + + * exception.h (mono_get_exception_bad_image_format): New function. + +2003-11-24 Zoltan Varga + + icall.c (ves_icall_System_Reflection_Assembly_InternalGetType): + Enumerate all modules inside a dynamic assembly. Fixes #51293. + + * icall.c: Add new icall for creating dynamic methods. + + * loader.h debug-helpers.c: Add new wrapper type for dynamic methods. + + * reflection.h (MonoReflectionDynamicMethod): Fix type of bool fields. + + * reflection.c (mono_reflection_create_dynamic_method): New icall to + create a dynamic method. + + * reflection.c (resolve_object): New helper function. + + * reflection.c: Generalize ReflectionMethodBuilder and the functions + which manipulate it so they can also work on dynamic methods. + + * reflection.c (reflection_method_builder_to_mono_method): Avoid + creating the MonoReflectionMethodAux structure if it is not needed. + + * reflection.h verify.c: Update after changes to object layout. + + * reflection.c (method_builder_encode_signature): Fix compilation on + gcc 2.95.x. + +2003-11-21 Lluis Sanchez Gual + + * appdomain.h: Added support for context static fields. Added static_data + field to MonoAppContext and renamed thread_static_fields to a more + generic special_static_fields in MonoAppDomain, since it can now contain + context static fields. + * domain.c: Updated hashtable name. + * object.c: Replaced field_is_thread_static() for a more generic + field_is_special_static() which also checks for context static attribute. + In mono_class_vtable(), added support for static context fields. + * threads.c: Changed methods that manage thread static fields to more + generic methods so they can be reused both for thread and context static + data. + * threads.h: Declared some new methods. + +2003-11-21 Zoltan Varga + + * reflection.h: Update after changes to the managed types. + + * reflection.c (encode_custom_modifiers): New helper function. + + * reflection.c (method_encode_signature): Emit custom modifiers. + + * reflection.c (field_encode_signature): Emit custom modifiers. + +2003-11-18 Zoltan Varga + + * reflection.h (MonoReflectionAssemblyName): Applied patch from Laurent Morichetti (l_m@pacbell.net). Fix type of 'flags' field. + + * icall.c (ves_icall_System_ValueType_Equals): New optimized + implementation. + + * icall.c (ves_icall_System_ValueType_InternalGetHashCode): New + icall. + + * object.c (mono_field_get_value_object): New function. + + * object.c appdomain.h appdomain.c: Make out_of_memory_ex domain + specific. + +2003-11-17 Zoltan Varga + + * appdomain.c (mono_runtime_get_out_of_memory_ex): New function to + return a preallocated out-of-memory exception instance. + + * object.c (out_of_memory): Use the new function. + + * metadata.c (mono_metadata_parse_type): Handle the case when the byref + flag is before the custom modifiers. Fixes #49802. + +2003-11-16 Martin Baulig + + * class.c (mono_class_is_open_constructed_type): Implemented the + MONO_TYPE_GENERICINST case. + +2003-11-16 Zoltan Varga + + * assembly.c (mono_assembly_fill_assembly_name): New function to + fill out the MonoAssemblyName structure. + (mono_assembly_open): Use the new function. + + * icall.c (fill_reflection_assembly_name): New helper function. + + * icall.c (ves_icall_System_Reflection_Assembly_FillName): Use the + new function. + + * icall.c (ves_icall_System_Reflection_Assembly_InternalGetAssemblyName): New icall. + +2003-11-15 Martin Baulig + + * class.c (mono_class_is_open_constructed_type): New public + function; checks whether a type is an open constructed type, + ie. whether it still contains type parameters. + (mono_class_inflate_generic_type): If we're a type parameter and + the inflated type is also a MONO_TYPE_(M)VAR, return the original + type. + + * class.h (MonoGenericInst): Added `guint32 is_open'. + + * loader.c (method_from_methodspec): Check whether we're an open + or closed constructed type and set `ginst->is_open'. + + * reflection.c (mono_reflection_bind_generic_parameters): Check + whether we're an open or closed constructed type and set + `ginst->is_open'. + (mono_reflection_inflate_method_or_ctor): Don't inflate methods + from open constructed types. + +2003-11-15 Martin Baulig + + * reflection.c (mono_reflection_bind_generic_parameters): If we're + a generic instance (instead of a generic type declaration) with + unbound generic parameters, bind them to our actual types. + +2003-11-14 Martin Baulig + + * reflection.h (MonoReflectionGenericInst): Added `MonoArray *interfaces'. + + * reflection.c (mono_reflection_bind_generic_parameters): If we're + an interface type, populate `res->interfaces' with instantiated + versions of all the interfaces we inherit. + +2003-11-13 Aleksey Demakov + + * assembly.c (mono_assembly_load): Fixed problem finding mscorlib.dll + when MONO_PATH is set but doesn't contain the install dir. + +2003-11-13 Gonzalo Paniagua Javier + + * icall.c: + (ves_icall_Type_GetInterfaces): don't return an interface twice when + it's also implemented in base classes. Fixes bug #50927. + +2003-11-13 Zoltan Varga + + * gc.c (ves_icall_System_GC_WaitForPendingFinalizers): Avoid deadlocks + if this method is called from a finalizer. Fixes #50913. + 2003-11-12 Miguel de Icaza * threads.c: Implement VolatileRead/VolatileWrite