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