Loading...
libkern/c++/OSObject.cpp xnu-1228.3.13 xnu-792.24.17
--- xnu/xnu-1228.3.13/libkern/c++/OSObject.cpp
+++ xnu/xnu-792.24.17/libkern/c++/OSObject.cpp
@@ -1,44 +1,33 @@
 /*
  * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
  *
- * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+ * @APPLE_LICENSE_HEADER_START@
  * 
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. The rights granted to you under the License
- * may not be used to create, or enable the creation or redistribution of,
- * unlawful or unlicensed copies of an Apple operating system, or to
- * circumvent, violate, or enable the circumvention or violation of, any
- * terms of an Apple operating system software license agreement.
+ * The contents of this file constitute Original Code as defined in and
+ * are subject to the Apple Public Source License Version 1.1 (the
+ * "License").  You may not use this file except in compliance with the
+ * License.  Please obtain a copy of the License at
+ * http://www.apple.com/publicsource and read it before using this file.
  * 
- * Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this file.
- * 
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * This Original Code and all software distributed under the License are
+ * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
+ * License for the specific language governing rights and limitations
+ * under the License.
  * 
- * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+ * @APPLE_LICENSE_HEADER_END@
  */
 /* 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 +75,6 @@
 OSMetaClassDefineReservedUnused(OSObject, 13);
 OSMetaClassDefineReservedUnused(OSObject, 14);
 OSMetaClassDefineReservedUnused(OSObject, 15);
-
-#ifdef __ppc__
 OSMetaClassDefineReservedUnused(OSObject, 16);
 OSMetaClassDefineReservedUnused(OSObject, 17);
 OSMetaClassDefineReservedUnused(OSObject, 18);
@@ -104,7 +91,6 @@
 OSMetaClassDefineReservedUnused(OSObject, 29);
 OSMetaClassDefineReservedUnused(OSObject, 30);
 OSMetaClassDefineReservedUnused(OSObject, 31);
-#endif
 
 static const char *getClassName(const OSObject *obj)
 {
@@ -272,91 +258,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);
 }