Loading...
libkern/c++/OSNumber.cpp xnu-12377.101.15 xnu-6153.121.1
--- xnu/xnu-12377.101.15/libkern/c++/OSNumber.cpp
+++ xnu/xnu-6153.121.1/libkern/c++/OSNumber.cpp
@@ -27,22 +27,18 @@
  */
 /* IOOffset.m created by rsulack on Wed 17-Sep-1997 */
 
-#define IOKIT_ENABLE_SHARED_PTR
-
 #include <sys/cdefs.h>
 
 #include <libkern/c++/OSNumber.h>
 #include <libkern/c++/OSString.h>
 #include <libkern/c++/OSSerialize.h>
-#include <libkern/c++/OSSharedPtr.h>
 #include <libkern/c++/OSLib.h>
 
 #define sizeMask (~0ULL >> (64 - size))
 
 #define super OSObject
 
-OSDefineMetaClassAndStructorsWithZone(OSNumber, OSObject,
-    (zone_create_flags_t) (ZC_CACHING | ZC_ZFREE_CLEARMEM))
+OSDefineMetaClassAndStructors(OSNumber, OSObject)
 
 OSMetaClassDefineReservedUnused(OSNumber, 0);
 OSMetaClassDefineReservedUnused(OSNumber, 1);
@@ -81,77 +77,31 @@
 	super::free();
 }
 
-OSSharedPtr<OSNumber>
+OSNumber *
 OSNumber::withNumber(unsigned long long value,
     unsigned int newNumberOfBits)
 {
-	OSSharedPtr<OSNumber> me = OSMakeShared<OSNumber>();
+	OSNumber *me = new OSNumber;
 
 	if (me && !me->init(value, newNumberOfBits)) {
-		return nullptr;
+		me->release();
+		return NULL;
 	}
 
 	return me;
 }
 
-OSSharedPtr<OSNumber>
+OSNumber *
 OSNumber::withNumber(const char *value, unsigned int newNumberOfBits)
 {
-	OSSharedPtr<OSNumber> me = OSMakeShared<OSNumber>();
+	OSNumber *me = new OSNumber;
 
 	if (me && !me->init(value, newNumberOfBits)) {
-		return nullptr;
+		me->release();
+		return NULL;
 	}
 
 	return me;
-}
-
-OSSharedPtr<OSNumber>
-OSNumber::withDouble(
-	double             value)
-{
-	OSSharedPtr<OSNumber> me = OSMakeShared<OSNumber>();
-
-	if (me && !me->OSObject::init()) {
-		return nullptr;
-	}
-	me->size = 63;
-	me->fpValue = value;
-
-	return me;
-}
-
-OSSharedPtr<OSNumber>
-OSNumber::withFloat(
-	float             value)
-{
-	OSSharedPtr<OSNumber> me = OSMakeShared<OSNumber>();
-
-	if (me && !me->OSObject::init()) {
-		return nullptr;
-	}
-	me->size = 31;
-	me->fpValue = (double) value;
-
-	return me;
-}
-
-double
-OSNumber::doubleValue() const
-{
-	if ((size != 63) && (size != 31)) {
-		return (double) value;
-	}
-	return fpValue;
-}
-
-float
-OSNumber::floatValue() const
-{
-	if ((size != 63) && (size != 31)) {
-		return (float) value;
-	}
-	return (float) fpValue;
 }
 
 unsigned int
@@ -170,63 +120,43 @@
 unsigned char
 OSNumber::unsigned8BitValue() const
 {
-	if ((size == 63) || (size == 31)) {
-		return (unsigned char) fpValue;
-	}
 	return (unsigned char) value;
 }
 
 unsigned short
 OSNumber::unsigned16BitValue() const
 {
-	if ((size == 63) || (size == 31)) {
-		return (unsigned short) fpValue;
-	}
 	return (unsigned short) value;
 }
 
 unsigned int
 OSNumber::unsigned32BitValue() const
 {
-	if ((size == 63) || (size == 31)) {
-		return (unsigned int) fpValue;
-	}
 	return (unsigned int) value;
 }
 
 unsigned long long
 OSNumber::unsigned64BitValue() const
 {
-	if ((size == 63) || (size == 31)) {
-		return (unsigned long long) fpValue;
-	}
 	return value;
 }
 
 void
 OSNumber::addValue(signed long long inValue)
 {
-	if ((size == 63) || (size == 31)) {
-		fpValue += inValue;
-	} else {
-		value = ((value + inValue) & sizeMask);
-	}
+	value = ((value + inValue) & sizeMask);
 }
 
 void
 OSNumber::setValue(unsigned long long inValue)
 {
-	if ((size == 63) || (size == 31)) {
-		fpValue = (double) inValue;
-	} else {
-		value = (inValue & sizeMask);
-	}
+	value = (inValue & sizeMask);
 }
 
 bool
 OSNumber::isEqualTo(const OSNumber *integer) const
 {
-	return unsigned64BitValue() == integer->unsigned64BitValue();
+	return value == integer->value;
 }
 
 bool