Handbook
Glossary
uncovered-vreg-ranges ( interval fragments -- ranges )
Vocabulary
compiler
.
cfg
.
register-allocation
.
backtracking
Inputs
interval
an
object
fragments
an
object
Outputs
ranges
an
object
Definition
USING:
accessors
compiler.cfg.linear-scan.ranges
kernel
namespaces
sequences
sorting
;
IN:
compiler.cfg.register-allocation.backtracking
::
uncovered-vreg-ranges
( interval fragments -- ranges )
fragments
length
1
=
[
fragments
first
ranges>>
interval
ranges>>
=
]
[
f
]
if
[
{
}
]
[
fragments
[
ranges>>
]
map
concat
backtracking-barriers
get
append
[
first
]
sort-by
:>
occupied interval
ranges>>
[|
range
|
occupied
[
range
intersect-range
]
filter
range
swap
subtract-live-range
]
map
concat
]
if
;