| Index: src/code-stubs.cc
|
| diff --git a/src/code-stubs.cc b/src/code-stubs.cc
|
| index 7c2c362d3f0253c8f68169e21a15a50ca3aac7b1..ac65e99114aed8067d97d5e0de4de4a88f75a85e 100644
|
| --- a/src/code-stubs.cc
|
| +++ b/src/code-stubs.cc
|
| @@ -947,6 +947,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_TYPE)) p.Add("SimdType");
|
| return os << ")";
|
| }
|
|
|
| @@ -979,6 +980,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_TYPE);
|
| + return true;
|
| } else {
|
| // We should never see an internal object at runtime here!
|
| UNREACHABLE();
|
| @@ -988,10 +992,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_TYPE);
|
| }
|
|
|
|
|
|
|