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

Unified Diff: dart/runtime/lib/simd128.cc

Issue 59073003: Version 0.8.10.4 (Closed) Base URL: http://dart.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 1 month 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
« no previous file with comments | « dart/runtime/lib/mirrors_impl.dart ('k') | dart/runtime/lib/string_patch.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: dart/runtime/lib/simd128.cc
===================================================================
--- dart/runtime/lib/simd128.cc (revision 29808)
+++ dart/runtime/lib/simd128.cc (working copy)
@@ -54,8 +54,8 @@
}
-DEFINE_NATIVE_ENTRY(Float32x4_fromUint32x4Bits, 2) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, v, arguments->NativeArgAt(1));
+DEFINE_NATIVE_ENTRY(Float32x4_fromInt32x4Bits, 2) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, v, arguments->NativeArgAt(1));
return Float32x4::New(v.value());
}
@@ -122,7 +122,7 @@
uint32_t _y = a.y() < b.y() ? 0xFFFFFFFF : 0x0;
uint32_t _z = a.z() < b.z() ? 0xFFFFFFFF : 0x0;
uint32_t _w = a.w() < b.w() ? 0xFFFFFFFF : 0x0;
- return Uint32x4::New(_x, _y, _z, _w);
+ return Int32x4::New(_x, _y, _z, _w);
}
@@ -133,7 +133,7 @@
uint32_t _y = a.y() <= b.y() ? 0xFFFFFFFF : 0x0;
uint32_t _z = a.z() <= b.z() ? 0xFFFFFFFF : 0x0;
uint32_t _w = a.w() <= b.w() ? 0xFFFFFFFF : 0x0;
- return Uint32x4::New(_x, _y, _z, _w);
+ return Int32x4::New(_x, _y, _z, _w);
}
@@ -144,7 +144,7 @@
uint32_t _y = a.y() > b.y() ? 0xFFFFFFFF : 0x0;
uint32_t _z = a.z() > b.z() ? 0xFFFFFFFF : 0x0;
uint32_t _w = a.w() > b.w() ? 0xFFFFFFFF : 0x0;
- return Uint32x4::New(_x, _y, _z, _w);
+ return Int32x4::New(_x, _y, _z, _w);
}
@@ -155,7 +155,7 @@
uint32_t _y = a.y() >= b.y() ? 0xFFFFFFFF : 0x0;
uint32_t _z = a.z() >= b.z() ? 0xFFFFFFFF : 0x0;
uint32_t _w = a.w() >= b.w() ? 0xFFFFFFFF : 0x0;
- return Uint32x4::New(_x, _y, _z, _w);
+ return Int32x4::New(_x, _y, _z, _w);
}
@@ -166,7 +166,7 @@
uint32_t _y = a.y() == b.y() ? 0xFFFFFFFF : 0x0;
uint32_t _z = a.z() == b.z() ? 0xFFFFFFFF : 0x0;
uint32_t _w = a.w() == b.w() ? 0xFFFFFFFF : 0x0;
- return Uint32x4::New(_x, _y, _z, _w);
+ return Int32x4::New(_x, _y, _z, _w);
}
@@ -177,7 +177,7 @@
uint32_t _y = a.y() != b.y() ? 0xFFFFFFFF : 0x0;
uint32_t _z = a.z() != b.z() ? 0xFFFFFFFF : 0x0;
uint32_t _w = a.w() != b.w() ? 0xFFFFFFFF : 0x0;
- return Uint32x4::New(_x, _y, _z, _w);
+ return Int32x4::New(_x, _y, _z, _w);
}
@@ -260,8 +260,8 @@
}
-DEFINE_NATIVE_ENTRY(Uint32x4_getSignMask, 1) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
+DEFINE_NATIVE_ENTRY(Int32x4_getSignMask, 1) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
uint32_t mx = (self.x() & 0x80000000) >> 31;
uint32_t my = (self.y() & 0x80000000) >> 31;
uint32_t mz = (self.z() & 0x80000000) >> 31;
@@ -399,311 +399,311 @@
}
-DEFINE_NATIVE_ENTRY(Uint32x4_fromInts, 5) {
+DEFINE_NATIVE_ENTRY(Int32x4_fromInts, 5) {
ASSERT(AbstractTypeArguments::CheckedHandle(
arguments->NativeArgAt(0)).IsNull());
GET_NON_NULL_NATIVE_ARGUMENT(Integer, x, arguments->NativeArgAt(1));
GET_NON_NULL_NATIVE_ARGUMENT(Integer, y, arguments->NativeArgAt(2));
GET_NON_NULL_NATIVE_ARGUMENT(Integer, z, arguments->NativeArgAt(3));
GET_NON_NULL_NATIVE_ARGUMENT(Integer, w, arguments->NativeArgAt(4));
- uint32_t _x = static_cast<uint32_t>(x.AsInt64Value() & 0xFFFFFFFF);
- uint32_t _y = static_cast<uint32_t>(y.AsInt64Value() & 0xFFFFFFFF);
- uint32_t _z = static_cast<uint32_t>(z.AsInt64Value() & 0xFFFFFFFF);
- uint32_t _w = static_cast<uint32_t>(w.AsInt64Value() & 0xFFFFFFFF);
- return Uint32x4::New(_x, _y, _z, _w);
+ int32_t _x = static_cast<int32_t>(x.AsInt64Value() & 0xFFFFFFFF);
+ int32_t _y = static_cast<int32_t>(y.AsInt64Value() & 0xFFFFFFFF);
+ int32_t _z = static_cast<int32_t>(z.AsInt64Value() & 0xFFFFFFFF);
+ int32_t _w = static_cast<int32_t>(w.AsInt64Value() & 0xFFFFFFFF);
+ return Int32x4::New(_x, _y, _z, _w);
}
-DEFINE_NATIVE_ENTRY(Uint32x4_fromBools, 5) {
+DEFINE_NATIVE_ENTRY(Int32x4_fromBools, 5) {
ASSERT(AbstractTypeArguments::CheckedHandle(
arguments->NativeArgAt(0)).IsNull());
GET_NON_NULL_NATIVE_ARGUMENT(Bool, x, arguments->NativeArgAt(1));
GET_NON_NULL_NATIVE_ARGUMENT(Bool, y, arguments->NativeArgAt(2));
GET_NON_NULL_NATIVE_ARGUMENT(Bool, z, arguments->NativeArgAt(3));
GET_NON_NULL_NATIVE_ARGUMENT(Bool, w, arguments->NativeArgAt(4));
- uint32_t _x = x.value() ? 0xFFFFFFFF : 0x0;
- uint32_t _y = y.value() ? 0xFFFFFFFF : 0x0;
- uint32_t _z = z.value() ? 0xFFFFFFFF : 0x0;
- uint32_t _w = w.value() ? 0xFFFFFFFF : 0x0;
- return Uint32x4::New(_x, _y, _z, _w);
+ int32_t _x = x.value() ? 0xFFFFFFFF : 0x0;
+ int32_t _y = y.value() ? 0xFFFFFFFF : 0x0;
+ int32_t _z = z.value() ? 0xFFFFFFFF : 0x0;
+ int32_t _w = w.value() ? 0xFFFFFFFF : 0x0;
+ return Int32x4::New(_x, _y, _z, _w);
}
-DEFINE_NATIVE_ENTRY(Uint32x4_fromFloat32x4Bits, 2) {
+DEFINE_NATIVE_ENTRY(Int32x4_fromFloat32x4Bits, 2) {
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, v, arguments->NativeArgAt(1));
- return Uint32x4::New(v.value());
+ return Int32x4::New(v.value());
}
-DEFINE_NATIVE_ENTRY(Uint32x4_or, 2) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, other, arguments->NativeArgAt(1));
- uint32_t _x = self.x() | other.x();
- uint32_t _y = self.y() | other.y();
- uint32_t _z = self.z() | other.z();
- uint32_t _w = self.w() | other.w();
- return Uint32x4::New(_x, _y, _z, _w);
+DEFINE_NATIVE_ENTRY(Int32x4_or, 2) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, other, arguments->NativeArgAt(1));
+ int32_t _x = self.x() | other.x();
+ int32_t _y = self.y() | other.y();
+ int32_t _z = self.z() | other.z();
+ int32_t _w = self.w() | other.w();
+ return Int32x4::New(_x, _y, _z, _w);
}
-DEFINE_NATIVE_ENTRY(Uint32x4_and, 2) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, other, arguments->NativeArgAt(1));
- uint32_t _x = self.x() & other.x();
- uint32_t _y = self.y() & other.y();
- uint32_t _z = self.z() & other.z();
- uint32_t _w = self.w() & other.w();
- return Uint32x4::New(_x, _y, _z, _w);
+DEFINE_NATIVE_ENTRY(Int32x4_and, 2) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, other, arguments->NativeArgAt(1));
+ int32_t _x = self.x() & other.x();
+ int32_t _y = self.y() & other.y();
+ int32_t _z = self.z() & other.z();
+ int32_t _w = self.w() & other.w();
+ return Int32x4::New(_x, _y, _z, _w);
}
-DEFINE_NATIVE_ENTRY(Uint32x4_xor, 2) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, other, arguments->NativeArgAt(1));
- uint32_t _x = self.x() ^ other.x();
- uint32_t _y = self.y() ^ other.y();
- uint32_t _z = self.z() ^ other.z();
- uint32_t _w = self.w() ^ other.w();
- return Uint32x4::New(_x, _y, _z, _w);
+DEFINE_NATIVE_ENTRY(Int32x4_xor, 2) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, other, arguments->NativeArgAt(1));
+ int32_t _x = self.x() ^ other.x();
+ int32_t _y = self.y() ^ other.y();
+ int32_t _z = self.z() ^ other.z();
+ int32_t _w = self.w() ^ other.w();
+ return Int32x4::New(_x, _y, _z, _w);
}
-DEFINE_NATIVE_ENTRY(Uint32x4_add, 2) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, other, arguments->NativeArgAt(1));
- uint32_t _x = self.x() + other.x();
- uint32_t _y = self.y() + other.y();
- uint32_t _z = self.z() + other.z();
- uint32_t _w = self.w() + other.w();
- return Uint32x4::New(_x, _y, _z, _w);
+DEFINE_NATIVE_ENTRY(Int32x4_add, 2) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, other, arguments->NativeArgAt(1));
+ int32_t _x = self.x() + other.x();
+ int32_t _y = self.y() + other.y();
+ int32_t _z = self.z() + other.z();
+ int32_t _w = self.w() + other.w();
+ return Int32x4::New(_x, _y, _z, _w);
}
-DEFINE_NATIVE_ENTRY(Uint32x4_sub, 2) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, other, arguments->NativeArgAt(1));
- uint32_t _x = self.x() - other.x();
- uint32_t _y = self.y() - other.y();
- uint32_t _z = self.z() - other.z();
- uint32_t _w = self.w() - other.w();
- return Uint32x4::New(_x, _y, _z, _w);
+DEFINE_NATIVE_ENTRY(Int32x4_sub, 2) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, other, arguments->NativeArgAt(1));
+ int32_t _x = self.x() - other.x();
+ int32_t _y = self.y() - other.y();
+ int32_t _z = self.z() - other.z();
+ int32_t _w = self.w() - other.w();
+ return Int32x4::New(_x, _y, _z, _w);
}
-DEFINE_NATIVE_ENTRY(Uint32x4_getX, 1) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
- uint32_t value = self.x();
+DEFINE_NATIVE_ENTRY(Int32x4_getX, 1) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
+ int32_t value = self.x();
return Integer::New(value);
}
-DEFINE_NATIVE_ENTRY(Uint32x4_getY, 1) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
- uint32_t value = self.y();
+DEFINE_NATIVE_ENTRY(Int32x4_getY, 1) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
+ int32_t value = self.y();
return Integer::New(value);
}
-DEFINE_NATIVE_ENTRY(Uint32x4_getZ, 1) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
- uint32_t value = self.z();
+DEFINE_NATIVE_ENTRY(Int32x4_getZ, 1) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
+ int32_t value = self.z();
return Integer::New(value);
}
-DEFINE_NATIVE_ENTRY(Uint32x4_getW, 1) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
- uint32_t value = self.w();
+DEFINE_NATIVE_ENTRY(Int32x4_getW, 1) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
+ int32_t value = self.w();
return Integer::New(value);
}
-DEFINE_NATIVE_ENTRY(Uint32x4_shuffle, 2) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
+DEFINE_NATIVE_ENTRY(Int32x4_shuffle, 2) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
GET_NON_NULL_NATIVE_ARGUMENT(Integer, mask, arguments->NativeArgAt(1));
int64_t m = mask.AsInt64Value();
ThrowMaskRangeException(m);
- uint32_t data[4] = { self.x(), self.y(), self.z(), self.w() };
- uint32_t _x = data[m & 0x3];
- uint32_t _y = data[(m >> 2) & 0x3];
- uint32_t _z = data[(m >> 4) & 0x3];
- uint32_t _w = data[(m >> 6) & 0x3];
- return Uint32x4::New(_x, _y, _z, _w);
+ int32_t data[4] = { self.x(), self.y(), self.z(), self.w() };
+ int32_t _x = data[m & 0x3];
+ int32_t _y = data[(m >> 2) & 0x3];
+ int32_t _z = data[(m >> 4) & 0x3];
+ int32_t _w = data[(m >> 6) & 0x3];
+ return Int32x4::New(_x, _y, _z, _w);
}
-DEFINE_NATIVE_ENTRY(Uint32x4_shuffleMix, 3) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, zw, arguments->NativeArgAt(1));
+DEFINE_NATIVE_ENTRY(Int32x4_shuffleMix, 3) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, zw, arguments->NativeArgAt(1));
GET_NON_NULL_NATIVE_ARGUMENT(Integer, mask, arguments->NativeArgAt(2));
int64_t m = mask.AsInt64Value();
ThrowMaskRangeException(m);
- uint32_t data[4] = { self.x(), self.y(), self.z(), self.w() };
- uint32_t zw_data[4] = { zw.x(), zw.y(), zw.z(), zw.w() };
- uint32_t _x = data[m & 0x3];
- uint32_t _y = data[(m >> 2) & 0x3];
- uint32_t _z = zw_data[(m >> 4) & 0x3];
- uint32_t _w = zw_data[(m >> 6) & 0x3];
- return Uint32x4::New(_x, _y, _z, _w);
+ int32_t data[4] = { self.x(), self.y(), self.z(), self.w() };
+ int32_t zw_data[4] = { zw.x(), zw.y(), zw.z(), zw.w() };
+ int32_t _x = data[m & 0x3];
+ int32_t _y = data[(m >> 2) & 0x3];
+ int32_t _z = zw_data[(m >> 4) & 0x3];
+ int32_t _w = zw_data[(m >> 6) & 0x3];
+ return Int32x4::New(_x, _y, _z, _w);
}
-DEFINE_NATIVE_ENTRY(Uint32x4_setX, 2) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
+DEFINE_NATIVE_ENTRY(Int32x4_setX, 2) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
GET_NON_NULL_NATIVE_ARGUMENT(Integer, x, arguments->NativeArgAt(1));
- uint32_t _x = static_cast<uint32_t>(x.AsInt64Value() & 0xFFFFFFFF);
- uint32_t _y = self.y();
- uint32_t _z = self.z();
- uint32_t _w = self.w();
- return Uint32x4::New(_x, _y, _z, _w);
+ int32_t _x = static_cast<int32_t>(x.AsInt64Value() & 0xFFFFFFFF);
+ int32_t _y = self.y();
+ int32_t _z = self.z();
+ int32_t _w = self.w();
+ return Int32x4::New(_x, _y, _z, _w);
}
-DEFINE_NATIVE_ENTRY(Uint32x4_setY, 2) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
+DEFINE_NATIVE_ENTRY(Int32x4_setY, 2) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
GET_NON_NULL_NATIVE_ARGUMENT(Integer, y, arguments->NativeArgAt(1));
- uint32_t _x = self.x();
- uint32_t _y = static_cast<uint32_t>(y.AsInt64Value() & 0xFFFFFFFF);
- uint32_t _z = self.z();
- uint32_t _w = self.w();
- return Uint32x4::New(_x, _y, _z, _w);
+ int32_t _x = self.x();
+ int32_t _y = static_cast<int32_t>(y.AsInt64Value() & 0xFFFFFFFF);
+ int32_t _z = self.z();
+ int32_t _w = self.w();
+ return Int32x4::New(_x, _y, _z, _w);
}
-DEFINE_NATIVE_ENTRY(Uint32x4_setZ, 2) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
+DEFINE_NATIVE_ENTRY(Int32x4_setZ, 2) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
GET_NON_NULL_NATIVE_ARGUMENT(Integer, z, arguments->NativeArgAt(1));
- uint32_t _x = self.x();
- uint32_t _y = self.y();
- uint32_t _z = static_cast<uint32_t>(z.AsInt64Value() & 0xFFFFFFFF);
- uint32_t _w = self.w();
- return Uint32x4::New(_x, _y, _z, _w);
+ int32_t _x = self.x();
+ int32_t _y = self.y();
+ int32_t _z = static_cast<int32_t>(z.AsInt64Value() & 0xFFFFFFFF);
+ int32_t _w = self.w();
+ return Int32x4::New(_x, _y, _z, _w);
}
-DEFINE_NATIVE_ENTRY(Uint32x4_setW, 2) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
+DEFINE_NATIVE_ENTRY(Int32x4_setW, 2) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
GET_NON_NULL_NATIVE_ARGUMENT(Integer, w, arguments->NativeArgAt(1));
- uint32_t _x = self.x();
- uint32_t _y = self.y();
- uint32_t _z = self.z();
- uint32_t _w = static_cast<uint32_t>(w.AsInt64Value() & 0xFFFFFFFF);
- return Uint32x4::New(_x, _y, _z, _w);
+ int32_t _x = self.x();
+ int32_t _y = self.y();
+ int32_t _z = self.z();
+ int32_t _w = static_cast<int32_t>(w.AsInt64Value() & 0xFFFFFFFF);
+ return Int32x4::New(_x, _y, _z, _w);
}
-DEFINE_NATIVE_ENTRY(Uint32x4_getFlagX, 1) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
- uint32_t value = self.x();
+DEFINE_NATIVE_ENTRY(Int32x4_getFlagX, 1) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
+ int32_t value = self.x();
return Bool::Get(value != 0).raw();
}
-DEFINE_NATIVE_ENTRY(Uint32x4_getFlagY, 1) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
- uint32_t value = self.y();
+DEFINE_NATIVE_ENTRY(Int32x4_getFlagY, 1) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
+ int32_t value = self.y();
return Bool::Get(value != 0).raw();
}
-DEFINE_NATIVE_ENTRY(Uint32x4_getFlagZ, 1) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
- uint32_t value = self.z();
+DEFINE_NATIVE_ENTRY(Int32x4_getFlagZ, 1) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
+ int32_t value = self.z();
return Bool::Get(value != 0).raw();
}
-DEFINE_NATIVE_ENTRY(Uint32x4_getFlagW, 1) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
- uint32_t value = self.w();
+DEFINE_NATIVE_ENTRY(Int32x4_getFlagW, 1) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
+ int32_t value = self.w();
return Bool::Get(value != 0).raw();
}
-DEFINE_NATIVE_ENTRY(Uint32x4_setFlagX, 2) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
+DEFINE_NATIVE_ENTRY(Int32x4_setFlagX, 2) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
GET_NON_NULL_NATIVE_ARGUMENT(Bool, flagX, arguments->NativeArgAt(1));
- uint32_t _x = self.x();
- uint32_t _y = self.y();
- uint32_t _z = self.z();
- uint32_t _w = self.w();
+ int32_t _x = self.x();
+ int32_t _y = self.y();
+ int32_t _z = self.z();
+ int32_t _w = self.w();
_x = flagX.raw() == Bool::True().raw() ? 0xFFFFFFFF : 0x0;
- return Uint32x4::New(_x, _y, _z, _w);
+ return Int32x4::New(_x, _y, _z, _w);
}
-DEFINE_NATIVE_ENTRY(Uint32x4_setFlagY, 2) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
+DEFINE_NATIVE_ENTRY(Int32x4_setFlagY, 2) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
GET_NON_NULL_NATIVE_ARGUMENT(Bool, flagY, arguments->NativeArgAt(1));
- uint32_t _x = self.x();
- uint32_t _y = self.y();
- uint32_t _z = self.z();
- uint32_t _w = self.w();
+ int32_t _x = self.x();
+ int32_t _y = self.y();
+ int32_t _z = self.z();
+ int32_t _w = self.w();
_y = flagY.raw() == Bool::True().raw() ? 0xFFFFFFFF : 0x0;
- return Uint32x4::New(_x, _y, _z, _w);
+ return Int32x4::New(_x, _y, _z, _w);
}
-DEFINE_NATIVE_ENTRY(Uint32x4_setFlagZ, 2) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
+DEFINE_NATIVE_ENTRY(Int32x4_setFlagZ, 2) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
GET_NON_NULL_NATIVE_ARGUMENT(Bool, flagZ, arguments->NativeArgAt(1));
- uint32_t _x = self.x();
- uint32_t _y = self.y();
- uint32_t _z = self.z();
- uint32_t _w = self.w();
+ int32_t _x = self.x();
+ int32_t _y = self.y();
+ int32_t _z = self.z();
+ int32_t _w = self.w();
_z = flagZ.raw() == Bool::True().raw() ? 0xFFFFFFFF : 0x0;
- return Uint32x4::New(_x, _y, _z, _w);
+ return Int32x4::New(_x, _y, _z, _w);
}
-DEFINE_NATIVE_ENTRY(Uint32x4_setFlagW, 2) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
+DEFINE_NATIVE_ENTRY(Int32x4_setFlagW, 2) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
GET_NON_NULL_NATIVE_ARGUMENT(Bool, flagW, arguments->NativeArgAt(1));
- uint32_t _x = self.x();
- uint32_t _y = self.y();
- uint32_t _z = self.z();
- uint32_t _w = self.w();
+ int32_t _x = self.x();
+ int32_t _y = self.y();
+ int32_t _z = self.z();
+ int32_t _w = self.w();
_w = flagW.raw() == Bool::True().raw() ? 0xFFFFFFFF : 0x0;
- return Uint32x4::New(_x, _y, _z, _w);
+ return Int32x4::New(_x, _y, _z, _w);
}
-// Used to convert between uint32_t and float32 without breaking strict
+// Used to convert between int32_t and float32 without breaking strict
// aliasing rules.
-union float32_uint32 {
+union float32_int32 {
float f;
- uint32_t u;
- float32_uint32(float v) {
+ int32_t u;
+ float32_int32(float v) {
f = v;
}
- float32_uint32(uint32_t v) {
+ float32_int32(int32_t v) {
u = v;
}
};
-DEFINE_NATIVE_ENTRY(Uint32x4_select, 3) {
- GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
+DEFINE_NATIVE_ENTRY(Int32x4_select, 3) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0));
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, tv, arguments->NativeArgAt(1));
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, fv, arguments->NativeArgAt(2));
- uint32_t _maskX = self.x();
- uint32_t _maskY = self.y();
- uint32_t _maskZ = self.z();
- uint32_t _maskW = self.w();
+ int32_t _maskX = self.x();
+ int32_t _maskY = self.y();
+ int32_t _maskZ = self.z();
+ int32_t _maskW = self.w();
// Extract floats and interpret them as masks.
- float32_uint32 tvx(tv.x());
- float32_uint32 tvy(tv.y());
- float32_uint32 tvz(tv.z());
- float32_uint32 tvw(tv.w());
- float32_uint32 fvx(fv.x());
- float32_uint32 fvy(fv.y());
- float32_uint32 fvz(fv.z());
- float32_uint32 fvw(fv.w());
+ float32_int32 tvx(tv.x());
+ float32_int32 tvy(tv.y());
+ float32_int32 tvz(tv.z());
+ float32_int32 tvw(tv.w());
+ float32_int32 fvx(fv.x());
+ float32_int32 fvy(fv.y());
+ float32_int32 fvz(fv.z());
+ float32_int32 fvw(fv.w());
// Perform select.
- float32_uint32 tempX((_maskX & tvx.u) | (~_maskX & fvx.u));
- float32_uint32 tempY((_maskY & tvy.u) | (~_maskY & fvy.u));
- float32_uint32 tempZ((_maskZ & tvz.u) | (~_maskZ & fvz.u));
- float32_uint32 tempW((_maskW & tvw.u) | (~_maskW & fvw.u));
+ float32_int32 tempX((_maskX & tvx.u) | (~_maskX & fvx.u));
+ float32_int32 tempY((_maskY & tvy.u) | (~_maskY & fvy.u));
+ float32_int32 tempZ((_maskZ & tvz.u) | (~_maskZ & fvz.u));
+ float32_int32 tempW((_maskW & tvw.u) | (~_maskW & fvw.u));
return Float32x4::New(tempX.f, tempY.f, tempZ.f, tempW.f);
}
« no previous file with comments | « dart/runtime/lib/mirrors_impl.dart ('k') | dart/runtime/lib/string_patch.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698