| Index: src/code-stubs.cc
|
| diff --git a/src/code-stubs.cc b/src/code-stubs.cc
|
| index bcc1fe88014d9bcd52a61df4bef62c1131e497a7..4ae02c5c697055609add9fafc54e953e25652503 100644
|
| --- a/src/code-stubs.cc
|
| +++ b/src/code-stubs.cc
|
| @@ -950,6 +950,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 << ")";
|
| }
|
|
|
| @@ -982,6 +983,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();
|
| @@ -991,10 +995,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);
|
| }
|
|
|
|
|
|
|