2001-12-16 Dietmar Maurer <dietmar@ximian.com>
[mono.git] / mono / metadata / ChangeLog
index 2402adaff90b8cb71ea65159980068f20dd774b2..4e00c9c48531a1611fc356131e24b092ab8db536 100644 (file)
@@ -1,3 +1,628 @@
+2001-12-16  Dietmar Maurer  <dietmar@ximian.com>
+
+       * file-io.c: raise exceptions if handle is invalid.
+
+Thu Dec 13 20:27:08 CET 2001 Paolo Molaro <lupus@ximian.com>
+
+       * 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  <dick@ximian.com>
+
+       * icall.c:
+       * file-io.c: Internal calls for file IO.
+
+Thu Dec 6 16:21:30 CET 2001 Paolo Molaro <lupus@ximian.com>
+
+       * 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  <dietmar@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * 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  <dietmar@ximian.com>
+
+       * 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  <rodo@ximian.com>
+
+       * 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  <dick@ximian.com>
+
+       * exception.c: Implement mono_exception_from_name()
+
+Fri Nov 30 12:01:02 CET 2001 Paolo Molaro <lupus@ximian.com>
+
+       * 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  <rodo@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * loader.h, loader.c: add mono_method_get_param_names().
+       * class.c: 0-init class fields.
+
+2001-11-26  Dick Porter  <dick@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * 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  <macisaac@ximian.com>
+
+       * 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  <miguel@ximian.com>
+
+       * 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  <dick@ximian.com>
+
+       * Makefile.am (pedump_LDADD): Don't need THREAD_LIBS any more
+
+2001-11-09  Dietmar Maurer  <dietmar@ximian.com>
+
+       * class.c (mono_class_metadata_init): bug fix: compute the right slot
+
+Fri Nov 9 15:48:02 CET 2001 Paolo Molaro <lupus@ximian.com>
+
+       * icall.c, decimal.h, decimal.c: integrated decimal internalcalls
+       from Martin Weindel.
+       * object.h: add mono_string_chars ().
+
+2001-11-07  Miguel de Icaza  <miguel@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * 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  <dietmar@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * 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  <dietmar@ximian.com>
+
+       * class.c (mono_class_metadata_init): bug fix: always allocate
+       space for static class data
+
+2001-10-25  Dietmar Maurer  <dietmar@ximian.com>
+
+       * class.c (mono_compute_relative_numbering): use relative
+       numbering to support fast runtime type checks.
+
+2001-10-17  Sean MacIsaac  <macisaac@ximian.com>
+
+       * 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  <dietmar@ximian.com>
+
+       * 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  <dietmar@ximian.com>
+
+       * 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  <dietmar@ximian.com>
+
+       * 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  <dietmar@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * 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_<object>_<action>. 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 <sched.h>
+       (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 <lupus@ximian.com>
+
+       * class.c: set the correct type for all the fundamental
+       type when loading the class.
+
+2001-10-05  Dick Porter  <dick@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * 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  <dick@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * 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  <dietmar@ximian.com>
+
+       * class.c (mono_class_metadata_init): bug fix: compute the right size
+
+Mon Oct 1 20:43:57 CEST 2001 Paolo Molaro <lupus@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * 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  <dick@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * rawbuffer.c: disable mmap on cygwin since it seems to be broken there.
+
+Thu Sep 27 19:52:11 CEST 2001 Paolo Molaro <lupus@ximian.com>
+
+       * 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  <dick@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * 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  <dick@ximian.com>
+
+       * 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  <dick@ximian.com>
+
+       * 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  <dick@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * endian.h, assembly.c: fix some endianness issues.
+
+Fri Sep 7 18:40:40 CEST 2001 Paolo Molaro <lupus@ximian.com>
+
+       * loader.h, load.c: add delegate_class to mono_defaults.
+       Handle runtime provided methods in mono_get_method ().
+
+2001-08-29  Dietmar Maurer  <dietmar@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * metadata.c: help the compiler generate better code for
+       mono_class_from_mono_type ().
+
+2001-08-28  Dietmar Maurer  <dietmar@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * metadata.c: added compare for szarray.
+
+Sun Aug 26 11:34:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * 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  <dietmar@ximian.com>
+
+       * 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  <dietmar@ximian.com>
+
+       * *: use MonoClass pointers instead of <type_tokens>
+       
+       * 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 <lupus@ximian.com>
+
+       * 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 <lupus@ximian.com>
+
+       * metadata.c: zero is not a valid alignment boundary.
+       Merge MONO_TYPE_VOID in default decoding code.
+
+2001-08-21  Dietmar Maurer  <dietmar@ximian.com>
+
+       * 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 <lupus@ximian.com>
 
        * blob.h: fix MONO_TYPE_TYPEDBYREF value.