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

Unified Diff: runtime/vm/raw_object.h

Issue 12303013: Simd128Float32, Simd128Mask, and Simd128Float32List additions for dart:scalarlist (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 10 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 2889ff92760f8f48cdfda083de3dd53c704d9dca..a8be033770690c2da856d3d6702b220ca9abdef2 100644
--- a/runtime/vm/raw_object.h
+++ b/runtime/vm/raw_object.h
@@ -61,6 +61,8 @@ namespace dart {
V(Array) \
V(ImmutableArray) \
V(GrowableObjectArray) \
+ V(Simd128Float32) \
+ V(Simd128Mask) \
V(ByteArray) \
V(Int8Array) \
V(Uint8Array) \
@@ -71,6 +73,7 @@ namespace dart {
V(Uint32Array) \
V(Int64Array) \
V(Uint64Array) \
+ V(Simd128Float32Array) \
V(Float32Array) \
V(Float64Array) \
V(ExternalInt8Array) \
@@ -82,6 +85,7 @@ namespace dart {
V(ExternalUint32Array) \
V(ExternalInt64Array) \
V(ExternalUint64Array) \
+ V(ExternalSimd128Float32Array) \
V(ExternalFloat32Array) \
V(ExternalFloat64Array) \
V(Stacktrace) \
@@ -1301,6 +1305,24 @@ class RawGrowableObjectArray : public RawInstance {
};
+class RawSimd128Float32 : public RawInstance {
+ RAW_HEAP_OBJECT_IMPLEMENTATION(Simd128Float32);
+
+ float value_[4];
+
+ friend class SnapshotReader;
+};
+
+
+class RawSimd128Mask : public RawInstance {
+ RAW_HEAP_OBJECT_IMPLEMENTATION(Simd128Mask);
+
+ uint32_t value_[4];
+
+ friend class SnapshotReader;
+};
+
+
// Define an aliases for intptr_t.
#if defined(ARCH_IS_32_BIT)
#define RawIntPtrArray RawInt32Array
@@ -1401,6 +1423,13 @@ class RawUint64Array : public RawByteArray {
};
+class RawSimd128Float32Array : public RawByteArray {
+ RAW_HEAP_OBJECT_IMPLEMENTATION(Simd128Float32Array);
+
+ // Variable length data follows here.
+ simd_value_t data_[0];
+};
+
class RawFloat32Array : public RawByteArray {
RAW_HEAP_OBJECT_IMPLEMENTATION(Float32Array);
@@ -1490,6 +1519,14 @@ class RawExternalUint64Array : public RawByteArray {
};
+class RawExternalSimd128Float32Array : public RawByteArray {
+ RAW_HEAP_OBJECT_IMPLEMENTATION(ExternalSimd128Float32Array);
+
+ simd_value_t* data_;
+ void* peer_;
+};
+
+
class RawExternalFloat32Array : public RawByteArray {
RAW_HEAP_OBJECT_IMPLEMENTATION(ExternalFloat32Array);

Powered by Google App Engine
This is Rietveld 408576698