File tree Expand file tree Collapse file tree 3 files changed +6
-3
lines changed Expand file tree Collapse file tree 3 files changed +6
-3
lines changed Original file line number Diff line number Diff line change @@ -83,7 +83,7 @@ impl HoleList {
8383
8484/// A block containing free memory. It points to the next hole and thus forms a linked list.
8585#[ cfg( not( test) ) ]
86- struct Hole {
86+ pub struct Hole {
8787 size : usize ,
8888 next : Option < Unique < Hole > > ,
8989}
Original file line number Diff line number Diff line change 66#[ macro_use]
77extern crate std;
88
9- use hole:: HoleList ;
9+ use hole:: { Hole , HoleList } ;
10+ use core:: mem;
1011
1112mod hole;
1213#[ cfg( test) ]
@@ -62,6 +63,7 @@ impl Heap {
6263 if size < HoleList :: min_size ( ) {
6364 size = HoleList :: min_size ( ) ;
6465 }
66+ let size = align_up ( size, mem:: align_of :: < Hole > ( ) ) ;
6567
6668 self . holes . allocate_first_fit ( size, align)
6769 }
@@ -77,6 +79,8 @@ impl Heap {
7779 if size < HoleList :: min_size ( ) {
7880 size = HoleList :: min_size ( ) ;
7981 }
82+ let size = align_up ( size, mem:: align_of :: < Hole > ( ) ) ;
83+
8084 self . holes . deallocate ( ptr, size) ;
8185 }
8286
Original file line number Diff line number Diff line change 11use std:: prelude:: v1:: * ;
22use std:: mem:: { size_of, align_of} ;
33use super :: * ;
4- use super :: hole:: * ;
54
65fn new_heap ( ) -> Heap {
76 const HEAP_SIZE : usize = 1000 ;
You can’t perform that action at this time.
0 commit comments