Merge pull request #654 from alesliehughes/master
[mono.git] / mono / metadata / mono-debug.h
index 1f4fda49a6d77262f0f4bf057a184890670701d0..daba9e2ee1cdf81f35105014fd1b097b0bd296e0 100644 (file)
@@ -88,6 +88,8 @@ struct _MonoDebugMethodJitInfo {
        MonoDebugVarInfo *params;
        uint32_t num_locals;
        MonoDebugVarInfo *locals;
+       MonoDebugVarInfo *gsharedvt_info_var;
+       MonoDebugVarInfo *gsharedvt_locals_var;
 };
 
 struct _MonoDebugMethodAddressList {
@@ -122,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;
@@ -132,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;
@@ -157,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);