@@ -12,13 +12,13 @@ impl<'a> FrameAllocator<'a> {
12
12
while let Some ( region) = iter. next ( ) {
13
13
if region. region_type == region_type {
14
14
if let Some ( next) = iter. peek ( ) {
15
- if next. range . start == region. range . end
15
+ if next. range . start_frame_number == region. range . end_frame_number
16
16
&& next. region_type == MemoryRegionType :: Usable
17
17
&& !next. range . is_empty ( )
18
18
{
19
- let frame = region. range . end ;
20
- region. range . end += 1 ;
21
- iter. next ( ) . unwrap ( ) . range . start += 1 ;
19
+ let frame = PhysFrameRange :: from ( region. range ) . end ;
20
+ region. range . end_frame_number += 1 ;
21
+ iter. next ( ) . unwrap ( ) . range . start_frame_number += 1 ;
22
22
return Some ( frame) ;
23
23
}
24
24
}
@@ -37,8 +37,8 @@ impl<'a> FrameAllocator<'a> {
37
37
continue ;
38
38
}
39
39
40
- let frame = region. range . start ;
41
- region. range . start += 1 ;
40
+ let frame = PhysFrameRange :: from ( region. range ) . start ;
41
+ region. range . start_frame_number += 1 ;
42
42
return Some ( ( frame, PhysFrame :: range ( frame, frame + 1 ) ) ) ;
43
43
}
44
44
None
@@ -53,7 +53,7 @@ impl<'a> FrameAllocator<'a> {
53
53
54
54
if let Some ( ( frame, range) ) = result {
55
55
self . memory_map
56
- . add_region ( MemoryRegion { range, region_type } ) ;
56
+ . add_region ( MemoryRegion { range : range . into ( ) , region_type } ) ;
57
57
Some ( frame)
58
58
} else {
59
59
None
@@ -65,10 +65,10 @@ impl<'a> FrameAllocator<'a> {
65
65
/// Panics if a non-usable region (e.g. a reserved region) overlaps with the passed region.
66
66
pub ( crate ) fn mark_allocated_region ( & mut self , region : MemoryRegion ) {
67
67
for r in self . memory_map . iter_mut ( ) {
68
- if region. range . start >= r. range . end {
68
+ if region. range . start_frame_number >= r. range . end_frame_number {
69
69
continue ;
70
70
}
71
- if region. range . end <= r. range . start {
71
+ if region. range . end_frame_number <= r. range . start_frame_number {
72
72
continue ;
73
73
}
74
74
@@ -79,42 +79,42 @@ impl<'a> FrameAllocator<'a> {
79
79
) ;
80
80
}
81
81
82
- if region. range . start == r. range . start {
83
- if region. range . end < r. range . end {
82
+ if region. range . start_frame_number == r. range . start_frame_number {
83
+ if region. range . end_frame_number < r. range . end_frame_number {
84
84
// Case: (r = `r`, R = `region`)
85
85
// ----rrrrrrrrrrr----
86
86
// ----RRRR-----------
87
- r. range . start = region. range . end ;
87
+ r. range . start_frame_number = region. range . end_frame_number ;
88
88
self . memory_map . add_region ( region) ;
89
89
} else {
90
90
// Case: (r = `r`, R = `region`)
91
91
// ----rrrrrrrrrrr----
92
92
// ----RRRRRRRRRRRRRR-
93
93
* r = region;
94
94
}
95
- } else if region. range . start > r. range . start {
96
- if region. range . end < r. range . end {
95
+ } else if region. range . start_frame_number > r. range . start_frame_number {
96
+ if region. range . end_frame_number < r. range . end_frame_number {
97
97
// Case: (r = `r`, R = `region`)
98
98
// ----rrrrrrrrrrr----
99
99
// ------RRRR---------
100
100
let mut behind_r = r. clone ( ) ;
101
- behind_r. range . start = region. range . end ;
102
- r. range . end = region. range . start ;
101
+ behind_r. range . start_frame_number = region. range . end_frame_number ;
102
+ r. range . end_frame_number = region. range . start_frame_number ;
103
103
self . memory_map . add_region ( behind_r) ;
104
104
self . memory_map . add_region ( region) ;
105
105
} else {
106
106
// Case: (r = `r`, R = `region`)
107
107
// ----rrrrrrrrrrr----
108
108
// -----------RRRR---- or
109
109
// -------------RRRR--
110
- r. range . end = region. range . start ;
110
+ r. range . end_frame_number = region. range . start_frame_number ;
111
111
self . memory_map . add_region ( region) ;
112
112
}
113
113
} else {
114
114
// Case: (r = `r`, R = `region`)
115
115
// ----rrrrrrrrrrr----
116
116
// --RRRR-------------
117
- r. range . start = region. range . end ;
117
+ r. range . start_frame_number = region. range . end_frame_number ;
118
118
self . memory_map . add_region ( region) ;
119
119
}
120
120
return ;
0 commit comments