Loading...
libkern/c++/OSObject.cpp xnu-1228 xnu-792.21.3
--- xnu/xnu-1228/libkern/c++/OSObject.cpp
+++ xnu/xnu-792.21.3/libkern/c++/OSObject.cpp
@@ -28,17 +28,12 @@
 /* OSObject.cpp created by gvdl on Fri 1998-11-17 */
 
 #include <libkern/c++/OSObject.h>
-#include <libkern/c++/OSArray.h>
 #include <libkern/c++/OSSerialize.h>
 #include <libkern/c++/OSLib.h>
-#include <libkern/OSDebug.h>
 #include <libkern/c++/OSCPPDebug.h>
-#include <IOKit/IOKitDebug.h>
 #include <libkern/OSAtomic.h>
 
 #include <libkern/c++/OSCollection.h>
-
-#include <kern/queue.h>
 
 __BEGIN_DECLS
 int debug_ivars_size;
@@ -86,8 +81,6 @@
 OSMetaClassDefineReservedUnused(OSObject, 13);
 OSMetaClassDefineReservedUnused(OSObject, 14);
 OSMetaClassDefineReservedUnused(OSObject, 15);
-
-#ifdef __ppc__
 OSMetaClassDefineReservedUnused(OSObject, 16);
 OSMetaClassDefineReservedUnused(OSObject, 17);
 OSMetaClassDefineReservedUnused(OSObject, 18);
@@ -104,7 +97,6 @@
 OSMetaClassDefineReservedUnused(OSObject, 29);
 OSMetaClassDefineReservedUnused(OSObject, 30);
 OSMetaClassDefineReservedUnused(OSObject, 31);
-#endif
 
 static const char *getClassName(const OSObject *obj)
 {
@@ -272,91 +264,20 @@
     return s->addXMLEndTag("string");
 }
 
-
-thread_t gOSObjectTrackThread;
-
-queue_head_t gOSObjectTrackList =
-    { (queue_t) &gOSObjectTrackList, (queue_t) &gOSObjectTrackList };
-
-lck_spin_t gOSObjectTrackLock;
-
-OSArray * OSFlushObjectTrackList(void)
-{
-    OSArray *     array;
-    queue_entry_t next;
-
-    array = OSArray::withCapacity(16);
-
-    lck_spin_lock(&gOSObjectTrackLock);
-    while (!queue_empty(&gOSObjectTrackList))
-    {
-	next = queue_first(&gOSObjectTrackList);
-	remque(next);
-	lck_spin_unlock(&gOSObjectTrackLock);
-	array->setObject((OSObject *) (next + 1));
-	lck_spin_lock(&gOSObjectTrackLock);
-    }
-    lck_spin_unlock(&gOSObjectTrackLock);
-
-    return (array);
-}
-
-struct OSObjectTracking
-{
-    queue_chain_t link;
-    void *	  bt[14];
-};
-
 void *OSObject::operator new(size_t size)
 {
-    size_t tracking        = (gIOKitDebug & kOSTraceObjectAlloc) 
-			   ? sizeof(OSObjectTracking) : 0;
-    OSObjectTracking * mem = (OSObjectTracking *) kalloc(size + tracking);
-
+    void *mem = (void *) kalloc(size);
     assert(mem);
-
-    if (tracking)
-    {
-	if ((((thread_t) 1) == gOSObjectTrackThread) || (current_thread() == gOSObjectTrackThread))
-	{
-	    (void) OSBacktrace(&mem->bt[0], sizeof(mem->bt) / sizeof(mem->bt[0]));
-	    lck_spin_lock(&gOSObjectTrackLock);
-	    enqueue_tail(&gOSObjectTrackList, &mem->link);
-	    lck_spin_unlock(&gOSObjectTrackLock);
-	}
-	else
-	    mem->link.next = 0;
-	mem++;
-    }
-
     bzero(mem, size);
 
     ACCUMSIZE(size);
 
-    return (void *) mem;
-}
-
-void OSObject::operator delete(void *_mem, size_t size)
-{
-    size_t             tracking = (gIOKitDebug & kOSTraceObjectAlloc)
-				? sizeof(OSObjectTracking) : 0;
-    OSObjectTracking * mem      = (OSObjectTracking *) _mem;
-
-    if (!mem)
-	return;
-
-    if (tracking)
-    {
-	mem--;
-	if (mem->link.next)
-	{
-	    lck_spin_lock(&gOSObjectTrackLock);
-	    remque(&mem->link);
-	    lck_spin_unlock(&gOSObjectTrackLock);
-	}
-    }
-
-    kfree(mem, size + tracking);
+    return mem;
+}
+
+void OSObject::operator delete(void *mem, size_t size)
+{
+    kfree((vm_offset_t) mem, size);
 
     ACCUMSIZE(-size);
 }