Changeset 162738 in webkit for trunk/Source/JavaScriptCore/runtime/Structure.cpp
- Timestamp:
- Jan 24, 2014, 4:52:21 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/runtime/Structure.cpp
r162713 r162738 166 166 , m_dictionaryKind(NoneDictionaryKind) 167 167 , m_isPinnedPropertyTable(false) 168 , m_hasGetterSetterProperties( classInfo->hasStaticSetterOrReadonlyProperties(vm))169 , m_hasReadOnlyOrGetterSetterPropertiesExcludingProto( classInfo->hasStaticSetterOrReadonlyProperties(vm))168 , m_hasGetterSetterProperties(false) 169 , m_hasReadOnlyOrGetterSetterPropertiesExcludingProto(false) 170 170 , m_hasNonEnumerableProperties(false) 171 171 , m_attributesInPrevious(0) … … 178 178 ASSERT(static_cast<PropertyOffset>(inlineCapacity) < firstOutOfLineOffset); 179 179 ASSERT(!typeInfo.structureHasRareData()); 180 ASSERT(hasReadOnlyOrGetterSetterPropertiesExcludingProto() || !m_classInfo->hasStaticSetterOrReadonlyProperties(vm));181 ASSERT(hasGetterSetterProperties() || !m_classInfo->hasStaticSetterOrReadonlyProperties(vm));182 180 } 183 181 … … 195 193 , m_dictionaryKind(NoneDictionaryKind) 196 194 , m_isPinnedPropertyTable(false) 197 , m_hasGetterSetterProperties( m_classInfo->hasStaticSetterOrReadonlyProperties(vm))198 , m_hasReadOnlyOrGetterSetterPropertiesExcludingProto( m_classInfo->hasStaticSetterOrReadonlyProperties(vm))195 , m_hasGetterSetterProperties(false) 196 , m_hasReadOnlyOrGetterSetterPropertiesExcludingProto(false) 199 197 , m_hasNonEnumerableProperties(false) 200 198 , m_attributesInPrevious(0) … … 204 202 , m_staticFunctionReified(false) 205 203 { 206 ASSERT(hasReadOnlyOrGetterSetterPropertiesExcludingProto() || !m_classInfo->hasStaticSetterOrReadonlyProperties(vm));207 ASSERT(hasGetterSetterProperties() || !m_classInfo->hasStaticSetterOrReadonlyProperties(vm));208 204 } 209 205 … … 236 232 if (previous->m_globalObject) 237 233 m_globalObject.set(vm, this, previous->m_globalObject.get()); 238 ASSERT(hasReadOnlyOrGetterSetterPropertiesExcludingProto() || !m_classInfo->hasStaticSetterOrReadonlyProperties(vm));239 ASSERT(hasGetterSetterProperties() || !m_classInfo->hasStaticSetterOrReadonlyProperties(vm));240 234 } 241 235 … … 572 566 } 573 567 574 ASSERT(transition->hasReadOnlyOrGetterSetterPropertiesExcludingProto() || !transition->classInfo()->hasStaticSetterOrReadonlyProperties(vm));575 ASSERT(transition->hasGetterSetterProperties() || !transition->classInfo()->hasStaticSetterOrReadonlyProperties(vm));576 568 transition->checkOffsetConsistency(); 577 569 return transition; … … 1165 1157 #endif // DO_PROPERTYMAP_CONSTENCY_CHECK 1166 1158 1167 bool ClassInfo::hasStaticSetterOrReadonlyProperties(VM& vm) const1168 {1169 for (const ClassInfo* ci = this; ci; ci = ci->parentClass) {1170 if (const HashTable* table = ci->propHashTable(vm)) {1171 if (table->hasSetterOrReadonlyProperties)1172 return true;1173 }1174 }1175 return false;1176 }1177 1178 1159 } // namespace JSC
Note:
See TracChangeset
for help on using the changeset viewer.