Changeset 216815 in webkit for trunk/Source/JavaScriptCore/b3/B3SparseCollection.h
- Timestamp:
- May 12, 2017, 9:59:35 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/b3/B3SparseCollection.h
r206525 r216815 26 26 #pragma once 27 27 28 #if ENABLE( B3_JIT)28 #if ENABLE(DFG_JIT) 29 29 30 30 #include <wtf/StdLibExtras.h> … … 74 74 m_indexFreeList.append(value->m_index); 75 75 m_vector[value->m_index] = nullptr; 76 } 77 78 void packIndices() 79 { 80 if (m_indexFreeList.isEmpty()) 81 return; 82 83 unsigned holeIndex = 0; 84 unsigned endIndex = m_vector.size(); 85 86 while (true) { 87 while (holeIndex < endIndex && m_vector[holeIndex]) 88 ++holeIndex; 89 90 if (holeIndex == endIndex) 91 break; 92 ASSERT(holeIndex < m_vector.size()); 93 ASSERT(!m_vector[holeIndex]); 94 95 do { 96 --endIndex; 97 } while (!m_vector[endIndex] && endIndex > holeIndex); 98 99 if (holeIndex == endIndex) 100 break; 101 ASSERT(endIndex > holeIndex); 102 ASSERT(m_vector[endIndex]); 103 104 auto& value = m_vector[endIndex]; 105 value->m_index = holeIndex; 106 m_vector[holeIndex] = WTFMove(value); 107 ++holeIndex; 108 } 109 110 m_indexFreeList.resize(0); 111 m_vector.resize(endIndex); 76 112 } 77 113 … … 140 176 } } // namespace JSC::B3 141 177 142 #endif // ENABLE( B3_JIT)178 #endif // ENABLE(DFG_JIT)
Note:
See TracChangeset
for help on using the changeset viewer.