зеркало из https://github.com/mozilla/gecko-dev.git
Bug 993034: SIMD - Rename toType2 into toType and make it fallible; r=nmatsakis
This commit is contained in:
Родитель
1f21cde212
Коммит
0f4e401171
|
@ -609,7 +609,8 @@ FuncWith(JSContext *cx, unsigned argc, Value *vp)
|
|||
for (int32_t i = 0; i < Vret::lanes; i++) {
|
||||
if(args[1].isNumber()) {
|
||||
typename Vret::Elem arg1;
|
||||
Vret::toType2(cx, args[1], &arg1);
|
||||
if (!Vret::toType(cx, args[1], &arg1))
|
||||
return false;
|
||||
result[i] = OpWith::apply(i, arg1, val[i]);
|
||||
} else if (args[1].isBoolean()) {
|
||||
result[i] = OpWith::apply(i, args[1].toBoolean(), val[i]);
|
||||
|
@ -643,7 +644,8 @@ FuncShuffle(JSContext *cx, unsigned argc, Value *vp)
|
|||
typename Vret::Elem result[Vret::lanes];
|
||||
for (int32_t i = 0; i < Vret::lanes; i++) {
|
||||
typename Vret::Elem arg1;
|
||||
Vret::toType2(cx, args[1], &arg1);
|
||||
if (!Vret::toType(cx, args[1], &arg1))
|
||||
return false;
|
||||
result[i] = val[OpShuffle::apply(i * 2, arg1)];
|
||||
}
|
||||
RootedObject obj(cx, Create<Vret>(cx, result));
|
||||
|
@ -669,7 +671,8 @@ FuncShuffle(JSContext *cx, unsigned argc, Value *vp)
|
|||
typename Vret::Elem result[Vret::lanes];
|
||||
for (int32_t i = 0; i < Vret::lanes; i++) {
|
||||
typename Vret::Elem arg2;
|
||||
Vret::toType2(cx, args[2], &arg2);
|
||||
if (!Vret::toType(cx, args[2], &arg2))
|
||||
return false;
|
||||
if(i < Vret::lanes / 2) {
|
||||
result[i] = val1[OpShuffle::apply(i * 2, arg2)];
|
||||
} else {
|
||||
|
@ -774,7 +777,8 @@ FuncSplat(JSContext *cx, unsigned argc, Value *vp)
|
|||
typename Vret::Elem result[Vret::lanes];
|
||||
for (int32_t i = 0; i < Vret::lanes; i++) {
|
||||
typename Vret::Elem arg0;
|
||||
Vret::toType2(cx, args[0], &arg0);
|
||||
if (!Vret::toType(cx, args[0], &arg0))
|
||||
return false;
|
||||
result[i] = static_cast<typename Vret::Elem>(arg0);
|
||||
}
|
||||
|
||||
|
|
|
@ -126,10 +126,11 @@ struct Float32x4 {
|
|||
static Elem toType(Elem a) {
|
||||
return a;
|
||||
}
|
||||
static void toType2(JSContext *cx, JS::Handle<JS::Value> v, Elem *out) {
|
||||
static bool toType(JSContext *cx, JS::HandleValue v, Elem *out) {
|
||||
*out = v.toNumber();
|
||||
return true;
|
||||
}
|
||||
static void setReturn(CallArgs &args, float value) {
|
||||
static void setReturn(CallArgs &args, Elem value) {
|
||||
args.rval().setDouble(JS::CanonicalizeNaN(value));
|
||||
}
|
||||
};
|
||||
|
@ -146,10 +147,10 @@ struct Int32x4 {
|
|||
static Elem toType(Elem a) {
|
||||
return ToInt32(a);
|
||||
}
|
||||
static void toType2(JSContext *cx, JS::Handle<JS::Value> v, Elem *out) {
|
||||
ToInt32(cx,v,out);
|
||||
static bool toType(JSContext *cx, JS::HandleValue v, Elem *out) {
|
||||
return ToInt32(cx, v, out);
|
||||
}
|
||||
static void setReturn(CallArgs &args, int32_t value) {
|
||||
static void setReturn(CallArgs &args, Elem value) {
|
||||
args.rval().setInt32(value);
|
||||
}
|
||||
};
|
||||
|
|
Загрузка…
Ссылка в новой задаче