Replaced System.Web.Routing with referencesources own implementation.
[mono.git] / data / lock-decoder / LockTracerDecoder.cs
index 04fed0f2873b652f8f1901d5e0453e4bdaeca171..08576f1a7de515eeda783c2936310d8288aa6629 100644 (file)
@@ -144,7 +144,8 @@ public enum Lock {
        AssemblyBindingLock,
        MarshalLock,
        ClassesLock,
-       LoaderGlobalDataLock
+       LoaderGlobalDataLock,
+       ThreadsLock,
 }
 
 public class SimLock
@@ -242,7 +243,24 @@ public class SimLock
        }
 
        public override string ToString () {
-               return String.Format ("{0}", kind);
+               switch (kind) {
+               case Lock.LoaderLock:
+               case Lock.IcallLock:
+               case Lock.AssemblyBindingLock:
+               case Lock.MarshalLock:
+               case Lock.ClassesLock:
+               case Lock.LoaderGlobalDataLock:
+               case Lock.ThreadsLock:
+                       return String.Format ("{0}", kind);
+
+               case Lock.ImageDataLock:
+               case Lock.DomainLock:
+               case Lock.DomainAssembliesLock:
+               case Lock.DomainJitCodeHashLock:
+                       return String.Format ("{0}[{1}]", kind, id);
+               default:
+                       return String.Format ("Unknown({0})[{1}]", kind, id);
+               }
        }
 }
 
@@ -311,6 +329,10 @@ public class Trace {
                "add_record",
                "mono_locks_lock_acquired",
                "mono_locks_lock_released",
+               "mono_threads_lock",
+               "mono_threads_unlock",
+               "mono_domain_lock",
+               "mono_domain_unlock",
        };
 
        public Trace (string[] fields) {