(&mut self, ppn: PhysPageNum)
| 70 | } |
| 71 | } |
| 72 | fn dealloc(&mut self, ppn: PhysPageNum) { |
| 73 | let ppn = ppn.0; |
| 74 | // validity check |
| 75 | if ppn >= self.current || self.recycled.iter().any(|&v| v == ppn) { |
| 76 | panic!("Frame ppn={:#x} has not been allocated!", ppn); |
| 77 | } |
| 78 | // recycle |
| 79 | self.recycled.push(ppn); |
| 80 | } |
| 81 | } |
| 82 | |
| 83 | type FrameAllocatorImpl = StackFrameAllocator; |