X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2FChangeLog;h=4e00c9c48531a1611fc356131e24b092ab8db536;hb=8b894617025139e3cce5234d19ff37018cd16072;hp=2402adaff90b8cb71ea65159980068f20dd774b2;hpb=cfd0ebeef7cc4f49e09058b2f03b9746c284bbd1;p=mono.git diff --git a/mono/metadata/ChangeLog b/mono/metadata/ChangeLog index 2402adaff90..4e00c9c4853 100644 --- a/mono/metadata/ChangeLog +++ b/mono/metadata/ChangeLog @@ -1,3 +1,628 @@ +2001-12-16 Dietmar Maurer + + * file-io.c: raise exceptions if handle is invalid. + +Thu Dec 13 20:27:08 CET 2001 Paolo Molaro + + * assembly.c: yet another check for mscorlib. + * class.c, class.h: load nesting info for classes. + * icall.c: many new functions to support the Reflection classes. + * metadata.c, metadata.h: mono_metadata_nested_in_typedef() added. + * reflection.h, reflection.c: mono_image_create_token(), + mono_assembly_get_object(), mono_type_get_object(), + mono_method_get_object(), mono_field_get_object(): methods to return + objects that parallel the C representation of assemblies, types, + methods, fields. + +2001-12-11 Dick Porter + + * icall.c: + * file-io.c: Internal calls for file IO. + +Thu Dec 6 16:21:30 CET 2001 Paolo Molaro + + * tabledefs.h: missing FileAttributes. + * verify.h, verify.c: use is_valid_string () to simplify and check for + valid strings more correctly. Fix warnings and speeling. + Check more tables: Filed, File, ModuleRef, StandAloneSig. + Check code: branches, maxstack, method calls. + +2001-12-04 Dietmar Maurer + + * object.c (mono_object_allocate): removed static, so that the jit + can allocate value types. + + * icall.c (ves_icall_System_DateTime_GetNow): impl. + +Mon Dec 3 17:02:01 CET 2001 Paolo Molaro + + * class.c: init enum types right away and register the + token->MonoClass map in mono_class_create_from_typedef (). + * verify.h, verify.c: first cut of the verifier. + * pedump.c: add --verify switch to verify metadata tables. + * tabledefs.h: add some missing enums. + +2001-11-30 Dietmar Maurer + + * class.c (mono_install_runtime_class_init): impl. + (mono_class_init): renamed mono_class_metadata_init to + mono_class_init, also removed the metadata_inited flag + + * object.c (mono_object_isinst): use faster algorithm + +2001-11-30 Radek Doulik + + * mono-endian.h: reverted last change + added function prototypes + + * Makefile.am (libmetadata_a_SOURCES): reverted my last change and + add mono-endian.c back + + * mono-endian.c: returned back, as Paolo pointed out, it's needed + for unaligned access, I've mistaked it with endianess. I am + sorry. + (mono_read16): fix reverted endianess + (mono_read64): ditto + (mono_read32): ditto + +2001-11-30 Dick Porter + + * exception.c: Implement mono_exception_from_name() + +Fri Nov 30 12:01:02 CET 2001 Paolo Molaro + + * metadata.h, metadata.c: remove params_size and locals_size and their + calculation from the metadata code: they are only usefult to the + interp. + +2001-11-29 Radek Doulik + + * object.c (mono_ldstr): swap bytes here, it's probably not the + best place, but works for me now, I'll redo it once I know mono + better, also note that I add PROT_WRITE and don't reset back, also + note that it's only affects big endians, so x86 should be OK + + * mono-endian.h (read16): use just glib macros for both endians + + * mono-endian.c: removed as glib macros are used in in + mono-endian.h so we don't need to care about endianess for read + macros as glib does that for us already + +Thu Nov 29 18:20:58 CET 2001 Paolo Molaro + + * class.h, class.h: take minimum alignment into consideration so + that the fields of a class remain aligned also when in an array. + +Tue Nov 27 16:39:01 CET 2001 Paolo Molaro + + * loader.h, loader.c: add mono_method_get_param_names(). + * class.c: 0-init class fields. + +2001-11-26 Dick Porter + + * icall.c: + * threads-types.h: + * threads.c: New file that handles System.Threading on all platforms + + * object.c: + * object.h: Remove the synchronisation struct from MonoObject, + replace it with a pointer that gets initialised on demand + + * Makefile.am: Replace all the system-specific threading code with + a single file that uses the new wrapper library + +Mon Nov 19 11:37:14 CET 2001 Paolo Molaro + + * class.c, class.h: add mono_install_trampoline() so that the runtime + can register a function to create a trampoline: removes the ugly + requirement that a runtime needed to export arch_create_jit_trampoline. + * object.h, object.c: added mono_install_handler() so that the runtime + can install an handler for exceptions generated in C code (with + mono_raise_exception()). Added C struct for System.Delegate. + * pedump.c: removed arch_create_jit_trampoline. + * reflection.c: some cleanups to allow registering user strings and + later getting a token for methodrefs and fieldrefs before the assembly + is built. + * row-indexes.h: updates and fixes from the new ECMA specs. + +Thu Nov 15 17:44:49 CET 2001 Paolo Molaro + + * class.h, class.c: add enum_basetype field to MonoClass. + * metadata.h, metadata.c: add mono_metadata_get_constant_index() + to get index in the constant table reated to a field, param or + property. + * reflection.h, reflection.c: handle constructors. Set public-key and + version number of the built assembly to 0. + * row-indexes.h: update from new ECMA spec. + +Wed Nov 14 19:26:06 CET 2001 Paolo Molaro + + * class.h, class.c: add a max_interface_id to MonoClass. + * icall.c: rename my_mono_new_object() to my_mono_new_mono_type() + since it's used to do that. Added mono_type_type_from_obj(). + Make GetType() return NULL instead of segfaulting if the type was not + found. Handle simple arrays in assQualifiedName. + * object.h: add a struct to represent an Exception. + * reflection.c: output call convention in method signature. + Add code to support P/Invoke methods and fixed offsets for fields. + +Mon Nov 12 12:41:32 CET 2001 Paolo Molaro + + * decimal.c, decimal.h: mono_double2decimal() get the sign bit from + the value. + * icall.c: use mono_array_addr instead of array->vector: fixes the + reflection image writing. + * reflection.c: init call convention byte to 0 in method signature. + Encode the property signature. Don't output property-related methods + twice. Really process the properties for a type (don't cast a field to + a property, my mom always told me that). + Fix 64 bit issues in pointer alignment in a different and more + readable way. + +2001-11-10 Sean MacIsaac + + * loader.h: Removed type class from MonoDefaults, added monotype + + * loader.c: Loaded MonoType, removed loading of Type + + * icall.c (my_mono_new_object): Now returns a System.MonoType, + and fills in System.Type._impl with a RuntimeTypeHandle rather + than the actual MonoClass * + + (ves_icall_type_from_handle): change from type_class to + monotype_class + + (ves_icall_System_Runtime_InteropServices_Marshal_ReadIntPtr): + implemented + + (ves_icall_System_Runtime_InteropServices_Marshal_PtrToStringAuto): + implemented + + (ves_icall_System_Reflection_Assembly_LoadFrom): implemented + + (ves_icall_System_Reflection_Assembly_GetType): implemented + + (ves_icall_System_MonoType_assQualifiedName): implemented + + (ves_icall_System_PAL_OpSys_GetCurrentDirecotry): implemented + +2001-11-09 Miguel de Icaza + + * assembly.c (mono_assembly_open): Implement a cache for the + assemblies. + + (mono_assembly_close): only destroy the assembly when the last + reference is gone. + +2001-11-09 Dick Porter + + * Makefile.am (pedump_LDADD): Don't need THREAD_LIBS any more + +2001-11-09 Dietmar Maurer + + * class.c (mono_class_metadata_init): bug fix: compute the right slot + +Fri Nov 9 15:48:02 CET 2001 Paolo Molaro + + * icall.c, decimal.h, decimal.c: integrated decimal internalcalls + from Martin Weindel. + * object.h: add mono_string_chars (). + +2001-11-07 Miguel de Icaza + + * reflection.c (build_compressed_metadata): Eliminates warnings + and uses 64-bit clean code. + + * metadata.c (mono_type_hash): Change signature to eliminate warnings. + (mono_type_equal): Change signature to eliminate warnings. + +Wed Nov 7 15:40:01 CET 2001 Paolo Molaro + + * icall.c, loader.c: remove the internalcall array constructors. + Changes to match the new MonoArray structure. + * object.h, object.c: an array object doesn't allocate an extra + vector. Add mono_array_new_full () to create jagged arrays easily. + +Mon Nov 5 19:51:06 CET 2001 Paolo Molaro + + * metadata.h, metadata.c: add mono_metadata_field_info () to + retreive all the info about a field from vairous tables. + * icall.c: implement S.Runtime.CServices::InitializeArray () icall. + * class.h, class.c: augment MonoClassField with more info. + Implemented mono_ldtoken for fields. Implemented ExplicitLayout + policy and load a field's RVA if needed. + +2001-11-05 Dietmar Maurer + + * class.c (mono_class_metadata_init): create a trampoline for all + virtual functions instead of actually compiling them. + +Fri Nov 2 19:37:51 CET 2001 Paolo Molaro + + * class.h, class.c: include name in MonoClassField. + * class.c: fix fundamental type of System.Object and System.String. + Set the right fundamental type for SZARRAY, too. Handle TypeSpec + tokens in ldtoken. + * icall.c: remove internalcalls for the Reflection stuff that is now + done in C# code. + * loader.c: mono_field_from_memberref () implementation. + * mono-endian.c: thinko (s/struct/union/g). + * object.c, object.h: make the mono_string_* prototypes actually use + MonoString instead of MonoObject. + * reflection.c, reflection.h: updates for changes in the reflection + code in corlib: we use C structures that map to the actual C# classes. + Handle SZARRAYs when encoding types. Handle locals in methods. Use a + fat method header if needed and use the info from the ILGenerator for + methods. Handle fields in types. Misc fixes. + +2001-10-17 Dietmar Maurer + + * class.c (mono_class_metadata_init): bug fix: always allocate + space for static class data + +2001-10-25 Dietmar Maurer + + * class.c (mono_compute_relative_numbering): use relative + numbering to support fast runtime type checks. + +2001-10-17 Sean MacIsaac + + * class.c (mono_class_create_from_typeref): added debugging output + to print class name when MonoDummy is returned instead of real class + +2001-10-15 Dietmar Maurer + + * class.c (mono_class_metadata_init): interface offset table now + contains pointers into the vtable - this is more efficient for the jit + +2001-10-12 Dietmar Maurer + + * class.c (mono_class_metadata_init): use a temporary vtable (the + old algorithm only worked for the interpreter, but not for the jit) + +2001-10-11 Dietmar Maurer + + * loader.c (method_from_memberref): use mono_class_get to get the + class of an array instead of using System.Array directly. + (mono_get_method): also add MEMBERREF methods to the method cache + which usefull for arrays. + +2001-10-10 Dietmar Maurer + + * pedump.c (arch_compile_method): added to compute vtable entry + + * metadata.c (mono_metadata_interfaces_from_typedef): also return the + number of interfaces. + + * class.h: merged MonoArrayClass into MonoClass + + * class.c (mono_class_create_from_typedef): compute the vtable size and + allocate space to include the vtable inside MonoClass + (mono_class_metadata_init): initialize the vtable + +Mon Oct 8 16:12:38 CEST 2001 Paolo Molaro + + * metadata.c, metadata.h: use MonoArrayType to describe the shape of an array. + Guard against calling bsearch with a NULL pointer (pointed out by Laurent Rioux, smoux). + * image.c: endian fixes by Laurent Rioux. + * object.h, object.c: rename MonoStringObject to MonoString and + MonoArrayObject to MonoArray. Change some function names to conform to + the style mono__. mono_string_new_utf16 () takes a + guint16* as first argument, so don't use char*. + Provide macros to do the interesting things on arrays in a portable way. + * threads-pthread.c: updates for the API changes and #include + (required for sched_yield()). + * icall.c: updates for the API changes above. + * Makefile.am, mono-endian.c. mono-endian.h: include unaligned read routines for + platforms that need them. + +Mon Oct 8 10:43:23 CEST 2001 Paolo Molaro + + * class.c: set the correct type for all the fundamental + type when loading the class. + +2001-10-05 Dick Porter + + * threads-pthread.c (pthread_mutex_timedlock): Simple + compatibility version for C libraries that lack this call. + +Thu Oct 4 19:10:30 CEST 2001 Paolo Molaro + + * class.c: MonoTypes stored in MonoClass are stored as + fundamental MonoTypes when the class represents a + fundamental type (System.Int32, ...). + The TypeHandle return by ldtoken is a MonoType*. + * icall.c: ves_icall_get_data_chunk () write out all the + PE/COFF stuff. Implement ves_icall_define_method (), + ves_icall_set_method_body (), ves_icall_type_from_handle (). + * image.c: properly skip unknown streams. + * loader.h, loader.c: add type_class to mono_defaults. + * metadata.c, metadata.h: export compute_size () as + mono_metadata_compute_size () with a better interface. + Typo and C&P fixes. + * pedump.c: don't try to print the entry point RVA if there is no entry point. + * reflection.c, reflection.h: many cleanups, fixes, output method + signatures and headers, typedef and typeref info, compress the metadata + tables, output all the heap streams, cli header etc. + * row-indexes.h: typo fixes. + +2001-10-04 Dick Porter + + * object.h: Add a synchronisation mutex struct to MonoObject + + * object.c (mono_new_object): Initialise the object + synchronisation mutexes + + * icall.c: System.Threading.Monitor internal calls + + * threads-pthread.h: + * threads-pthread.c: System.Threading.Monitor internal calls + + * threads-types.h: New file, includes the system-specific thread + structures + + * threads-pthread-types.h: + * threads-pthread-types.c: New files, handle pthread-specific + synchronisation types + + * threads-dummy-types.h: + * threads-dummy-types.c: New files of dummy support for + thread-specific types + + * metadata.c: + * image.c: + * pedump.c: include mono-endian.h not endian.h + + * Makefile.am: More threads files. + Name mono-endian.h not endian.h + +Tue Oct 2 20:33:48 CEST 2001 Paolo Molaro + + * Makefile.am, reflection.h, reflection.c: move here the reflection related + stuff and implement a few more bits. + * icall.c: a field needs to be dereferenced twice. Do not use the same + name for two variables in the same scope. + * image.c, image.h: cleanups. + +2001-10-02 Dietmar Maurer + + * class.c (mono_class_metadata_init): bug fix: compute the right size + +Mon Oct 1 20:43:57 CEST 2001 Paolo Molaro + + * icall.c: implemented some of the Reflection internalcalls. + * image.c, image.h: start writing out the PE/COFF image. + * metadata.h, metadata.c: implement mono_metadata_encode_value () + that does the reverse than decode_blob_size (). + * object.c: use mono_metadata_encode_value (). Move here + temporary implementation of mono_string_to_utf8 (). + * rawbuffer.c: make malloc_map static. + +Fri Sep 28 19:26:30 CEST 2001 Paolo Molaro + + * metadata.c: fix type comparison for arrays. + * loader.h, loader.c: half-assed fix to get more tests work in cygwin. + Added a couple of new classes to monodefaults. + * icall.c: added a couple of Reflection-related internalcalls. + * class.h, class.c: implemented mono_ldtoken () for RuntimeTypeHandles. + Added a byval_arg MonoType to MonoClass. + +2001-09-28 Dick Porter + + * icall.c: + * threads-pthread.h: + * threads-pthread.c: Implemented internal calls for + LocalDataStoreSlot operations. Applied mutexes around all shared + data. Reworked the thread creation and Start() operations to + avoid a race condition. + + * threads-dummy.h: + * threads-dummy.c: Dummy calls for the LocalDataStoreSlot operations + +Thu Sep 27 21:45:55 CEST 2001 Paolo Molaro + + * rawbuffer.c: disable mmap on cygwin since it seems to be broken there. + +Thu Sep 27 19:52:11 CEST 2001 Paolo Molaro + + * class.c, loader.c: warn and return NULL instead of erroring out. + * icall.c: added System.AppDomain::getCurDomain(). + * loader.c: we don't need to lookup the typedef again for p/invoke calls. + +2001-09-25 Dick Porter + + * threads-pthread.h: + * threads-pthread.c: Implemented timed thread joining and added + System.Threading.Thread::Join_internal internal call + + * icall.c: Added System.Threading.Thread::Join_internal internal call + + * threads-dummy.h: + * threads-dummy.c: Dummy calls for System.Thread.Thread::Join_internal + +Mon Sep 24 18:56:59 CEST 2001 Paolo Molaro + + * object.c, object.h: added mono_ldstr (), mono_string_is_interned () and + mono_string_intern () to implement the semantics of the ldstr opcode + and the interning of System.Strings. + * icall.c: provide hooks to make String::IsIntern and String::Intern + internalcalls. + +2001-09-23 Dick Porter + + * threads-dummy.c: + * threads-dummy.h: New files of dummy threading routines + + * Makefile.am (THREAD_SOURCE): Arrange to compile different thread + support code based on system specifics + + Rename PTHREAD_LIBS to THREAD_LIBS + +2001-09-23 Dick Porter + + * threads-pthread.c: Implement the System.Threading.Thread::Sleep, + Schedule (called when asked to Sleep for 0 ms) and CurrentThread + internal calls. + (mono_thread_init): Set up a Thread object instance to return when + the main thread calls Thread.CurrentThread + (mono_thread_cleanup): Wait for all subthreads to exit + + * icall.c: New internal calls for System.Threading.Thread::Sleep + (including Schedule) and CurrentThread + + * threads.h: New file, to insulate thread-specific stuff from the + rest of the code + +2001-09-21 Dick Porter + + * threads-pthread.h: + * threads-pthread.c: New file, for handling pthreads-style + threading support. Start() now starts a new thread and executes + the ThreadStart delegate instance. + + * icall.c: Added the internalcall for + System.Threading.Thread::Start_internal + + * Makefile.am: Added new files, and PTHREADS_LIBS to the link line + +Thu Sep 20 19:37:39 CEST 2001 Paolo Molaro + + * loader.c: work around the different signatures for delegates + constructors csc generates in compiled code vs the ones compiled in mscorlib. + +Tue Sep 18 13:16:32 CEST 2001 Paolo Molaro + + * class.h, class.c: add mono_class_get_field_from_name (). + * *: Fix C comments and other ANSI C issues. + +Mon Sep 10 20:21:34 CEST 2001 Paolo Molaro + + * endian.h, assembly.c: fix some endianness issues. + +Fri Sep 7 18:40:40 CEST 2001 Paolo Molaro + + * loader.h, load.c: add delegate_class to mono_defaults. + Handle runtime provided methods in mono_get_method (). + +2001-08-29 Dietmar Maurer + + * loader.c (mono_get_method): use pinvoke for internal call + + * icall.c: use pinvoke for internal call + + * loader.c (method_from_memberref): set the method name + +Wed Aug 29 12:43:41 CEST 2001 Paolo Molaro + + * metadata.c: help the compiler generate better code for + mono_class_from_mono_type (). + +2001-08-28 Dietmar Maurer + + * class.c (mono_class_metadata_init): delayed computing of the + class size to mono_class_metadata_init () + +Tue Aug 28 15:47:15 CEST 2001 Paolo Molaro + + * class.c, class.h: add an interfaces member to MonoClass. + * image.c, image.h: add assembly_name field to MonoImage + from the assembly table. + * metadata.c, metadata.h: add mono_metadata_interfaces_from_typedef (). + +Mon Aug 27 20:12:01 CEST 2001 Paolo Molaro + + * class.c: Handle Array in mono_class_from_mono_type (). + * metadata.c, pedump.c: some endian fixes. + +Mon Aug 27 15:23:23 CEST 2001 Paolo Molaro + + * class.c, loader.c, loader.h: More types handled in mono_class_from_mono_type (). + * metadata.c: fix small problem introduced with the latest commit. + +Mon Aug 27 12:17:17 CEST 2001 Paolo Molaro + + * loader.c, metadata.c, metadata.h: Export mono_metadata_type_equal(). + We don't need a MonoMetadata pointer anymore to compare signatures in + mono_metadata_signature_equal (), update callers. + Reduced memory usage an number of allocations for MonoMethodHeader and + MonoMethodSignature. + +Sun Aug 26 23:03:09 CEST 2001 Paolo Molaro + + * metadata.c: added compare for szarray. + +Sun Aug 26 11:34:24 CEST 2001 Paolo Molaro + + * class.h, class.c, loader.h, loader.c: export mono_class_from_mono_type () + and add a couple more types to it and mono_defaults. Give an hint on + classes that need implementing in our corlib and are referenced + in mscorlib. + +Sat Aug 25 12:52:54 CEST 2001 Paolo Molaro + + * class.h, class.c: keep track if a class is also an Enum. + * loader.c: Implement a couple more types for use in libffi + marshalling. Gives better diagnostics when failing to dlopen + a library. Set method->klass for P/Invoke methods, too. + +Fri Aug 24 19:30:25 CEST 2001 Paolo Molaro + + * class.c, class.h: add a MonoType this_arg to MonoClass that + represents a pointer to an object of the class' type that + can be used by the interpreter and later the type cache. + Add best guess alignment info for valuetype objects. + +Fri Aug 24 15:50:31 CEST 2001 Paolo Molaro + + * metadata.h, metadata.c, class.h, class.c: squeezed MonoParam + into MonoType: one less level of indirection and allocation and + simplifies quite a bit of code. Added cache for MonoTypes that are + used frequently, so that we don't need to allocate them all the time. + +2001-08-24 Dietmar Maurer + + * class.c (mono_class_create_from_typedef): System.Enum is also a + value type, although it does not derive from System.ValueType + (maybe a bug in the ms compiler?) + + * metadata.c (mono_type_size): return the right size for value types + + * loader.c (mono_get_method): only initialize method header if not abstract + + * class.c (mono_class_from_mono_type): use mono_default values. + +2001-08-23 Dietmar Maurer + + * *: use MonoClass pointers instead of + + * class.h: new flag: metadata_inited. + + * class.c (mono_class_metadata_init): impl. + (mono_class_instance_size): impl. + (mono_class_data_size): impl. + +Wed Aug 22 16:27:30 CEST 2001 Paolo Molaro + + * metadata.c, loader.h, loader.c, image.h, image.c, class.h, class.c: + MonoClass now has the name and name_space fields. + MonoMethod has a pointer to its MonoClass, instead of MonoImage. + mono_get_method () takes and optional MonoClass as argument. + Removed mono_typedef_from_name() and added mono_class_token_from_name() + instead that takes advantage of a map from class names to typedef + tokens in MonoImage. + +Tue Aug 21 18:54:58 CEST 2001 Paolo Molaro + + * metadata.c: zero is not a valid alignment boundary. + Merge MONO_TYPE_VOID in default decoding code. + +2001-08-21 Dietmar Maurer + + * image.h: merged MonoMetadata into MonoImage + + * class.h: cleanup of MonoArrayClass, use a MonoClass pointer to + identify the type of elements. + Mon Aug 20 19:39:00 CEST 2001 Paolo Molaro * blob.h: fix MONO_TYPE_TYPEDBYREF value.