Changeset 131982 in webkit for trunk/Source/JavaScriptCore/dfg/DFGArrayMode.cpp
- Timestamp:
- Oct 19, 2012, 11:53:04 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/dfg/DFGArrayMode.cpp
r131289 r131982 168 168 case Array::PossiblyArrayWithContiguousToTail: 169 169 case Array::PossiblyArrayWithContiguousOutOfBounds: 170 case Array::ToContiguous: 171 if (arrayModesAlreadyChecked(value.m_arrayModes, asArrayModes(NonArrayWithContiguous) | asArrayModes(ArrayWithContiguous))) 172 return true; 170 173 return value.m_currentKnownStructure.hasSingleton() 171 174 && hasContiguous(value.m_currentKnownStructure.singleton()->indexingType()); … … 174 177 case Array::ArrayWithContiguousToTail: 175 178 case Array::ArrayWithContiguousOutOfBounds: 179 if (arrayModesAlreadyChecked(value.m_arrayModes, asArrayModes(ArrayWithContiguous))) 180 return true; 176 181 return value.m_currentKnownStructure.hasSingleton() 177 182 && hasContiguous(value.m_currentKnownStructure.singleton()->indexingType()) … … 184 189 case Array::PossiblyArrayWithArrayStorageToHole: 185 190 case Array::PossiblyArrayWithArrayStorageOutOfBounds: 191 case Array::ToArrayStorage: 192 case Array::PossiblyArrayToArrayStorage: 193 if (arrayModesAlreadyChecked(value.m_arrayModes, asArrayModes(NonArrayWithArrayStorage) | asArrayModes(ArrayWithArrayStorage))) 194 return true; 186 195 return value.m_currentKnownStructure.hasSingleton() 187 196 && hasFastArrayStorage(value.m_currentKnownStructure.singleton()->indexingType()); … … 189 198 case Array::SlowPutArrayStorage: 190 199 case Array::PossiblyArrayWithSlowPutArrayStorage: 200 case Array::ToSlowPutArrayStorage: 201 if (arrayModesAlreadyChecked(value.m_arrayModes, asArrayModes(NonArrayWithArrayStorage) | asArrayModes(ArrayWithArrayStorage) | asArrayModes(NonArrayWithSlowPutArrayStorage) | asArrayModes(ArrayWithSlowPutArrayStorage))) 202 return true; 191 203 return value.m_currentKnownStructure.hasSingleton() 192 204 && hasArrayStorage(value.m_currentKnownStructure.singleton()->indexingType()); … … 195 207 case Array::ArrayWithArrayStorageToHole: 196 208 case Array::ArrayWithArrayStorageOutOfBounds: 209 case Array::ArrayToArrayStorage: 210 if (arrayModesAlreadyChecked(value.m_arrayModes, asArrayModes(ArrayWithArrayStorage))) 211 return true; 197 212 return value.m_currentKnownStructure.hasSingleton() 198 213 && hasFastArrayStorage(value.m_currentKnownStructure.singleton()->indexingType()) … … 200 215 201 216 case Array::ArrayWithSlowPutArrayStorage: 217 if (arrayModesAlreadyChecked(value.m_arrayModes, asArrayModes(ArrayWithArrayStorage) | asArrayModes(ArrayWithSlowPutArrayStorage))) 218 return true; 202 219 return value.m_currentKnownStructure.hasSingleton() 203 220 && hasArrayStorage(value.m_currentKnownStructure.singleton()->indexingType()) 204 221 && (value.m_currentKnownStructure.singleton()->indexingType() & IsArray); 205 206 case ALL_EFFECTFUL_MODES:207 return false;208 222 209 223 case Array::Arguments:
Note:
See TracChangeset
for help on using the changeset viewer.