Chromium Code Reviews| Index: src/code-stubs.cc |
| diff --git a/src/code-stubs.cc b/src/code-stubs.cc |
| index d79d2f458a1620f86478a13827bd7888be2bae97..849ae639b443c63b906f7294586f5f9e17191afc 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_TYPE)) p.Add("SimdType"); |
|
rossberg
2015/07/02 13:35:43
Nit: "Simd"
bbudge
2015/07/06 23:59:04
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_TYPE); |
| + 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_TYPE); |
| } |