Index: src/crankshaft/hydrogen-instructions.cc |
diff --git a/src/crankshaft/hydrogen-instructions.cc b/src/crankshaft/hydrogen-instructions.cc |
index 719a6cb07c77149166496395b04de057a6a9b787..26bbf2fcd374a2914446acd2c547b8e963c5d7b7 100644 |
--- a/src/crankshaft/hydrogen-instructions.cc |
+++ b/src/crankshaft/hydrogen-instructions.cc |
@@ -1072,9 +1072,9 @@ |
Representation HBranch::observed_input_representation(int index) { |
- if (expected_input_types_ & |
- (ToBooleanHint::kNull | ToBooleanHint::kReceiver | |
- ToBooleanHint::kString | ToBooleanHint::kSymbol)) { |
+ if (expected_input_types_ & (ToBooleanHint::kNull | ToBooleanHint::kReceiver | |
+ ToBooleanHint::kString | ToBooleanHint::kSymbol | |
+ ToBooleanHint::kSimdValue)) { |
return Representation::Tagged(); |
} |
if (expected_input_types_ & ToBooleanHint::kUndefined) { |
@@ -1244,6 +1244,17 @@ |
} |
case SYMBOL_TYPE: |
return heap->symbol_string(); |
+ case SIMD128_VALUE_TYPE: { |
+ Unique<Map> map = constant->ObjectMap(); |
+#define SIMD128_TYPE(TYPE, Type, type, lane_count, lane_type) \ |
+ if (map.IsKnownGlobal(heap->type##_map())) { \ |
+ return heap->type##_string(); \ |
+ } |
+ SIMD128_TYPES(SIMD128_TYPE) |
+#undef SIMD128_TYPE |
+ UNREACHABLE(); |
+ return nullptr; |
+ } |
default: |
if (constant->IsUndetectable()) return heap->undefined_string(); |
if (constant->IsCallable()) return heap->function_string(); |