Index: /trunk/src/VBox/HostDrivers/Support/darwin/SUPDrv-darwin.cpp
===================================================================
--- /trunk/src/VBox/HostDrivers/Support/darwin/SUPDrv-darwin.cpp	(revision 51250)
+++ /trunk/src/VBox/HostDrivers/Support/darwin/SUPDrv-darwin.cpp	(revision 51251)
@@ -88,4 +88,8 @@
 #define DEVICE_NAME_USR     "vboxdrvu"
 
+/* Temporary debugging. */
+#define VBOX_PROC_SELFNAME_LEN  (20)
+#define VBOX_RETRIEVE_CUR_PROC_NAME(_name)    char _name[VBOX_PROC_SELFNAME_LEN]; \
+                                              proc_selfname(pszProcName, VBOX_PROC_SELFNAME_LEN)
 
 
@@ -128,4 +132,6 @@
     virtual IOService *probe(IOService *pProvider, SInt32 *pi32Score);
     virtual bool terminate(IOOptionBits fOptions);
+    virtual void taggedRetain(const void *pTag=0) const;
+    virtual void taggedRelease(const void *pTag, const int freeWhen) const;
 };
 
@@ -156,4 +162,6 @@
     virtual bool finalize(IOOptionBits fOptions);
     virtual void stop(IOService *pProvider);
+    virtual void taggedRetain(const void *pTag=0) const;
+    virtual void taggedRelease(const void *pTag, const int freeWhen) const;
 };
 
@@ -1355,4 +1363,19 @@
 
 
+void org_virtualbox_SupDrv::taggedRetain(const void *pTag) const
+{
+    VBOX_RETRIEVE_CUR_PROC_NAME(pszProcName);
+    LogRel(("org_virtualbox_SupDrv::taggedRetain([%p], pTag=[%p]) (1) pszProcName=[%s] [retain count: %d]\n", this, pTag, pszProcName, getRetainCount()));
+    IOService::taggedRetain(pTag);
+    LogRel(("org_virtualbox_SupDrv::taggedRetain([%p], pTag=[%p]) (2) pszProcName=[%s] [retain count: %d]\n", this, pTag, pszProcName, getRetainCount()));
+}
+
+void org_virtualbox_SupDrv::taggedRelease(const void *pTag, const int freeWhen) const
+{
+    VBOX_RETRIEVE_CUR_PROC_NAME(pszProcName);
+    LogRel(("org_virtualbox_SupDrv::taggedRelease([%p], pTag=[%p], freeWhen=[%d]) pszProcName=[%s] [retain count: %d]\n", this, pTag, freeWhen, pszProcName, getRetainCount()));
+    IOService::taggedRelease(pTag, freeWhen);
+}
+
 /*
  *
@@ -1589,2 +1612,17 @@
 }
 
+
+void org_virtualbox_SupDrvClient::taggedRetain(const void *pTag) const
+{
+    VBOX_RETRIEVE_CUR_PROC_NAME(pszProcName);
+    LogRel(("org_virtualbox_SupDrvClient::taggedRetain([%p], pTag=[%p]) (1) pszProcName=[%s] [retain count: %d]\n", this, pTag, pszProcName, getRetainCount()));
+    IOUserClient::taggedRetain(pTag);
+    LogRel(("org_virtualbox_SupDrvClient::taggedRetain([%p], pTag=[%p]) (2) pszProcName=[%s] [retain count: %d]\n", this, pTag, pszProcName, getRetainCount()));
+}
+
+void org_virtualbox_SupDrvClient::taggedRelease(const void *pTag, const int freeWhen) const
+{
+    VBOX_RETRIEVE_CUR_PROC_NAME(pszProcName);
+    LogRel(("org_virtualbox_SupDrvClient::taggedRelease([%p], pTag=[%p], freeWhen=[%d]) pszProcName=[%s] [retain count: %d]\n", this, pTag, freeWhen, pszProcName, getRetainCount()));
+    IOUserClient::taggedRelease(pTag, freeWhen);
+}
