Index: src/hydrogen.cc |
diff --git a/src/hydrogen.cc b/src/hydrogen.cc |
index 14ac329575680c20e6cbac81e6298a9f6ef914da..956328f595f6bc4a4b0163b358d64ad3356cd725 100644 |
--- a/src/hydrogen.cc |
+++ b/src/hydrogen.cc |
@@ -5792,13 +5792,16 @@ HValue* HOptimizedGraphBuilder::HandleKeyedElementAccess( |
expr->GetStoreMode(), has_side_effects); |
} else { |
if (is_store) { |
- if (expr->IsAssignment() && expr->AsAssignment()->IsUninitialized()) { |
+ if (expr->IsAssignment() && |
+ (expr->AsAssignment()->IsUninitialized() || |
danno
2013/10/21 11:51:40
Could you turn the check for both IsUnitialized or
Hannes Payer (out of office)
2013/10/21 12:06:54
Done.
|
+ expr->AsAssignment()->IsPreMonomorphic())) { |
Add<HDeoptimize>("Insufficient type feedback for keyed store", |
Deoptimizer::SOFT); |
} |
instr = BuildStoreKeyedGeneric(obj, key, val); |
} else { |
- if (expr->AsProperty()->IsUninitialized()) { |
+ if (expr->AsProperty()->IsUninitialized() || |
+ expr->AsProperty()->IsPreMonomorphic()) { |
Add<HDeoptimize>("Insufficient type feedback for keyed load", |
Deoptimizer::SOFT); |
} |