Tweak local spill heuristic
This commit is contained in:
parent
0416c30e67
commit
945e76903f
@ -38,14 +38,14 @@ fn get_pinned_registers(
|
|||||||
locals: usize,
|
locals: usize,
|
||||||
temporaries: usize,
|
temporaries: usize,
|
||||||
) -> (usize, usize) {
|
) -> (usize, usize) {
|
||||||
const MAX_LOCAL_COUNT: usize = 170;
|
const MAX_LOCAL_COUNT: usize = 180;
|
||||||
|
|
||||||
let available = MAX_LOCAL_COUNT
|
let available = MAX_LOCAL_COUNT
|
||||||
.saturating_sub(upvalues)
|
.saturating_sub(upvalues)
|
||||||
.saturating_sub(params);
|
.saturating_sub(params);
|
||||||
|
|
||||||
let locals = available.min(locals);
|
let temporaries = available.min(temporaries);
|
||||||
let temporaries = available.saturating_sub(locals).min(temporaries);
|
let locals = available.saturating_sub(temporaries).min(locals);
|
||||||
|
|
||||||
(params + locals, temporaries)
|
(params + locals, temporaries)
|
||||||
}
|
}
|
||||||
|
@ -38,14 +38,14 @@ fn get_pinned_registers(
|
|||||||
locals: usize,
|
locals: usize,
|
||||||
temporaries: usize,
|
temporaries: usize,
|
||||||
) -> (usize, usize) {
|
) -> (usize, usize) {
|
||||||
const MAX_LOCAL_COUNT: usize = 170;
|
const MAX_LOCAL_COUNT: usize = 180;
|
||||||
|
|
||||||
let available = MAX_LOCAL_COUNT
|
let available = MAX_LOCAL_COUNT
|
||||||
.saturating_sub(upvalues)
|
.saturating_sub(upvalues)
|
||||||
.saturating_sub(params);
|
.saturating_sub(params);
|
||||||
|
|
||||||
let locals = available.min(locals);
|
let temporaries = available.min(temporaries);
|
||||||
let temporaries = available.saturating_sub(locals).min(temporaries);
|
let locals = available.saturating_sub(temporaries).min(locals);
|
||||||
|
|
||||||
(params + locals, temporaries)
|
(params + locals, temporaries)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user