1318 Node_List::push(b); |
1318 Node_List::push(b); |
1319 } |
1319 } |
1320 Node *pop() { |
1320 Node *pop() { |
1321 if( _clock_index >= size() ) _clock_index = 0; |
1321 if( _clock_index >= size() ) _clock_index = 0; |
1322 Node *b = at(_clock_index); |
1322 Node *b = at(_clock_index); |
1323 map( _clock_index++, Node_List::pop()); |
1323 map( _clock_index, Node_List::pop()); |
|
1324 if (size() != 0) _clock_index++; // Always start from 0 |
1324 _in_worklist >>= b->_idx; |
1325 _in_worklist >>= b->_idx; |
1325 return b; |
1326 return b; |
1326 } |
1327 } |
1327 Node *remove( uint i ) { |
1328 Node *remove( uint i ) { |
1328 Node *b = Node_List::at(i); |
1329 Node *b = Node_List::at(i); |