Changeset 131289 in webkit for trunk/Source/JavaScriptCore/dfg/DFGArrayMode.cpp
- Timestamp:
- Oct 14, 2012, 8:17:17 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/dfg/DFGArrayMode.cpp
r131276 r131289 40 40 case asArrayModes(NonArray): 41 41 if (action == Array::Write && !profile->mayInterceptIndexedAccesses()) 42 return Array:: BlankToContiguousOrArrayStorage; // FIXME: we don't know whether to go to slow put mode or not. We're guessing that we don't need slow put.42 return Array::ToContiguous; // FIXME: we don't know whether to go to contiguous or array storage. We're making a static guess here. In future we should use exit profiling for this. 43 43 return Array::Undecided; 44 44 case asArrayModes(NonArrayWithContiguous): … … 64 64 return Array::PossiblyArrayWithSlowPutArrayStorage; 65 65 case asArrayModes(NonArrayWithContiguous) | asArrayModes(NonArrayWithArrayStorage): 66 return Array:: ContiguousOrArrayStorage;66 return Array::ToArrayStorage; 67 67 case asArrayModes(ArrayWithContiguous) | asArrayModes(ArrayWithArrayStorage): 68 return Array::Array WithContiguousOrArrayStorage;68 return Array::ArrayToArrayStorage; 69 69 case asArrayModes(NonArrayWithContiguous) | asArrayModes(NonArrayWithArrayStorage) | asArrayModes(ArrayWithContiguous) | asArrayModes(ArrayWithArrayStorage): 70 return Array::PossiblyArray WithContiguousOrArrayStorage;70 return Array::PossiblyArrayToArrayStorage; 71 71 case asArrayModes(NonArray) | asArrayModes(NonArrayWithContiguous): 72 72 if (action == Array::Write && !profile->mayInterceptIndexedAccesses()) 73 return Array:: BlankToContiguous;73 return Array::ToContiguous; 74 74 return Array::Undecided; 75 75 case asArrayModes(NonArray) | asArrayModes(NonArrayWithContiguous) | asArrayModes(NonArrayWithArrayStorage): 76 if (action == Array::Write && !profile->mayInterceptIndexedAccesses())77 return Array::BlankToContiguousOrArrayStorage;78 return Array::Undecided;79 76 case asArrayModes(NonArray) | asArrayModes(NonArrayWithArrayStorage): 80 77 if (action == Array::Write && !profile->mayInterceptIndexedAccesses()) 81 return Array:: BlankToArrayStorage;78 return Array::ToArrayStorage; 82 79 return Array::Undecided; 83 80 case asArrayModes(NonArray) | asArrayModes(NonArrayWithSlowPutArrayStorage): 84 81 case asArrayModes(NonArray) | asArrayModes(NonArrayWithArrayStorage) | asArrayModes(NonArrayWithSlowPutArrayStorage): 85 82 if (action == Array::Write && !profile->mayInterceptIndexedAccesses()) 86 return Array:: BlankToSlowPutArrayStorage;83 return Array::ToSlowPutArrayStorage; 87 84 return Array::Undecided; 88 85 default: … … 208 205 209 206 case ALL_EFFECTFUL_MODES: 210 case POLYMORPHIC_MODES:211 207 return false; 212 208 … … 305 301 case Array::PossiblyArrayWithArrayStorageOutOfBounds: 306 302 return "PossiblyArrayWithArrayStorageOutOfBounds"; 307 case Array::BlankToContiguous: 308 return "BlankToContiguous"; 309 case Array::BlankToArrayStorage: 310 return "BlankToArrayStorage"; 311 case Array::BlankToSlowPutArrayStorage: 312 return "BlankToSlowPutArrayStorage"; 313 case Array::BlankToContiguousOrArrayStorage: 314 return "BlankToContiguousOrArrayStorage"; 315 case Array::ContiguousOrArrayStorage: 316 return "ContiguousOrArrayStorage"; 317 case Array::ArrayWithContiguousOrArrayStorage: 318 return "ArrayWithContiguousOrArrayStorage"; 319 case Array::PossiblyArrayWithContiguousOrArrayStorage: 320 return "PossiblyArrayWithContiguousOrArrayStorage"; 303 case Array::ToContiguous: 304 return "ToContiguous"; 305 case Array::ToArrayStorage: 306 return "ToArrayStorage"; 307 case Array::ToSlowPutArrayStorage: 308 return "ToSlowPutArrayStorage"; 309 case Array::ArrayToArrayStorage: 310 return "ArrayToArrayStorage"; 311 case Array::PossiblyArrayToArrayStorage: 312 return "PossiblyArrayToArrayStorage"; 321 313 case Array::Arguments: 322 314 return "Arguments";
Note:
See TracChangeset
for help on using the changeset viewer.