Index: src/lookup.cc |
diff --git a/src/lookup.cc b/src/lookup.cc |
index 809fd0eb2ef58a3bc292867135784c569b6bebdc..85745ce3e573321ac29feebd0a8b14c9a02b9341 100644 |
--- a/src/lookup.cc |
+++ b/src/lookup.cc |
@@ -142,7 +142,9 @@ void LookupIterator::PrepareTransitionToDataProperty( |
Handle<Object> value, PropertyAttributes attributes, |
Object::StoreFromKeyed store_mode) { |
if (state_ == TRANSITION) return; |
- DCHECK_NE(LookupIterator::ACCESSOR, state_); |
+ DCHECK(state_ != LookupIterator::ACCESSOR || |
+ (GetAccessors()->IsAccessorInfo() && |
+ AccessorInfo::cast(*GetAccessors())->is_special_data_property())); |
DCHECK_NE(LookupIterator::INTEGER_INDEXED_EXOTIC, state_); |
DCHECK(state_ == NOT_FOUND || !HolderIsReceiverOrHiddenPrototype()); |
// Can only be called when the receiver is a JSObject. JSProxy has to be |