Index: src/ic.cc |
diff --git a/src/ic.cc b/src/ic.cc |
index 4361ba2ee0b80e02a11391b76ad25887b1064fcd..eb845347c4b0e76e3ff12ffb9a1d5fe0c20e6cdd 100644 |
--- a/src/ic.cc |
+++ b/src/ic.cc |
@@ -1206,10 +1206,12 @@ void KeyedLoadIC::UpdateCaches(LookupResult* lookup, |
static bool StoreICableLookup(LookupResult* lookup) { |
// Bail out if we didn't find a result. |
- if (!lookup->IsPropertyOrTransition() || !lookup->IsCacheable()) return false; |
+ if (!lookup->IsFound() || lookup->type() == NULL_DESCRIPTOR) return false; |
- // If the property is read-only, we leave the IC in its current |
- // state. |
+ // Bail out if inline caching is not allowed. |
+ if (!lookup->IsCacheable()) return false; |
+ |
+ // If the property is read-only, we leave the IC in its current state. |
if (lookup->IsReadOnly()) return false; |
return true; |