         [ compute-live-in ]
     } cleave ;
 
-:: assign-registers-in-block ( bb -- )
-    bb begin-block
-    bb [
+: assign-registers-in-block ( bb -- )
+    dup begin-block
+    [
         [
             [
                 {

compiler.cfg.instructions compiler.cfg.linear-scan.allocation.state
compiler.cfg.linear-scan.live-intervals compiler.cfg.renaming.functor
compiler.cfg.ssa.destruction.leaders cpu.architecture
fry heaps kernel locals make math namespaces sequences sets ;
FROM: namespaces => set ;
IN: compiler.cfg.linear-scan.assignment


                } cleave
            ] each
        ] V{ } make
    ] change-instructions compute-live-out ;

: init-assignment ( live-intervals -- )
    [ [ start>> ] map ] keep zip >min-heap unhandled-intervals set
