2009-02-04 Mark Probst <mark.probst@gmail.com>
[mono.git] / mono / metadata / mono-debug.h
index 5d781cc9f5e0dcde263e942cecaa33c11df96442..7a801f41e8a48ee1bce977ac90d1fcc6ce11e256 100644 (file)
@@ -18,7 +18,6 @@ typedef struct _MonoSymbolFile                        MonoSymbolFile;
 typedef struct _MonoDebugHandle                        MonoDebugHandle;
 
 typedef struct _MonoDebugLineNumberEntry       MonoDebugLineNumberEntry;
-typedef struct _MonoDebugLexicalBlockEntry     MonoDebugLexicalBlockEntry;
 
 typedef struct _MonoDebugVarInfo               MonoDebugVarInfo;
 typedef struct _MonoDebugMethodJitInfo         MonoDebugMethodJitInfo;
@@ -81,8 +80,6 @@ struct _MonoDebugMethodJitInfo {
        const guint8 *wrapper_addr;
        guint32 num_line_numbers;
        MonoDebugLineNumberEntry *line_numbers;
-       guint32 num_lexical_blocks;
-       MonoDebugLexicalBlockEntry *lexical_blocks;
        guint32 num_params;
        MonoDebugVarInfo *this_var;
        MonoDebugVarInfo *params;
@@ -119,6 +116,9 @@ struct _MonoDebugSourceLocation {
 /* The variable is in the two registers "offset" and "index". */
 #define MONO_DEBUG_VAR_ADDRESS_MODE_TWO_REGISTERS      0x20000000
 
+/* The variable is dead. */
+#define MONO_DEBUG_VAR_ADDRESS_MODE_DEAD               0x30000000
+
 struct _MonoDebugVarInfo {
        guint32 index;
        guint32 offset;
@@ -128,13 +128,15 @@ struct _MonoDebugVarInfo {
        MonoType *type;
 };
 
-#define MONO_DEBUGGER_VERSION                          66
+#define MONO_DEBUGGER_MAJOR_VERSION                    80
+#define MONO_DEBUGGER_MINOR_VERSION                    0
 #define MONO_DEBUGGER_MAGIC                            0x7aff65af4253d427ULL
 
 extern MonoSymbolTable *mono_symbol_table;
 extern MonoDebugFormat mono_debug_format;
 extern GHashTable *mono_debug_handles;
 extern gint32 mono_debug_debugger_version;
+extern gint32 _mono_debug_using_mono_debugger;
 
 void mono_debug_list_add (MonoDebugList **list, gconstpointer data);
 void mono_debug_list_remove (MonoDebugList **list, gconstpointer data);
@@ -163,7 +165,14 @@ MonoDebugMethodJitInfo*
 mono_debug_find_method (MonoMethod *method, MonoDomain *domain);
 
 void
-mono_debug_add_delegate_impl (gpointer code, int size);
+mono_debug_free_method_jit_info (MonoDebugMethodJitInfo *jit);
+
+
+void
+mono_debug_add_delegate_trampoline (gpointer code, int size);
+
+int
+mono_debug_lookup_locals (MonoMethod *method, char ***names, int **indexes);
 
 /*
  * Line number support.