Fri May 17 20:39:53 CEST 2002 Paolo Molaro <lupus@ximian.com>
[mono.git] / mono / metadata / ChangeLog
index f66f8e1a372ae5ce9628725375651111602d4fc0..70bc40832cff090db1a316ca5bcbfcbb2dccc35f 100644 (file)
@@ -1,3 +1,495 @@
+
+Fri May 17 20:39:53 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * icall.c: ValueType_GetHashCode() initialize local var.
+
+Thu May 16 17:20:22 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * reflection.c: sort custom attributes table.
+
+Thu May 16 16:08:01 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * reflection.c: support named args in custom attributes (write support).
+
+Thu May 16 13:04:59 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * reflection.c: fix finally position calculation.
+
+2002-05-15  Radek Doulik  <rodo@ximian.com>
+
+       * reflection.c: fixed endianess at many places
+
+       * icall.c (ves_icall_InitializeArray): comment out debug msg
+
+2002-05-15  Dietmar Maurer  <dietmar@ximian.com>
+
+       * object.c (mono_unhandled_exception): new function to handle
+       unhandled exceptions.
+       (mono_unhandled_exception): call the UnhandledException event.
+       (mono_runtime_delegate_invoke): impl.
+
+Wed May 15 15:59:55 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * metadata.h, metadata.c, class.c: mono_metadata_field_info ()
+       returns the RVA, not the direct pointer to the data. Handle the case
+       when the class size is fixed.
+
+Tue May 14 16:59:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * reflection.c: fix some endianess issues.
+
+2002-05-14  Dietmar Maurer  <dietmar@ximian.com>
+
+       * object.c (mono_runtime_invoke): is now able to catch exceptions.
+
+       * threads.c (mono_thread_init): added a callback which is invoked
+       at thread start.
+
+2002-05-14  Dan Lewis  <dihlewis@yahoo.co.uk>
+       
+       * icall.c: make GetHashCode return non-negative values.
+
+2002-05-14  Dan Lewis  <dihlewis@yahoo.co.uk>
+
+       * object.c, icall.c, gc.c: revert to address-based hashcode.
+
+2002-05-13  Miguel de Icaza  <miguel@ximian.com>
+
+       * icall.c (mono_double_ParseImpl): Added ParseImpl method.
+
+Mon May 13 16:40:30 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * icall.c, class.c: special case <Module>.
+
+2002-05-13  Dan Lewis  <dihlewis@yahoo.co.uk>
+
+       * icall.c: fix bug in GetNow().
+
+2002-05-11  Dietmar Maurer  <dietmar@ximian.com>
+
+       * object.c (mono_runtime_class_init): make sure that we call all
+       static class constructors.
+
+Fri May 10 18:14:51 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * reflection.c: sort methodsemantics table.
+
+Fri May 10 16:31:49 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * reflection.h, reflection.c: honour init locals setting.
+
+Thu May 9 18:50:00 EDT 2002 Daniel Morgan <danmorg@sc.rr.com>
+
+       * icall.c: copied Double ToStringImpl for Single ToStringImpl
+
+Wed May 8 12:28:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * reflection.c: support ContructorBuilders in attribute blob creation.
+
+Wed May 8 12:06:14 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * reflection.c: some changes to build a binary that can be run
+       directly in windows.
+
+Mon May 6 13:10:34 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * loader.c: print a big message when an icall can't be found.
+
+2002-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * string-icalls.c: fix bug 24248.
+
+Sat May 4 14:03:21 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * appdomain.c, appdomain.h, assembly.c, assembly.h, image.h,
+       icall.c, reflection.h: separate assembly loading by pathname and by
+       assembly name. Use the MONO_PATH env var to search for assemblies.
+
+Thu May 2 17:56:52 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * assembly.c, image.h: add some support for assemblies
+       with multiple modules.
+       * class.c, class.h: export mono_class_from_typeref().
+       * loader.c: remove duplicated code and use mono_class_from_typeref(),
+       instead.
+
+Thu May 2 15:51:11 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * unicode.c: Char.IsNumber doesn't include hex digits as the ms
+       documentation says (the ECMA one is correct).
+
+2002-05-02  Dick Porter  <dick@ximian.com>
+
+       * threads.c: Use GC_debug_register_finalizer with GC_debug_malloc.
+       Don't name the synchronisation mutex.
+
+2002-04-30  Jeffrey Stedfast  <fejj@ximian.com>
+
+       * rand.c
+       (ves_icall_System_Security_Cryptography_RNGCryptoServiceProvider_GetBytes):
+       Make the prototypes match.
+       (ves_icall_System_Security_Cryptography_RNGCryptoServiceProvider_GetNonZeroBytes):
+       Same.
+
+       * icall.c
+       (ves_icall_System_CurrentTimeZone_GetTimeZoneData): Fixed for
+       systems that use 'timezone' rather than tm.tm_gmtoff. Also, not
+       all systems have tm.tm_zone, so use strftime() with %Z to print
+       the timezone abreviation into a temp string.
+
+       * object.c (mono_ldstr): Fixed to use mono_string_chars() macro
+       rather than mono_array_addr() on a MonoString on Big Endian
+       machines.
+
+2002-04-30  Dietmar Maurer  <dietmar@ximian.com>
+
+       * string-icalls.c (ves_icall_System_String_InternalReplace_Str):
+       fix bug 24041
+
+2002-04-30  Dick Porter  <dick@ximian.com>
+
+       * socket-io.c: Cope with SOCKET being an integer rather than a
+       pointer now.
+
+       * threads.c: Added Thread_free_internal, to deal with thread
+       handle cleanup.  Moved calls to handle_store() and handle_remove()
+       to start_wrapper(), so each can only be called once.  Allocate
+       synchronisation blocks with GC_malloc(), and use GC finalisation
+       to close the handles.
+
+       * icall.c: added System.Threading.Thread::Thread_free_internal
+
+Mon Apr 29 15:33:27 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * icall.c: support Environment.Exit, CommandLineArgs().
+
+Mon Apr 29 15:15:57 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * object.c, object.h: added mono_runtime_run_main () and
+       mono_runtime_get_main_args () for use in System.Environment.
+
+Mon Apr 29 13:45:11 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * gc.c: fix thinko, enable actual finalization since the jit is now
+       fixed.
+
+Mon Apr 29 12:47:36 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * gc.c, object.c: take into account that an object may be offset wrt the address
+       returned by GC_malloc().
+
+Mon Apr 29 12:14:39 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * image.c: handle files without entries in the assembly table (modules).
+
+2002-04-28 Patrik Torstensson <patrik.torstensson@intel.com>
+
+       * reflection.c (mono_reflection_setup_internal_class): remove g_assert_not_reached() to allow 
+       mcs selfhosting again (build breaker) and did move the check to class instead. parent is
+       allowed to be null when it's System.Object class setup.
+
+2002-04-27  Martin Baulig  <martin@gnome.org>
+
+       * reflection.c (mono_reflection_setup_internal_class): g_assert_not_reached()
+       if `tb->parent == NULL' rather than crashing.
+
+2002-04-28  Nick Drochak  <ndrochak@gol.com>
+
+       * sysmath.c (ves_icall_System_Math_Asin): Fix copy-paste error.  Was
+       calling acos() where asin() should have been called.
+
+2002-04-26  Martin Baulig  <martin@gnome.org>
+
+       * assembly.c (default_assembly_name_resolver): Use G_FILE_TEST_IS_REGULAR
+       instead of G_FILE_TEST_EXISTS - if you're in mcs/class/corlib/System/Test,
+       there's a subdirectory called `System', but we don't want to read that
+       subdirectory as an assembly.
+
+2002-04-25  Martin Baulig  <martin@gnome.org>
+
+       * debug-symfile.c: Reflect latest MonoString changes.
+
+Thu Apr 25 16:38:01 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * rand.c, rand.h: instance method icalls need to have an explicit
+       this pointer as first argument in the C implementation.
+
+2002-04-25  Nick Drochak <ndrochak@gol.com>
+
+       * icall.c: Fix typo in map for GetNonZeroBytes
+
+2002-04-24     Patrik Torstensson <patrik.torstensson@labs2.com>
+
+       * string-icalls.c : String does now passes unit tests without any 
+       errors, the following changes has been made:
+       
+       Implemented replace methods.
+       Renaming of methods to (try) follow the standard.
+       Fixed compare ordinal
+       Made all memory allocated directly to function instead of via icall function.
+       Small performance fix in is_in_array function
+                       
+ (2002-04-23) Changes from Duncan Mak <duncan@ximian.com>
+
+       c (mono_string_Internal_ctor_charp_int_int):
+       (mono_string_Internal_ctor_sbytep_int_int):  Removed check for
+       sindex < 0, throw ArgumentOutOfRangeException instead of
+       ArgumentNullException.
+
+       Added new check for length == 0, however
+       I need to make it return String.Empty from the C code.
+       
+       (mono_string_Internal_ctor_sbytep): Use mono_string_new, and let
+       that calculate the length for us here.
+       
+       (mono_string_Internal_ctor_sbytep_int_int): Replaced
+       mono_string_new_utf16 with mono_string_new, since value is utf8.
+
+Wed Apr 24 18:43:29 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * object.c: register the object for finalization if needed.
+       Allocate one more char in the string for the terminating 0 char.
+
+Wed Apr 24 18:22:27 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * class.c, class.h, image.c: check if a type implemenst a destructor.
+       Use the proper key for array class lookups.
+       * icall.c: register the icalls in the System.GC class.
+       * gc.c, gc.h: GC-related functions and icalls.
+
+2002-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * icall.c:
+       * socket-io.c:
+       * unicode.c: free some strings gotten from mono_string_to_utf8 and
+       changed a couple of free () by g_free ().
+
+       * decimal.c: one-liner in the comments for decimal2string ().
+
+2002-04-24     Patrik Torstensson <patrik.torstensson@labs2.com>
+
+       * object.c (mono_runtime_invoke_array) : Bug because of my incompetence.
+
+2002-04-24     Patrik Torstensson <patrik.torstensson@labs2.com>
+
+       * reflection.c (mono_reflection_get_custom_attrs) : fixed image bug (crash)
+       * object.c (mono_runtime_invoke_array) : handle null in params
+
+2002-04-23     Patrik Torstensson <patrik.torstensson@labs2.com>
+
+       * string-icalls.c: fixed bug in split (one off bug)
+
+2002-04-23     Patrik Torstensson <patrik.torstensson@labs2.com>
+
+       * string-icalls.c: fixed bug in remove and lastindexofany, add equals icall.
+       * icalls.c: added String::Equals as internal method
+
+2002-04-23     Patrik Torstensson <patrik.torstensson@labs2.com>
+
+       * threads.c: fixed bug in the double interlocked functions
+
+2002-04-22     Patrik Torstensson <patrik.torstensson@labs2.com>
+
+       * threads.c: implemented all of the new interlocked icalls.
+       * string-icalls.c: fix a bug in insert.
+       * icalls.c: added the icalls for interlocked, removed old string functions.
+       
+Mon Apr 22 19:44:16 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * loader.c: fix off-by-one error when reading argument names.
+
+Mon Apr 22 19:28:14 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * profiler.c: win32 counter implementation (untested).
+       * icall.cs: win32 GetNow() and GetTimeZoneData() implementations
+       (the latter needs testing and more complete impl. from win32 folks).
+
+2002-04-21  Dan Lewis  <dihlewis@yahoo.co.uk>
+
+       * object.c: mono_array_new_full workaround mono_array_class_get
+       problem.
+
+2002-04-17     Patrik Torstensson <patrik.torstensson@labs2.com>
+
+       * string-icalls.c (mono_string_InternalRemove): Fixed overwrite bug.
+       * object.h (mono_string_chars): Changed casting type.
+
+2002-04-17     Patrik Torstensson <patrik.torstensson@labs2.com>
+
+       * string-icalls.c: Fixed trim method, added the constructors done by Duncan, fixed
+                          method signatures to use gunichar2 instead of gint16.
+
+2002-04-20  Dan Lewis  <dihlewis@yahoo.co.uk>
+
+       * object.h, object.c: domain-specific versions of mono_object_new and
+       mono_array_new.
+
+2002-04-20  Dietmar Maurer  <dietmar@ximian.com>
+
+       * object.c: changed String layout
+
+       * string-icalls.c (mono_string_Internal_ctor_chara): added
+       internal string constructors.
+
+Sat Apr 20 13:33:07 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * threads.c: pass 'this' to the thread start routine.
+
+2002-04-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * string-icalls.c: fix IndexOf and LastIndexOf. Now
+       InternalCompareStr don't call twice mono_string_cmp_char for the last
+       character. Improved performance in mono_string_cmp_char.
+
+Fri Apr 19 19:26:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * Makefile.am, appdomain.c, class.c, object.c: split runtime-depended
+       code into its own library: libmonoruntime.
+
+2002-04-19  Dan Lewis  <dihlewis@yahoo.co.uk>
+
+       * object.h, object.c: changed array format so that szarrays do not
+       require a bounds structure.
+       * icall.c, appdomain.c: support for new szarray format.
+
+Fri Apr 19 18:04:34 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * metadata.c: compare also the retuns type when comparing signatures:
+       we didn't do this as an optimization since really overloaded methods
+       must differ also in the arguments, but this doesn't work with
+       low-level IL code (or when using explicit conversion operators: see
+       bug#23498 for an example).
+
+Fri Apr 19 16:14:52 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * loader.c: SZARRAY types can be saved as TYPESPEC, too.
+
+Thu Apr 18 17:15:09 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * icall.c: make MonoType::GetElementType its own icall.
+
+Thu Apr 18 16:41:30 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * icall.c: remove MonoMethod_get_Name().
+       * reflection.c, reflection.h, verify: cache the method name in the MonoMethod
+       object.
+
+2002-04-17     Patrik Torstensson <patrik.torstensson@labs2.com>
+
+       * string-icalls.c: optimized a few methods.
+
+2002-04-17     Patrik Torstensson <patrik.torstensson@labs2.com>
+
+       * icall.c: added all new string internal calls
+       * string-icalls.c: added, new string internal call implementation.
+       * object.c: added mono_string_new_size for allocating a string a size
+
+2002-04-17  Dietmar Maurer  <dietmar@ximian.com>
+
+       * object.c (mono_object_isinst): use the same code as in the
+       optimized x86 version.
+
+Wed Apr 17 14:14:36 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * profiler.c: TSC-based timer code (faster and more accurate).
+       Not hooked up in configure, yet (set USE_X86TSC to 1).
+
+Wed Apr 17 12:33:10 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * profiler.c, profiler.h: track time spent compiling methods.
+       * threads.c: track thread creation/destruction.
+
+Tue Apr 16 20:08:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * profiler.c, profiler.h, profiler-private.h: profiling interface
+       and sample implementation. Moved here so that it can be used also by
+       the jit.
+
+Tue Apr 16 12:58:12 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * reflection.c, reflection.h: keep types and other handles separate in
+       the hash tables for referred tokens. Add guid for modules.
+
+Mon Apr 15 11:37:33 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * assembly.c: fix bugs found with valgrind.
+       * metadata.h, metadata.c: added mono_metadata_guid_heap().
+
+2002-04-14     Patrik Torstensson <patrik.torstensson@labs2.com>
+
+       * threads: added icall support for getting current domain for
+                  the thread.
+2002-04-13  Martin Baulig  <martin@gnome.org>
+
+       * debug-symfile.h (MonoDebugLocalInfo): Renamed to MonoDebugVarInfo.
+       (MonoDebugVarInfo): Added `index' field for register based addresses.
+       (MONO_DEBUG_SYMBOL_FILE_VERSION): Increased to 9.
+       (MonoDebugMethodInfo): Replaced `guint32 *param_offsets' with
+       `MonoDebugVarInfo *params' and `guint32 this_offset' with
+       `MonoDebugVarInfo *this_var'.
+
+       * debug-symfile.c (relocate_variable): New static function to write
+       a location description for a local variable or method parameter.
+
+2002-04-12  Martin Baulig  <martin@gnome.org>
+
+       * debug-symfile.h (MonoDebugLocalInfo): New type. This contains the
+       stack offset and begin/end scope address of a local variable.
+       (MonoDebugMethodInfo): Replaced `guint32 *local_offsets' with
+       'MonoDebugLocalInfo *locals', added `prologue_end' and `epilogue_begin'.
+       (MONO_DEBUG_SYMBOL_FILE_VERSION): Increased to 8.
+
+       * debug-symfile.c (MRT_variable_start_scope, MRT_variable_end_scope):
+       Added new relocation types for start/end scope of a local variable.
+
+Fri Apr 12 18:30:29 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * object.h: add mono_object_domain() macro.
+       * reflection.c: handle typespecs.
+       * icall.c: MonoMethod::get_Name() implementation.
+
+Thu Apr 11 12:29Ni:14 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * icall.c: String::GetHashCode() icall implementation.
+
+Wed Apr 10 21:16:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * icall.c: String::IndexOfAny icall.
+       * object.c, object.h: make array->max_length more useful.
+       Intrduced mono_object_class() and mono_string_length() macros.
+
+2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * unicode.c (ves_icall_System_Char_IsNumber): use g_unichar_isxdigit
+       instead of g_unichar_isdigit.
+
+2002-04-11  Nick Drochak  <ndrochak@gol.com>
+
+       * icall.c: Implement a simple Double.ToString().
+
+Tue Apr 9 21:31:16 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * appdomain.h: only io-layer.h is supposed to be included.
+       * icall.c: explicitly import environ. Fix warning.
+
+2002-04-10  Nick Drochak  <ndrochak@gol.com>
+
+       * icall.c (ves_icall_System_CurrentTimeZone_GetTimeZoneData) :
+               return true even if it's not Daylight Savings time.
+               Only return false for the case where the function isn't
+               implemented for a plaform (read Windows).
+
+Tue Apr 9 13:05:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * appdomain.h, appdomain.c, class.c, object.c: protect MonoDomain
+       data with a mutex.
+
+2002-04-09  Dietmar Maurer  <dietmar@ximian.com>
+
+       * mempool.c (mono_mempool_alloc): only use g_malloc when
+       absolutely necessary.
+
 2002-04-08  Dietmar Maurer  <dietmar@ximian.com>
 
        * mempool.c (MEM_ALIGN): hardcode MEM_ALIGN to 8