Index: runtime/vm/raw_object.h |
=================================================================== |
--- runtime/vm/raw_object.h (revision 20600) |
+++ runtime/vm/raw_object.h (working copy) |
@@ -63,29 +63,6 @@ |
V(Array) \ |
V(ImmutableArray) \ |
V(GrowableObjectArray) \ |
- V(ByteArray) \ |
- V(Int8Array) \ |
- V(Uint8Array) \ |
- V(Uint8ClampedArray) \ |
- V(Int16Array) \ |
- V(Uint16Array) \ |
- V(Int32Array) \ |
- V(Uint32Array) \ |
- V(Int64Array) \ |
- V(Uint64Array) \ |
- V(Float32Array) \ |
- V(Float64Array) \ |
- V(ExternalInt8Array) \ |
- V(ExternalUint8Array) \ |
- V(ExternalUint8ClampedArray) \ |
- V(ExternalInt16Array) \ |
- V(ExternalUint16Array) \ |
- V(ExternalInt32Array) \ |
- V(ExternalUint32Array) \ |
- V(ExternalInt64Array) \ |
- V(ExternalUint64Array) \ |
- V(ExternalFloat32Array) \ |
- V(ExternalFloat64Array) \ |
V(TypedData) \ |
V(ExternalTypedData) \ |
V(Stacktrace) \ |
@@ -394,8 +371,6 @@ |
static bool IsTwoByteStringClassId(intptr_t index); |
static bool IsExternalStringClassId(intptr_t index); |
static bool IsBuiltinListClassId(intptr_t index); |
- static bool IsByteArrayClassId(intptr_t index); |
- static bool IsExternalByteArrayClassId(intptr_t index); |
static bool IsTypedDataClassId(intptr_t index); |
static bool IsTypedDataViewClassId(intptr_t index); |
static bool IsExternalTypedDataClassId(intptr_t index); |
@@ -1419,11 +1394,11 @@ |
// Define an aliases for intptr_t. |
#if defined(ARCH_IS_32_BIT) |
-#define RawIntPtrArray RawInt32Array |
-#define IntPtrArray Int32Array |
+#define kIntPtrCid kTypedDataInt32ArrayCid |
+#define SetIntPtr SetInt32 |
#elif defined(ARCH_IS_64_BIT) |
-#define RawIntPtrArray RawInt64Array |
-#define IntPtrArray Int64Array |
+#define kIntPtrCid kTypedDataInt64ArrayCid |
+#define SetIntPtr SetInt64 |
#else |
#error Architecture is not 32-bit or 64-bit. |
#endif // ARCH_IS_32_BIT |
@@ -1441,6 +1416,7 @@ |
uint8_t data_[0]; |
friend class Object; |
+ friend class Instance; |
}; |
@@ -1460,195 +1436,6 @@ |
}; |
-class RawByteArray : public RawInstance { |
- RAW_HEAP_OBJECT_IMPLEMENTATION(ByteArray); |
- |
- protected: |
- RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->length_); } |
- RawSmi* length_; |
- RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->length_); } |
-}; |
- |
- |
-class RawInt8Array : public RawByteArray { |
- RAW_HEAP_OBJECT_IMPLEMENTATION(Int8Array); |
- |
- // Variable length data follows here. |
- int8_t data_[0]; |
-}; |
- |
- |
-class RawUint8Array : public RawByteArray { |
- RAW_HEAP_OBJECT_IMPLEMENTATION(Uint8Array); |
- |
- // Variable length data follows here. |
- uint8_t data_[0]; |
-}; |
- |
- |
-class RawUint8ClampedArray : public RawByteArray { |
- RAW_HEAP_OBJECT_IMPLEMENTATION(Uint8ClampedArray); |
- |
- // Variable length data follows here. |
- uint8_t data_[0]; |
-}; |
- |
- |
-class RawInt16Array : public RawByteArray { |
- RAW_HEAP_OBJECT_IMPLEMENTATION(Int16Array); |
- |
- // Variable length data follows here. |
- int16_t data_[0]; |
-}; |
- |
- |
-class RawUint16Array : public RawByteArray { |
- RAW_HEAP_OBJECT_IMPLEMENTATION(Uint16Array); |
- |
- // Variable length data follows here. |
- uint16_t data_[0]; |
-}; |
- |
- |
-class RawInt32Array : public RawByteArray { |
- RAW_HEAP_OBJECT_IMPLEMENTATION(Int32Array); |
- |
- // Variable length data follows here. |
- int32_t data_[0]; |
- |
- friend class Instance; |
-}; |
- |
- |
-class RawUint32Array : public RawByteArray { |
- RAW_HEAP_OBJECT_IMPLEMENTATION(Uint32Array); |
- |
- // Variable length data follows here. |
- uint32_t data_[0]; |
-}; |
- |
- |
-class RawInt64Array : public RawByteArray { |
- RAW_HEAP_OBJECT_IMPLEMENTATION(Int64Array); |
- |
- // Variable length data follows here. |
- int64_t data_[0]; |
- |
- friend class Instance; |
-}; |
- |
- |
-class RawUint64Array : public RawByteArray { |
- RAW_HEAP_OBJECT_IMPLEMENTATION(Uint64Array); |
- |
- // Variable length data follows here. |
- uint64_t data_[0]; |
-}; |
- |
- |
-class RawFloat32Array : public RawByteArray { |
- RAW_HEAP_OBJECT_IMPLEMENTATION(Float32Array); |
- |
- // Variable length data follows here. |
- float data_[0]; |
-}; |
- |
- |
-class RawFloat64Array : public RawByteArray { |
- RAW_HEAP_OBJECT_IMPLEMENTATION(Float64Array); |
- |
- // Variable length data follows here. |
- double data_[0]; |
-}; |
- |
- |
-class RawExternalInt8Array : public RawByteArray { |
- RAW_HEAP_OBJECT_IMPLEMENTATION(ExternalInt8Array); |
- |
- int8_t* data_; |
- void* peer_; |
-}; |
- |
- |
-class RawExternalUint8Array : public RawByteArray { |
- RAW_HEAP_OBJECT_IMPLEMENTATION(ExternalUint8Array); |
- |
- uint8_t* data_; |
- void* peer_; |
- |
- friend class RawExternalUint8ClampedArray; |
-}; |
- |
- |
-class RawExternalUint8ClampedArray : public RawExternalUint8Array { |
- RAW_HEAP_OBJECT_IMPLEMENTATION(ExternalUint8ClampedArray); |
-}; |
- |
- |
-class RawExternalInt16Array : public RawByteArray { |
- RAW_HEAP_OBJECT_IMPLEMENTATION(ExternalInt16Array); |
- |
- int16_t* data_; |
- void* peer_; |
-}; |
- |
- |
-class RawExternalUint16Array : public RawByteArray { |
- RAW_HEAP_OBJECT_IMPLEMENTATION(ExternalUint16Array); |
- |
- uint16_t* data_; |
- void* peer_; |
-}; |
- |
- |
-class RawExternalInt32Array : public RawByteArray { |
- RAW_HEAP_OBJECT_IMPLEMENTATION(ExternalInt32Array); |
- |
- int32_t* data_; |
- void* peer_; |
-}; |
- |
- |
-class RawExternalUint32Array : public RawByteArray { |
- RAW_HEAP_OBJECT_IMPLEMENTATION(ExternalUint32Array); |
- |
- uint32_t* data_; |
- void* peer_; |
-}; |
- |
- |
-class RawExternalInt64Array : public RawByteArray { |
- RAW_HEAP_OBJECT_IMPLEMENTATION(ExternalInt64Array); |
- |
- int64_t* data_; |
- void* peer_; |
-}; |
- |
- |
-class RawExternalUint64Array : public RawByteArray { |
- RAW_HEAP_OBJECT_IMPLEMENTATION(ExternalUint64Array); |
- |
- uint64_t* data_; |
- void* peer_; |
-}; |
- |
- |
-class RawExternalFloat32Array : public RawByteArray { |
- RAW_HEAP_OBJECT_IMPLEMENTATION(ExternalFloat32Array); |
- |
- float* data_; |
- void* peer_; |
-}; |
- |
- |
-class RawExternalFloat64Array : public RawByteArray { |
- RAW_HEAP_OBJECT_IMPLEMENTATION(ExternalFloat64Array); |
- |
- double* data_; |
- void* peer_; |
-}; |
- |
- |
class RawDartFunction : public RawInstance { |
RAW_HEAP_OBJECT_IMPLEMENTATION(DartFunction); |
}; |
@@ -1799,58 +1586,14 @@ |
// Make sure this function is updated when new builtin List types are added. |
ASSERT(kImmutableArrayCid == kArrayCid + 1 && |
kGrowableObjectArrayCid == kArrayCid + 2 && |
- kByteArrayCid == kArrayCid + 3); |
- return (index >= kArrayCid && index < kByteArrayCid) || |
- IsByteArrayClassId(index); |
+ kTypedDataCid == kArrayCid + 3); |
+ return ((index >= kArrayCid && index < kTypedDataCid) || |
+ IsTypedDataClassId(index) || |
+ IsTypedDataViewClassId(index) || |
+ IsExternalTypedDataClassId(index)); |
} |
-inline bool RawObject::IsByteArrayClassId(intptr_t index) { |
- // Make sure this function is updated when new ByteArray types are added. |
- ASSERT(kInt8ArrayCid == kByteArrayCid + 1 && |
- kUint8ArrayCid == kByteArrayCid + 2 && |
- kUint8ClampedArrayCid == kByteArrayCid + 3 && |
- kInt16ArrayCid == kByteArrayCid + 4 && |
- kUint16ArrayCid == kByteArrayCid + 5 && |
- kInt32ArrayCid == kByteArrayCid + 6 && |
- kUint32ArrayCid == kByteArrayCid + 7 && |
- kInt64ArrayCid == kByteArrayCid + 8 && |
- kUint64ArrayCid == kByteArrayCid + 9 && |
- kFloat32ArrayCid == kByteArrayCid + 10 && |
- kFloat64ArrayCid == kByteArrayCid + 11 && |
- kExternalInt8ArrayCid == kByteArrayCid + 12 && |
- kExternalUint8ArrayCid == kByteArrayCid + 13 && |
- kExternalUint8ClampedArrayCid == kByteArrayCid + 14 && |
- kExternalInt16ArrayCid == kByteArrayCid + 15 && |
- kExternalUint16ArrayCid == kByteArrayCid + 16 && |
- kExternalInt32ArrayCid == kByteArrayCid + 17 && |
- kExternalUint32ArrayCid == kByteArrayCid + 18 && |
- kExternalInt64ArrayCid == kByteArrayCid + 19 && |
- kExternalUint64ArrayCid == kByteArrayCid + 20 && |
- kExternalFloat32ArrayCid == kByteArrayCid + 21 && |
- kExternalFloat64ArrayCid == kByteArrayCid + 22 && |
- kTypedDataCid == kByteArrayCid + 23); |
- return (index >= kByteArrayCid && index <= kExternalFloat64ArrayCid); |
-} |
- |
- |
-inline bool RawObject::IsExternalByteArrayClassId(intptr_t index) { |
- // Make sure this function is updated when new ByteArray types are added. |
- ASSERT(kExternalUint8ArrayCid == kExternalInt8ArrayCid + 1 && |
- kExternalUint8ClampedArrayCid == kExternalInt8ArrayCid + 2 && |
- kExternalInt16ArrayCid == kExternalInt8ArrayCid + 3 && |
- kExternalUint16ArrayCid == kExternalInt8ArrayCid + 4 && |
- kExternalInt32ArrayCid == kExternalInt8ArrayCid + 5 && |
- kExternalUint32ArrayCid == kExternalInt8ArrayCid + 6 && |
- kExternalInt64ArrayCid == kExternalInt8ArrayCid + 7 && |
- kExternalUint64ArrayCid == kExternalInt8ArrayCid + 8 && |
- kExternalFloat32ArrayCid == kExternalInt8ArrayCid + 9 && |
- kExternalFloat64ArrayCid == kExternalInt8ArrayCid + 10 && |
- kTypedDataCid == kExternalInt8ArrayCid + 11); |
- return (index >= kExternalInt8ArrayCid && index <= kExternalFloat64ArrayCid); |
-} |
- |
- |
inline bool RawObject::IsTypedDataClassId(intptr_t index) { |
// Make sure this is updated when new TypedData types are added. |
ASSERT(kTypedDataUint8ArrayCid == kTypedDataInt8ArrayCid + 1 && |