Handbook
Glossary
split-at-clobber ( interval sync -- fragments )
Vocabulary
compiler
.
cfg
.
register-allocation
.
greedy
Inputs
interval
an
object
sync
an
object
Outputs
fragments
an
object
Definition
USING:
accessors
arrays
compiler.cfg.linear-scan.allocation
compiler.cfg.linear-scan.allocation.spilling
compiler.cfg.linear-scan.allocation.state
kernel
sequences
;
IN:
compiler.cfg.register-allocation.greedy
::
split-at-clobber
( interval sync -- fragments )
interval sync
reserve-clobber-slot
sync
n>>
interval
covers?
sync interval
spill-at-sync-point?
and
[
interval sync
memory-only-at-clobber?
[
{
}
"memory-only-clobbers"
greedy-count
]
[
interval sync
n>>
already-spilled-atomic-use?
[
interval
1array
]
[
interval sync
n>>
split-for-spill
2array
sift
"clobber-splits"
greedy-count
]
if
]
if
]
[
interval
1array
]
if
;