Index: src/hydrogen-instructions.cc |
diff --git a/src/hydrogen-instructions.cc b/src/hydrogen-instructions.cc |
index e28b9efd8f3bf8a2957b0172e0cba537879ddda1..50f2f6df6c8572171eb1c2129c4a6b75ecb98038 100644 |
--- a/src/hydrogen-instructions.cc |
+++ b/src/hydrogen-instructions.cc |
@@ -784,6 +784,21 @@ void HChange::PrintDataTo(StringStream* stream) { |
} |
+HValue* HCheckInstanceType::Canonicalize() { |
+ if (check_ == IS_STRING && |
+ !value()->type().IsUninitialized() && |
+ value()->type().IsString()) { |
+ return NULL; |
+ } |
+ if (check_ == IS_SYMBOL && |
+ value()->IsConstant() && |
+ HConstant::cast(value())->handle()->IsSymbol()) { |
+ return NULL; |
+ } |
+ return this; |
+} |
+ |
+ |
void HCheckInstanceType::GetCheckInterval(InstanceType* first, |
InstanceType* last) { |
ASSERT(is_interval_check()); |