| Index: src/code-stubs.cc
|
| diff --git a/src/code-stubs.cc b/src/code-stubs.cc
|
| index d79d2f458a1620f86478a13827bd7888be2bae97..ab6fefca04f0f5426bce5b97ea233146e4d49f47 100644
|
| --- a/src/code-stubs.cc
|
| +++ b/src/code-stubs.cc
|
| @@ -948,6 +948,7 @@ std::ostream& operator<<(std::ostream& os, const ToBooleanStub::Types& s) {
|
| if (s.Contains(ToBooleanStub::STRING)) p.Add("String");
|
| if (s.Contains(ToBooleanStub::SYMBOL)) p.Add("Symbol");
|
| if (s.Contains(ToBooleanStub::HEAP_NUMBER)) p.Add("HeapNumber");
|
| + if (s.Contains(ToBooleanStub::SIMD_VALUE)) p.Add("SimdValue");
|
| return os << ")";
|
| }
|
|
|
| @@ -980,6 +981,9 @@ bool ToBooleanStub::Types::UpdateStatus(Handle<Object> object) {
|
| Add(HEAP_NUMBER);
|
| double value = HeapNumber::cast(*object)->value();
|
| return value != 0 && !std::isnan(value);
|
| + } else if (object->IsFloat32x4()) {
|
| + Add(SIMD_VALUE);
|
| + return true;
|
| } else {
|
| // We should never see an internal object at runtime here!
|
| UNREACHABLE();
|
| @@ -989,10 +993,10 @@ bool ToBooleanStub::Types::UpdateStatus(Handle<Object> object) {
|
|
|
|
|
| bool ToBooleanStub::Types::NeedsMap() const {
|
| - return Contains(ToBooleanStub::SPEC_OBJECT)
|
| - || Contains(ToBooleanStub::STRING)
|
| - || Contains(ToBooleanStub::SYMBOL)
|
| - || Contains(ToBooleanStub::HEAP_NUMBER);
|
| + return Contains(ToBooleanStub::SPEC_OBJECT) ||
|
| + Contains(ToBooleanStub::STRING) || Contains(ToBooleanStub::SYMBOL) ||
|
| + Contains(ToBooleanStub::HEAP_NUMBER) ||
|
| + Contains(ToBooleanStub::SIMD_VALUE);
|
| }
|
|
|
|
|
|
|