Index: src/objects-inl.h |
diff --git a/src/objects-inl.h b/src/objects-inl.h |
index 85584c43e400f44eabb37ac66f96470efbbb72c2..0288bfb81b7e54558da93d22665009a8c30f7d1e 100644 |
--- a/src/objects-inl.h |
+++ b/src/objects-inl.h |
@@ -1886,8 +1886,9 @@ Handle<Map> Map::FindTransitionToField(Handle<Map> map, Handle<Name> key) { |
TransitionArray* transitions = map->transitions(); |
int transition = transitions->Search(FIELD, *key, NONE); |
if (transition == TransitionArray::kNotFound) return Handle<Map>::null(); |
- DCHECK_EQ(FIELD, transitions->GetTargetDetails(transition).type()); |
- DCHECK_EQ(NONE, transitions->GetTargetDetails(transition).attributes()); |
+ PropertyDetails details = transitions->GetTargetDetails(transition); |
+ if (details.type() != FIELD) return Handle<Map>::null(); |
+ DCHECK_EQ(NONE, details.attributes()); |
return Handle<Map>(transitions->GetTarget(transition)); |
} |