소스 검색

RL search

ticki 9 년 전
부모
커밋
a651595317
1개의 변경된 파일2개의 추가작업 그리고 1개의 파일을 삭제
  1. 2 1
      src/block_list.rs

+ 2 - 1
src/block_list.rs

@@ -27,7 +27,8 @@ impl BlockList {
     pub fn alloc(&mut self, size: usize, align: usize) -> Unique<u8> {
         let mut ins = None;
 
-        for (n, i) in self.iter_mut().enumerate() {
+        // We run right-to-left, since new blocks tend to get added to the right.
+        for (n, i) in self.iter_mut().enumerate().rev() {
             let aligner = aligner(*i.ptr, align);
 
             if i.size - aligner >= size {