Bug 1411415.

This commit is contained in:
wolfbeast 2018-04-29 13:39:11 +02:00 committed by Roy Tam
commit 66bf4fa8f9
10 changed files with 91 additions and 33 deletions

View file

@ -857,7 +857,7 @@ class NumLit
private:
Which which_;
union {
Value scalar_;
JS::UninitializedValue scalar_;
SimdConstant simd_;
} u;
@ -880,7 +880,7 @@ class NumLit
int32_t toInt32() const {
MOZ_ASSERT(which_ == Fixnum || which_ == NegativeInt || which_ == BigUnsigned);
return u.scalar_.toInt32();
return u.scalar_.asValueRef().toInt32();
}
uint32_t toUint32() const {
@ -889,17 +889,17 @@ class NumLit
RawF64 toDouble() const {
MOZ_ASSERT(which_ == Double);
return RawF64(u.scalar_.toDouble());
return RawF64(u.scalar_.asValueRef().toDouble());
}
RawF32 toFloat() const {
MOZ_ASSERT(which_ == Float);
return RawF32(float(u.scalar_.toDouble()));
return RawF32(float(u.scalar_.asValueRef().toDouble()));
}
Value scalarValue() const {
MOZ_ASSERT(which_ != OutOfRangeInt);
return u.scalar_;
return u.scalar_.asValueRef();
}
bool isSimd() const