Author: martin
Date: 2007-11-22 04:52:51 -0500 (Thu, 22 Nov 2007)
New Revision: 90129

Modified:
   trunk/mono/mono/metadata/ChangeLog
   trunk/mono/mono/metadata/mono-debug.c
   trunk/mono/mono/metadata/mono-debug.h
Log:
2007-11-22  Martin Baulig  <[EMAIL PROTECTED]>

        * mono-debug.c
        (mono_debug_add_delegate_impl): New public method.
        (MonoDebugDataItemType): Added `MONO_DEBUG_DATA_ITEM_DELEGATE_IMPL'.

        * mono-debug.h
        (MonoSymbolTable): Added `global_data_table'.
        (MonoDebuggerTypeKind): Removed.



Modified: trunk/mono/mono/metadata/ChangeLog
===================================================================
--- trunk/mono/mono/metadata/ChangeLog  2007-11-22 08:58:11 UTC (rev 90128)
+++ trunk/mono/mono/metadata/ChangeLog  2007-11-22 09:52:51 UTC (rev 90129)
@@ -1,3 +1,13 @@
+2007-11-22  Martin Baulig  <[EMAIL PROTECTED]>
+
+       * mono-debug.c
+       (mono_debug_add_delegate_impl): New public method.
+       (MonoDebugDataItemType): Added `MONO_DEBUG_DATA_ITEM_DELEGATE_IMPL'.
+
+       * mono-debug.h
+       (MonoSymbolTable): Added `global_data_table'.
+       (MonoDebuggerTypeKind): Removed.
+
 2007-11-21  Zoltan Varga  <[EMAIL PROTECTED]>
 
        * marshal.c (mono_marshal_get_generic_array_helper): Skip visibility 
checks for

Modified: trunk/mono/mono/metadata/mono-debug.c
===================================================================
--- trunk/mono/mono/metadata/mono-debug.c       2007-11-22 08:58:11 UTC (rev 
90128)
+++ trunk/mono/mono/metadata/mono-debug.c       2007-11-22 09:52:51 UTC (rev 
90129)
@@ -36,7 +36,8 @@
 typedef enum {
        MONO_DEBUG_DATA_ITEM_UNKNOWN            = 0,
        MONO_DEBUG_DATA_ITEM_CLASS,
-       MONO_DEBUG_DATA_ITEM_METHOD
+       MONO_DEBUG_DATA_ITEM_METHOD,
+       MONO_DEBUG_DATA_ITEM_DELEGATE_IMPL
 } MonoDebugDataItemType;
 
 typedef struct _MonoDebugDataChunk MonoDebugDataChunk;
@@ -88,6 +89,11 @@
        guint8 data [MONO_ZERO_LEN_ARRAY];
 };
 
+typedef struct {
+       gpointer code;
+       guint32 size;
+} MonoDebugDelegateImplEntry;
+
 MonoSymbolTable *mono_symbol_table = NULL;
 MonoDebugFormat mono_debug_format = MONO_DEBUG_FORMAT_NONE;
 gint32 mono_debug_debugger_version = 2;
@@ -231,6 +237,8 @@
        mono_debugger_class_init_func = mono_debug_add_type;
        mono_install_assembly_load_hook (mono_debug_add_assembly, NULL);
 
+       mono_symbol_table->global_data_table = create_data_table (NULL);
+
        mono_debugger_unlock ();
 }
 
@@ -691,6 +699,27 @@
        return address;
 }
 
+void
+mono_debug_add_delegate_impl (gpointer code, int size)
+{
+       MonoDebugDelegateImplEntry *entry;
+
+       if (!mono_debug_initialized)
+               return;
+
+       mono_debugger_lock ();
+
+       entry = (MonoDebugDelegateImplEntry *) allocate_data_item (
+               mono_symbol_table->global_data_table, 
MONO_DEBUG_DATA_ITEM_DELEGATE_IMPL,
+               sizeof (MonoDebugDelegateImplEntry));
+       entry->code = code;
+       entry->size = size;
+
+       write_data_item (mono_symbol_table->global_data_table, (guint8 *) 
entry);
+
+       mono_debugger_unlock ();
+}
+
 static inline guint32
 read_leb128 (guint8 *ptr, guint8 **rptr)
 {

Modified: trunk/mono/mono/metadata/mono-debug.h
===================================================================
--- trunk/mono/mono/metadata/mono-debug.h       2007-11-22 08:58:11 UTC (rev 
90128)
+++ trunk/mono/mono/metadata/mono-debug.h       2007-11-22 09:52:51 UTC (rev 
90129)
@@ -37,21 +37,6 @@
        MONO_DEBUG_FORMAT_DEBUGGER
 } MonoDebugFormat;
 
-typedef enum {
-       MONO_DEBUGGER_TYPE_KIND_UNKNOWN = 1,
-       MONO_DEBUGGER_TYPE_KIND_FUNDAMENTAL,
-       MONO_DEBUGGER_TYPE_KIND_STRING,
-       MONO_DEBUGGER_TYPE_KIND_SZARRAY,
-       MONO_DEBUGGER_TYPE_KIND_ARRAY,
-       MONO_DEBUGGER_TYPE_KIND_POINTER,
-       MONO_DEBUGGER_TYPE_KIND_ENUM,
-       MONO_DEBUGGER_TYPE_KIND_OBJECT,
-       MONO_DEBUGGER_TYPE_KIND_STRUCT,
-       MONO_DEBUGGER_TYPE_KIND_CLASS,
-       MONO_DEBUGGER_TYPE_KIND_CLASS_INFO,
-       MONO_DEBUGGER_TYPE_KIND_REFERENCE
-} MonoDebuggerTypeKind;
-
 /*
  * NOTE:
  * We intentionally do not use GList here since the debugger needs to know 
about
@@ -71,7 +56,7 @@
         * Corlib and metadata info.
         */
        MonoDebugHandle *corlib;
-
+       MonoDebugDataTable *global_data_table;
        MonoDebugList *data_tables;
 
        /*
@@ -177,6 +162,9 @@
 MonoDebugMethodJitInfo*
 mono_debug_find_method (MonoMethod *method, MonoDomain *domain);
 
+void
+mono_debug_add_delegate_impl (gpointer code, int size);
+
 /*
  * Line number support.
  */

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to