Changeset 129045 in webkit for trunk/Source/JavaScriptCore/dfg/DFGArrayMode.cpp
- Timestamp:
- Sep 19, 2012, 2:43:10 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/dfg/DFGArrayMode.cpp
r128957 r129045 43 43 return Array::Undecided; 44 44 case asArrayModes(NonArrayWithArrayStorage): 45 return makeSafe ? Array::ArrayStorageOutOfBounds : Array::ArrayStorage;45 return makeSafe ? Array::ArrayStorageOutOfBounds : (profile->mayStoreToHole() ? Array::ArrayStorageToHole : Array::ArrayStorage); 46 46 case asArrayModes(NonArrayWithSlowPutArrayStorage): 47 47 case asArrayModes(NonArrayWithArrayStorage) | asArrayModes(NonArrayWithSlowPutArrayStorage): 48 48 return Array::SlowPutArrayStorage; 49 49 case asArrayModes(ArrayWithArrayStorage): 50 return makeSafe ? Array::ArrayWithArrayStorageOutOfBounds : Array::ArrayWithArrayStorage;50 return makeSafe ? Array::ArrayWithArrayStorageOutOfBounds : (profile->mayStoreToHole() ? Array::ArrayWithArrayStorageToHole : Array::ArrayWithArrayStorage); 51 51 case asArrayModes(ArrayWithSlowPutArrayStorage): 52 52 case asArrayModes(ArrayWithArrayStorage) | asArrayModes(ArrayWithSlowPutArrayStorage): 53 53 return Array::ArrayWithSlowPutArrayStorage; 54 54 case asArrayModes(NonArrayWithArrayStorage) | asArrayModes(ArrayWithArrayStorage): 55 return makeSafe ? Array::PossiblyArrayWithArrayStorageOutOfBounds : Array::PossiblyArrayWithArrayStorage;55 return makeSafe ? Array::PossiblyArrayWithArrayStorageOutOfBounds : (profile->mayStoreToHole() ? Array::PossiblyArrayWithArrayStorageToHole : Array::PossiblyArrayWithArrayStorage); 56 56 case asArrayModes(NonArrayWithSlowPutArrayStorage) | asArrayModes(ArrayWithSlowPutArrayStorage): 57 57 case asArrayModes(NonArrayWithArrayStorage) | asArrayModes(ArrayWithArrayStorage) | asArrayModes(NonArrayWithSlowPutArrayStorage) | asArrayModes(ArrayWithSlowPutArrayStorage): … … 140 140 141 141 case Array::ArrayStorage: 142 case Array::ArrayStorageToHole: 142 143 case Array::ArrayStorageOutOfBounds: 143 144 case Array::PossiblyArrayWithArrayStorage: 145 case Array::PossiblyArrayWithArrayStorageToHole: 144 146 case Array::PossiblyArrayWithArrayStorageOutOfBounds: 145 147 return value.m_currentKnownStructure.hasSingleton() … … 152 154 153 155 case Array::ArrayWithArrayStorage: 156 case Array::ArrayWithArrayStorageToHole: 154 157 case Array::ArrayWithArrayStorageOutOfBounds: 155 158 return value.m_currentKnownStructure.hasSingleton() … … 216 219 case Array::ArrayStorage: 217 220 return "ArrayStorage"; 221 case Array::ArrayStorageToHole: 222 return "ArrayStorageToHole"; 218 223 case Array::SlowPutArrayStorage: 219 224 return "SlowPutArrayStorage"; … … 222 227 case Array::ArrayWithArrayStorage: 223 228 return "ArrayWithArrayStorage"; 229 case Array::ArrayWithArrayStorageToHole: 230 return "ArrayWithArrayStorageToHole"; 224 231 case Array::ArrayWithSlowPutArrayStorage: 225 232 return "ArrayWithSlowPutArrayStorage"; … … 228 235 case Array::PossiblyArrayWithArrayStorage: 229 236 return "PossiblyArrayWithArrayStorage"; 237 case Array::PossiblyArrayWithArrayStorageToHole: 238 return "PossiblyArrayWithArrayStorageToHole"; 230 239 case Array::PossiblyArrayWithSlowPutArrayStorage: 231 240 return "PossiblyArrayWithSlowPutArrayStorage";
Note:
See TracChangeset
for help on using the changeset viewer.