Module type Fang_alloc.SPILLING
Necessary information for handling spills (i.e., boxes that cannot be assigned a register).
val preserve : box -> graph -> graph
preserve b g
isg
amended so thatb
's value after the amended graph is executed is always equal to its value beforehand, even if its value changes internally.
val stack_size_increase : handler -> int
stack_size_increase h
is the amount that the stack needs to grow to accomodate the spilled registers handled byh
.
val was_spilled : box -> handler -> bool
was_spilled b h
istrue
ifb
is a spilled register handled byh
.