Merge pull request #654 from alesliehughes/master
[mono.git] / mono / metadata / mono-debug.h
index ad9df3c81d7ce003eaafadbef6b2af1bf02b65ea..daba9e2ee1cdf81f35105014fd1b097b0bd296e0 100644 (file)
@@ -10,6 +10,8 @@
 #include <mono/metadata/image.h>
 #include <mono/metadata/appdomain.h>
 
+MONO_BEGIN_DECLS
+
 typedef struct _MonoSymbolTable                        MonoSymbolTable;
 typedef struct _MonoDebugDataTable             MonoDebugDataTable;
 
@@ -86,6 +88,8 @@ struct _MonoDebugMethodJitInfo {
        MonoDebugVarInfo *params;
        uint32_t num_locals;
        MonoDebugVarInfo *locals;
+       MonoDebugVarInfo *gsharedvt_info_var;
+       MonoDebugVarInfo *gsharedvt_locals_var;
 };
 
 struct _MonoDebugMethodAddressList {
@@ -120,6 +124,12 @@ struct _MonoDebugSourceLocation {
 /* The variable is dead. */
 #define MONO_DEBUG_VAR_ADDRESS_MODE_DEAD               0x30000000
 
+/* Same as REGOFFSET, but do an indirection */
+#define MONO_DEBUG_VAR_ADDRESS_MODE_REGOFFSET_INDIR            0x40000000
+
+/* gsharedvt local */
+#define MONO_DEBUG_VAR_ADDRESS_MODE_GSHAREDVT_LOCAL            0x50000000
+
 struct _MonoDebugVarInfo {
        uint32_t index;
        uint32_t offset;
@@ -130,7 +140,7 @@ struct _MonoDebugVarInfo {
 };
 
 #define MONO_DEBUGGER_MAJOR_VERSION                    81
-#define MONO_DEBUGGER_MINOR_VERSION                    5
+#define MONO_DEBUGGER_MINOR_VERSION                    6
 #define MONO_DEBUGGER_MAGIC                            0x7aff65af4253d427ULL
 
 extern MonoSymbolTable *mono_symbol_table;
@@ -155,6 +165,9 @@ mono_bool mono_debug_using_mono_debugger (void);
 MonoDebugMethodAddress *
 mono_debug_add_method (MonoMethod *method, MonoDebugMethodJitInfo *jit, MonoDomain *domain);
 
+void
+mono_debug_remove_method (MonoMethod *method, MonoDomain *domain);
+
 MonoDebugMethodInfo *
 mono_debug_lookup_method (MonoMethod *method);
 
@@ -202,4 +215,6 @@ int             mono_debugger_insert_breakpoint           (const char *method_na
 void mono_set_is_debugger_attached (mono_bool attached);
 mono_bool mono_is_debugger_attached (void);
 
+MONO_END_DECLS
+
 #endif /* __MONO_DEBUG_H__ */