2004-06-11 Martin Baulig <martin@ximian.com>
[mono.git] / mono / metadata / ChangeLog
index c31cf8bc5624a6ce37f43ccd00a4b191aab8c73a..e4cd8d63c5b82574890e2d1369b2dd3d6785133e 100644 (file)
@@ -1,3 +1,457 @@
+2004-06-11  Martin Baulig  <martin@ximian.com>
+
+       * class.h (MonoInflatedField): New type.
+       (MonoClassField): Replaced `MonoType *generic_type' with
+       `MonoInflatedField *generic_info'.
+
+       * icall.c
+       (ves_icall_MonoField_Mono_GetGenericFieldDefinition): New icall.
+
+2004-06-11  Martin Baulig  <martin@ximian.com>
+
+       * reflection.c (mono_image_create_method_token): Correctly encode
+       varargs methods.
+
+2004-06-11  Martin Baulig  <martin@ximian.com>
+
+       * metadata.c (mono_metadata_parse_method_signature): When parsing
+       a MethodDef which has VarArgs, also set sentinelpos if we don't
+       have any parameters.
+
+2004-06-11  Martin Baulig  <martin@ximian.com>
+
+       * verify.c (mono_method_verify): In CEE_CALL, use
+       mono_method_get_signature() to get the method's signature, unless
+       we're a PInvoke method.
+
+2004-06-10  Jackson Harper  <jackson@ximian.com>
+
+       * assembly.c: Use <path>/lib/mono/gac for the extra paths
+       lookup. Rename MONO_GAC_PATH to MONO_GAC_PREFIX, this is a more
+       logical name as the supplied path is just a prefix to the gac not
+       the direct path to it.
+       
+Thu Jun 10 20:10:16 CEST 2004 Paolo Molaro <lupus@ximian.com>
+
+       * reflection.c: make the token for a created method match
+       the token of the MethodBuilder it was created from
+       (IKVM requires this behaviour now).
+
+Thu Jun 10 16:02:27 CEST 2004 Paolo Molaro <lupus@ximian.com>
+
+       * image.c, image.h, appdomain.c, assembly.c, loader.c, metadata.c,
+       reflection.c, socket-io.c: leak fixes.
+
+Wed Jun 9 18:23:59 CEST 2004 Paolo Molaro <lupus@ximian.com>
+
+       * icall.c: handle sentinel pos in vararg methods in position different
+       from 0.
+
+2004-06-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * culture-info-tables.h: freshly generated.
+
+2004-06-09  Martin Baulig  <martin@ximian.com>
+
+       * loader.c (mono_get_method_constrained): Call `mono_class_init
+       (constrained_class)'.   
+
+2004-06-08  Gert Driesen <drieseng@users.sourceforge.net>
+
+       * icall.c (ves_icall_MonoType_GetEvent): Handle events without
+       any methods. Fixes #59629.
+
+2004-06-08  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * culture-info-tables.h: reflecting locale-builder updates.
+
+2004-06-08  Dick Porter  <dick@ximian.com>
+
+       * object.h:
+       * locales.c: Fixed compile warnings, including a real bug in
+       CompareInfo_internal_compare.
+       
+2004-06-08  Dick Porter  <dick@ximian.com>
+
+       * locales.c
+       (ves_icall_System_Globalization_CompareInfo_internal_index):
+       (ves_icall_System_Globalization_CompareInfo_internal_index_char):
+       Double-check the resuls of usearches, because ICU currently
+       ignores most of the collator settings here.  Fixes bug 59720.
+       
+2004-06-08  Dick Porter  <dick@ximian.com>
+
+       * locales.c
+       (ves_icall_System_Globalization_CompareInfo_internal_index_char):
+       Fix memory leak and segfault-causing typo.  No idea how this one
+       lasted so long without being noticed.
+
+2004-06-09  Zoltan Varga  <vargaz@freemail.hu>
+
+       * icall.c (ves_icall_Type_GetEvents_internal): Handle events without
+       any methods. Fixes #59629.
+
+2004-06-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * assembly.c:
+       (mono_assembly_load): search_loaded -> mono_assembly_loaded (we didn't
+       own the critical section before). Removed dead code (that's done
+       in the preload hook).
+
+       (mono_assembly_load_with_partial_name): call the preload hook.
+
+2004-06-08  Martin Baulig  <martin@ximian.com>
+
+       * metadata.c (mono_metadata_signature_alloc): Default
+       `sentinelpos' to -1.
+
+       * reflection.c (mono_image_get_array_token): Likewise.
+
+2004-06-08  Martin Baulig  <martin@ximian.com>
+
+       * icall.c (ves_icall_ModuleBuilder_getMethodToken): New icall.
+
+       * metadata.c (mono_metadata_parse_method_signature): When parsing
+       a MethodDef which has VarArgs, set sentinelpos.
+
+       * metadata.h (MonoMethodSignature): Make `sentinalpos' a signed
+       `gint16' since we're using -1 for non-varargs methods.
+
+       * reflection.c
+       (ReflectionMethodBuilder): Added `MonoArray *opt_types'.
+       (method_encode_signature): Added varargs support.
+       (method_builder_encode_signature): Likewise.
+       (mono_image_get_varargs_method_token): New static method.
+       (mono_image_create_method_token): New public method; this is
+       called via an icall instead of mono_image_create_token() when
+       calling a varargs method.       
+
+2004-06-08  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * locales.c: Fixed memory leak in Char.ToLower/ToUpper.
+
+2004-06-08  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * culture-info-tables.h : Reflecting the latest locale-builder that
+         fixed empty array representation ({} to {0}).
+
+2004-06-07  Jackson Harper  <jackson@ximian.com>
+
+       * assembly.c: It should be <MONO_GAC_PATH>/lib/mono/gac when
+       looking up extra gac paths. This allows MONO_GAC_PATH to act
+       exactly like a prefix.
+       
+2004-06-08  Zoltan Varga  <vargaz@freemail.hu>
+
+       * reflection.c (mono_reflection_type_from_name): Make a copy of the
+       type name before modifying it. Fixes #59405.
+
+2004-06-08  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * culture-info.h: added fields for "all datetime patterns".
+       * locales.c: (  ves_icall_System_Globalization_CultureInfo
+         _construct_datetime_format ()): fill xxx_patterns fields.
+       * object.h: added fields for "all datetime patterns" to
+         MonoDateTimeFormatInfo.
+       * culture-info-tables.h: reflecting locale-builder updates.
+
+2004-06-08  Zoltan Varga  <vargaz@freemail.hu>
+
+       * icall.c (ves_icall_Type_GetEvents_internal): Handle the case when
+       the event has no add and remove methods. Fixes #59629.
+
+2004-06-05  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * object.c: Fixed possible integer overflow when allocating large
+       strings.
+
+2004-06-05  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * culture-info-tables.h: reflecting locale-builder updates.
+
+2004-06-05  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * culture-info-tables.h: reflecting locale-builder updates.
+
+2004-06-03  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * culture-info-tables.h: reflecting locale-builder updates.
+
+2004-06-03  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * threads.c: Made Thread.Sleep abortable.
+
+2004-06-02  Martin Baulig  <martin@ximian.com>
+
+       * mono-debug.h (MONO_DEBUGGER_VERSION): Bumped version to 41.
+
+       * debug-mono-symfile.h: Bumped symbol file version number to 37.
+
+2004-05-31  Zoltan Varga  <vargaz@freemail.hu>
+
+       * marshal.c (mono_marshal_get_runtime_invoke): Fix CR/LFs.
+
+2004-05-30  Jackson Harper  <jackson@ximian.com>
+
+       * reflection.c: Do not hardcode assembly versions or public key
+       tokens anymore. All of this except the corlib section was dead
+       code anyways.
+       
+2004-05-29  Zoltan Varga  <vargaz@freemail.hu>
+
+       * object.c (mono_runtime_invoke_array): Automatically create boxed
+       objects for byref valuetypes if needed. Fixes #59300.
+       
+       * object.c (mono_method_return_message_restore): Handle 
+       MONO_TYPE_OBJECT as well.
+
+2004-05-28  Jackson Harper  <jackson@ximian.com>
+
+       * reflection.c: The modified type encoding was causing build
+       problems. Reverted for now.
+       
+2004-05-28  Jackson Harper  <jackson@ximian.com>
+
+       * reflection.c/h: Take an assembly ref so that we dont create
+       fully qualified names when encoding types in the same assembly as
+       the custom attribute being emitted.
+       * appdomain.c: Increment version number.
+       
+2004-05-26  Duncan Mak  <duncan@ximian.com>
+
+       * icall.c
+       (ves_icall_System_Reflection_Assembly_GetReferencedAssemblies):
+       Set the full version number (major, minor, build, revision).
+
+2004-05-28  Vladimir Vukicevic  <vladimir@pobox.com>
+
+       * marshal.c (emit_struct_conv): increment src/dst after blit
+       (mono_marshal_get_managed_wrapper,
+       mono_marshal_get_native_wrapper): make sure we have marshalling
+       info before marshalling params (info computation affects
+       blittable)
+
+       * class.c (class_compute_field_layout): correctly deal with
+       blittable
+       (mono_class_layout_fields): Don't do gc_aware_layout for AUTO
+       value types (as per what windows dows by default)
+       (mono_class_setup_mono_type): System.ValueType is blittable
+       (mono_ptr_class_get, mono_fnptr_class_get): Pointer classes are
+       blittable
+
+       * marshal.c (mono_marshal_load_type_info): flag types  as
+       non-blittable if the native layout doesn't match the managed
+       layout
+
+2004-05-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * appdomain.c: don't add stuff in the private search path that is
+       above the application base. If application base is not set, there's
+       no private search path.
+
+2004-05-28  Zoltan Varga  <vargaz@freemail.hu>
+
+       * marshal.c (mono_marshal_get_managed_wrapper): Add proper support for
+       byref struct arguments in native->managed marshalling.
+
+2004-05-28     Patrik Torstensson      <totte@hiddenpeaks.com>
+
+       * marshal.c (mono_marshal_get_runtime_invoke): correctly
+       cache methods using signature (special case for methods
+       that are value type or string class)
+       
+       * image.c (mono_image_close): clean up allocated GSList's
+       in runtime_invoke_cache.
+
+2004-05-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * mono-config.c: set the correct path for mono_cfg_dir on windows when
+       there's no MONO_CFG_DIR environment variable defined.
+
+2004-05-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * threads.c: windows version must be >= 0x0500 to include OpenThread.
+
+2004-05-28  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * threadpool.c: Really wait for 500ms after the async call, even if the wait
+         is interrumped.
+       * threads.c: In mono_thread_manage, call OpenThread to ref each handle
+         before waiting for it, and call CloseHandle after the wait to unref it.
+         This will make sure that handles are not disposed too early.
+
+2004-05-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * appdomain.c:
+       * appdomain.h:
+       * icall.c: removed
+       ves_icall_System_AppDomainSetup_InitAppDomainSetup as it's not
+       needed now.
+
+       * object.c: se the application_base only for the domain that runs
+       Main. Fixes bug #59216,
+
+2004-05-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * appdomain.c:
+       * object.c: only the domain in which Main is run have
+       SetupInformation.ConfigurationFile set, so moved a few lines from
+       appdomain.c to object.c.
+
+2004-05-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * appdomain.c: we tried to load [name].(dll|exe), but according
+       to bug #57710, we must also try [culture]/[name].(dll|exe) and
+       [culture]/[name]/[name](dll|exe). This patch fixes the bug.
+       There's a test case attached to bug #58922.
+
+2004-05-27  Dick Porter  <dick@ximian.com>
+
+       * icall.c:
+       * file-io.c: Implemented icalls for locking and unlocking regions
+       in a file.
+       (ves_icall_System_IO_MonoIO_FindNextFile): FindNextFile() returns
+       FALSE on error (fixes both compiler warning and real bug.)
+
+2004-05-27  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * culture-info-tables.h: reflecting locale-builder updates.
+
+         (Added missing ChangeLog entry for 05/26)
+
+2004-05-27  Jackson Harper  <jackson@ximian.com>
+
+       * locales.c: Fix some cut and paste errors.
+       
+2004-05-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * mono-config.c: set the correct path for config. directory on windows.
+
+2004-05-26  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * icall.c : Fixed ves_icall_System_DateTime_GetNow() to return utc
+         on win32.
+
+2004-05-26  Zoltan Varga  <vargaz@freemail.hu>
+
+       * marshal.c (mono_marshal_get_native_wrapper): Free strings returned
+       from pinvoke functions.
+       
+       * marshal.c (mono_ftnptr_to_delegate): Implement this.
+
+2004-05-26  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * culture-info-tables.h: reflecting locale-builder updates.
+
+2004-05-26  Zoltan Varga  <vargaz@freemail.hu>
+
+       * profiler.c (simple_allocation): Skip icall wrapper methods. Fixes
+       #59086.
+
+2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * appdomain.cs: Bumped MONO_CORLIB_VERSION to 20.
+       * icall.c: Modified icalls for RNG.
+       * rand.c|h: Changed RNG interface to allow thread-safe usage under 
+       Windows (CryptoAPI).
+
+2004-05-25  Zoltan Varga  <vargaz@freemail.hu>
+
+       * locales.c: Fix build.
+
+2004-05-25  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * culture-info-tables.h: reflecting locale-builder updates.
+
+2004-05-25  Jackson Harper  <jackson@ximian.com>
+
+       * locales.c: When creating the current culture use the $LANGs
+       specific culture. So DateTimeFormat and NumberFormat entries are created.
+       
+2004-05-25  Zoltan Varga  <vargaz@freemail.hu>
+
+       * string-icalls.{h,c} icalls.c: Add new icalls for Strcpy which take
+       a char array as parameter.
+
+2004-05-24  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * image.c: In mono_image_open(), always use an absolute path name to
+         look for already loaded images.
+
+2004-05-24  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * icall.c: Added define for CSIDL_FLAG_CREATE (0x8000) in case it is
+       missing in the windows build (like older cygwin include files).
+
+2004-05-23  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * icall.c: Fixed check for possible integer overflow in Buffer_
+       BlockCopy icall. Replaced comments style // by /* */.
+
+2004-05-22  Zoltan Varga  <vargaz@freemail.hu>
+
+       * marshal.c (mono_ftnptr_to_delegate): Fix warning.
+       
+       * marshal.c (mono_marshal_get_proxy_cancast): Move thread interrupt
+       check after MONO_VTADDR. Fixes pinvoke2.exe.
+
+       * marshal.h marshal.c metadata.h: Add beginnings of support for
+       ftnptr -> delegate marshalling.
+
+2004-05-21  Zoltan Varga  <vargaz@freemail.hu>
+
+       * threads.c (ves_icall_System_Threading_Thread_ResetAbort): Fix compilation on gcc-2.95.
+       * threads.c: Fix warnings.
+
+2004-05-20  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * appdomain.c, gc.c: Make use of the new WaitForSingleObjectEx.
+       * icall.c: Registered icalls for Suspend and Resume.
+       * locales.c: Beware, mono_monitor_try_enter can now be interrupted by
+         Thread.Abort.
+       * monitor.c: Use WaitForSingleObjectEx. Added some interruption checkpoints.
+       * mono-debug-debugger.c: Use WaitForSingleObjectEx et al.
+       * process.c: Use WaitForSingleObjectEx.
+       * threadpool.c: Use WaitForSingleObjectEx. Added some interruption 
+         checkpoints.
+       * threads.c, threads.h: Make use of new Ex wait methods. Improved
+         implementation of Thread.Abort and Thread.ResetAbort icalls. Added icalls
+         for Suspend and Resume. Added new mono_thread_stop, used for stoping
+         background threads. Added basic support for Abort in Windows.
+         Start new threads using a managed delegate invoke wrapper. This wrapper
+         has an interruption checkpoint that is needed since an interruption
+         can be requested before the thread leaves the unmanaged code that starts 
+         the thread.
+       * marshal.c: Added interruption checkpoint after every native call, and
+         also before managed calls for wrappers called from unmanaged code to
+         go into managed code.
+       * object.h: Added new field in MonoThread to keep track of interruption
+         requests.
+
+2004-05-20  Zoltan Varga  <vargaz@freemail.hu>
+
+       * marshal.c: Insert SAVE_LMF and RESTORE_LMF opcodes around native
+       calls.
+
+2004-05-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * appdomain.c:
+       * assembly.c:
+       * gc.c:
+       * locales.c:
+       * mono-config.c:
+       * rand.c: getenv -> g_getenv (windows!)
+
+       * process.c: complete_path is also used on non-windows platforms.
+
+2004-05-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * icall.c: new signature for Process_Start.
+
+       * process.[ch]: new signature for Process_Start. If we're on windows
+       and UseShellExecute is false, we have to search for the program by
+       ourselves if we don't get a full path.
+
 2004-05-18  Zoltan Varga  <vargaz@freemail.hu>
 
        * marshal.c (mono_marshal_get_native_wrapper): Fix up custom