Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(542)

Unified Diff: runtime/vm/raw_object.h

Issue 148043003: Add Float64x2, Float64x2List, etc... with runtime and dart2js implementations (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/vm/raw_object.h
diff --git a/runtime/vm/raw_object.h b/runtime/vm/raw_object.h
index 810d63713b699f6629aae28a27312019414efb2a..2538b380dfdae73962a1ee6e11d423bbe5c2ced5 100644
--- a/runtime/vm/raw_object.h
+++ b/runtime/vm/raw_object.h
@@ -70,6 +70,7 @@ namespace dart {
V(MirrorReference) \
V(Float32x4) \
V(Int32x4) \
+ V(Float64x2) \
#define CLASS_LIST_ARRAYS(V) \
V(Array) \
@@ -96,6 +97,7 @@ namespace dart {
V(Float64Array) \
V(Float32x4Array) \
V(Int32x4Array) \
+ V(Float64x2Array) \
#define CLASS_LIST_FOR_HANDLES(V) \
CLASS_LIST_NO_OBJECT_NOR_STRING_NOR_ARRAY(V) \
@@ -1452,6 +1454,18 @@ class RawInt32x4 : public RawInstance {
};
+class RawFloat64x2 : public RawInstance {
+ RAW_HEAP_OBJECT_IMPLEMENTATION(Float64x2);
+
+ double value_[2];
+
+ friend class SnapshotReader;
+ public:
+ double x() const { return value_[0]; }
+ double y() const { return value_[1]; }
+};
+
+
// Define an aliases for intptr_t.
#if defined(ARCH_IS_32_BIT)
#define kIntPtrCid kTypedDataInt32ArrayCid
@@ -1677,9 +1691,10 @@ inline bool RawObject::IsTypedDataClassId(intptr_t index) {
kTypedDataFloat64ArrayCid == kTypedDataInt8ArrayCid + 10 &&
kTypedDataFloat32x4ArrayCid == kTypedDataInt8ArrayCid + 11 &&
kTypedDataInt32x4ArrayCid == kTypedDataInt8ArrayCid + 12 &&
- kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 13);
+ kTypedDataFloat64x2ArrayCid == kTypedDataInt8ArrayCid + 13 &&
+ kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 14);
return (index >= kTypedDataInt8ArrayCid &&
- index <= kTypedDataInt32x4ArrayCid);
+ index <= kTypedDataFloat64x2ArrayCid);
}
@@ -1697,8 +1712,9 @@ inline bool RawObject::IsTypedDataViewClassId(intptr_t index) {
kTypedDataFloat64ArrayViewCid == kTypedDataInt8ArrayViewCid + 10 &&
kTypedDataFloat32x4ArrayViewCid == kTypedDataInt8ArrayViewCid + 11 &&
kTypedDataInt32x4ArrayViewCid == kTypedDataInt8ArrayViewCid + 12 &&
- kByteDataViewCid == kTypedDataInt8ArrayViewCid + 13 &&
- kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 14);
+ kTypedDataFloat64x2ArrayViewCid == kTypedDataInt8ArrayViewCid + 13 &&
+ kByteDataViewCid == kTypedDataInt8ArrayViewCid + 14 &&
+ kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 15);
return (index >= kTypedDataInt8ArrayViewCid &&
index <= kByteDataViewCid);
}
@@ -1730,9 +1746,11 @@ inline bool RawObject::IsExternalTypedDataClassId(intptr_t index) {
kExternalTypedDataInt8ArrayCid + 11) &&
(kExternalTypedDataInt32x4ArrayCid ==
kExternalTypedDataInt8ArrayCid + 12) &&
- (kNullCid == kExternalTypedDataInt8ArrayCid + 13));
+ (kExternalTypedDataFloat64x2ArrayCid ==
+ kExternalTypedDataInt8ArrayCid + 13) &&
+ (kNullCid == kExternalTypedDataInt8ArrayCid + 14));
return (index >= kExternalTypedDataInt8ArrayCid &&
- index <= kExternalTypedDataInt32x4ArrayCid);
+ index <= kExternalTypedDataFloat64x2ArrayCid);
}
@@ -1767,9 +1785,9 @@ inline bool RawObject::IsVariableSizeClassId(intptr_t index) {
inline intptr_t RawObject::NumberOfTypedDataClasses() {
// Make sure this is updated when new TypedData types are added.
- ASSERT(kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 13);
- ASSERT(kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 14);
- ASSERT(kNullCid == kExternalTypedDataInt8ArrayCid + 13);
+ ASSERT(kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 14);
+ ASSERT(kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 15);
+ ASSERT(kNullCid == kExternalTypedDataInt8ArrayCid + 14);
return (kNullCid - kTypedDataInt8ArrayCid);
}

Powered by Google App Engine
This is Rietveld 408576698