transition to debray allocation
This commit is contained in:
@@ -10,14 +10,9 @@ pub type OccurrenceSet = BTreeSet<(GenContext, usize)>;
|
||||
|
||||
pub struct TempVarData {
|
||||
last_term_arity: usize,
|
||||
use_set: OccurrenceSet,
|
||||
no_use_set: BTreeSet<usize>,
|
||||
conflict_set: BTreeSet<usize>
|
||||
}
|
||||
|
||||
// labeled with chunk_num and temp offset (unassigned if 0).
|
||||
pub enum VarData {
|
||||
Perm(usize), Temp(usize, usize, TempVarData)
|
||||
pub use_set: OccurrenceSet,
|
||||
pub no_use_set: BTreeSet<usize>,
|
||||
pub conflict_set: BTreeSet<usize>
|
||||
}
|
||||
|
||||
// labeled with chunk numbers.
|
||||
@@ -25,6 +20,12 @@ pub enum VarStatus {
|
||||
Perm(usize), Temp(usize, TempVarData) // Perm(chunk_num) | Temp(chunk_num, _)
|
||||
}
|
||||
|
||||
// Perm: 0 initially, a stack register once processed.
|
||||
// Temp: labeled with chunk_num and temp offset (unassigned if 0), arg (0 if unassigned).
|
||||
pub enum VarData {
|
||||
Perm(usize), Temp(usize, usize, TempVarData)
|
||||
}
|
||||
|
||||
impl VarData {
|
||||
pub fn as_reg_type(&self) -> RegType {
|
||||
match self {
|
||||
|
||||
Reference in New Issue
Block a user