Index: src/hydrogen.cc |
diff --git a/src/hydrogen.cc b/src/hydrogen.cc |
index 0897aad305be9f08bb1771b3612dfc94388c1c3b..03a4f38aa2db63a57833df4c3921e86e39afaac3 100644 |
--- a/src/hydrogen.cc |
+++ b/src/hydrogen.cc |
@@ -5846,7 +5846,8 @@ HInstruction* HGraphBuilder::BuildUncheckedMonomorphicElementAccess( |
HInstruction* checked_key = NULL; |
if (map->has_external_array_elements()) { |
length = AddInstruction(new(zone()) HFixedArrayBaseLength(elements)); |
- checked_key = AddInstruction(new(zone()) HBoundsCheck(key, length)); |
+ checked_key = AddInstruction(new(zone()) HBoundsCheck(key, length, |
+ ALLOW_SMI_KEY)); |
HLoadExternalArrayPointer* external_elements = |
new(zone()) HLoadExternalArrayPointer(elements); |
AddInstruction(external_elements); |
@@ -6079,7 +6080,8 @@ HValue* HGraphBuilder::HandlePolymorphicElementAccess(HValue* object, |
HInstruction* length; |
length = AddInstruction(new(zone()) HJSArrayLength(object, typecheck, |
HType::Smi())); |
- checked_key = AddInstruction(new(zone()) HBoundsCheck(key, length)); |
+ checked_key = AddInstruction(new(zone()) HBoundsCheck(key, length, |
+ ALLOW_SMI_KEY)); |
access = AddInstruction(BuildFastElementAccess( |
elements, checked_key, val, elements_kind, is_store)); |
if (!is_store) { |
@@ -6094,7 +6096,8 @@ HValue* HGraphBuilder::HandlePolymorphicElementAccess(HValue* object, |
set_current_block(if_fastobject); |
length = AddInstruction(new(zone()) HFixedArrayBaseLength(elements)); |
- checked_key = AddInstruction(new(zone()) HBoundsCheck(key, length)); |
+ checked_key = AddInstruction(new(zone()) HBoundsCheck(key, length, |
+ ALLOW_SMI_KEY)); |
access = AddInstruction(BuildFastElementAccess( |
elements, checked_key, val, elements_kind, is_store)); |
} else if (elements_kind == DICTIONARY_ELEMENTS) { |