Index: src/hydrogen.cc |
diff --git a/src/hydrogen.cc b/src/hydrogen.cc |
index 57fd079d13eada739da5bf06d2005b636563b46e..0f18e79486f5987591a37808e86f41fe94f54f9a 100644 |
--- a/src/hydrogen.cc |
+++ b/src/hydrogen.cc |
@@ -3432,6 +3432,8 @@ class BoundsCheckKey : public ZoneObject { |
static BoundsCheckKey* Create(Zone* zone, |
HBoundsCheck* check, |
int32_t* offset) { |
+ if (!check->index()->representation().IsInteger32()) return NULL; |
+ |
HValue* index_base = NULL; |
HConstant* constant = NULL; |
bool is_sub = false; |
@@ -3682,6 +3684,7 @@ void HGraph::EliminateRedundantBoundsChecks(HBasicBlock* bb, |
int32_t offset; |
BoundsCheckKey* key = |
BoundsCheckKey::Create(zone(), check, &offset); |
+ if (key == NULL) continue; |
BoundsCheckBbData** data_p = table->LookupOrInsert(key, zone()); |
BoundsCheckBbData* data = *data_p; |
if (data == NULL) { |