Lines Matching refs:live

104   // Bigger area lowers score, encourages spilling this live range.
105 // Bigger cost raise score, prevents spilling this live range.
160 // Make all Nodes map directly to their final live range; no need for
181 // brand new live ranges but have not told the allocator yet.
302 // Renumber the live ranges to compact them. Makes the IFG smaller.
311 // compacted live range with no further chaining. There are no chains or
317 // Ignore unallocated live ranges
354 // Need live-ness for the IFG; need the IFG for coalescing. If the
356 // all copy-related live ranges low and then using the max copy-related
357 // live range as a cut-off for LIVE and the IFG. In other words, I can
359 PhaseLive live(_cfg, _lrg_map.names(), &live_arena, false);
367 // - effectively ending SSA form. This requires either coalescing live
381 _live = NULL; // Mark live as being not available
386 live.compute(_lrg_map.max_lrg_id()); // Compute liveness
387 _live = &live; // Mark LIVE as being available
391 // derived pointers. This makes base pointers live up to the where the
392 // derived pointer is made, but not beyond. Really, they need to be live
393 // across any GC point where the derived value is live. So this code looks
394 // at all the GC points, and "stretches" the live range of any base pointer
398 // Since some live range stretched, I need to recompute live
404 live.compute(_lrg_map.max_lrg_id());
405 _live = &live;
443 live.compute(_lrg_map.max_lrg_id());
444 _live = &live;
481 live.compute(_lrg_map.max_lrg_id()); // Compute LIVE
482 _live = &live;
492 // If max live ranges greater than cutoff, don't color the stack.
543 // Nuke the live-ness and interference graph and LiveRanGe info
554 live.compute(_lrg_map.max_lrg_id());
555 _live = &live;
566 // Check for few live ranges determines how aggressive coalesce is.
678 // number. A few get the ZERO live range number. These do not
680 // only one instance is simultaneously live at a time.
689 // Pre-color to the zero live range, or pick virtual register
700 // Use ssa names to populate the live range maps or if no mask
710 // Pre-color to the zero live range, or pick virtual register
727 // Nail down the frame pointer live range
759 // Check for float-vs-int live range (used in register-pressure
800 // Check for vector live range (only if vector register is used).
1008 // Later, AFTER aggressive, this live range will have to spill
1078 // colorability of the graph. If any live range was of low-degree before
1091 // hi-degree live range will not interfere with the color choices
1092 // of said hi-degree live range. The Simplify reverse-stack-coloring
1129 // lo-degree live ranges always get a register.
1194 // No more lo-degree no-copy live ranges to simplify
1247 // _must_spill live ranges are already on the low degree list.
1278 // a float live range it's degree will drop by 2 and you can skip the
1292 // wins. Ties happen because all live ranges in question have spilled
1296 // Ties also happen when live ranges are defined and used only inside
1298 // In such case choose bound live range over unbound to free registers
1312 // The live range we choose for spilling is either hi-degree, or very
1313 // rarely it can be low-degree. If we choose a hi-degree live range
1432 assert( lrg.num_regs() >= 2, "dead live ranges do not color" );
1476 // live range that cannot color in the current chunk, and it
1560 // If the live range is not bound, then we actually had some choices
1590 // Live range is live and no colors available
1831 // base pointer that is live across the Safepoint for oopmap building. The
1845 IndexSet liveout(_live->live(block));
1852 // extends its live range BUT cannot be part of the cycle. If this
1853 // extended live range overlaps with the update of the loop-phi value
1875 // Ignore the occasional brand-new live range
1877 // Remove from live-out set
1891 // Now scan for a live derived pointer
1910 // See if the base pointer is already live to this point.
1911 // Since I'm working on the SSA form, live-ness amounts to
1912 // reaching def's. So if I find the base's live range then
1914 if ((_lrg_map.live_range_id(base) >= _lrg_map.max_lrg_id() || // (Brand new base (hence not live) or
1915 !liveout.member(_lrg_map.live_range_id(base))) && // not live) AND
1918 // Base pointer is not currently live. Since I stretched
1920 // boundaries, the global live info is now incorrect.
1921 // Recompute live.
1923 } // End of if base pointer is not live to debug info
1925 } // End of scan all live data for derived ptrs crossing GC point
1928 // Make all inputs live
1944 // If I created a new live range I need to recompute live
2043 // Print live-out info at end of block
2046 IndexSet *live = _live->live(b);
2047 IndexSetIterator elements(live);
2179 // Display which live ranges need to be split and the allocator's state
2180 tty->print_cr("Graph-Coloring Iteration %d will split the following live ranges", _trip_cnt);
2312 tty->print("Attempt to print live range index beyond max live range.\n");