comparison src/share/vm/c1/c1_LinearScan.cpp @ 20804:7848fc12602b

Merge with jdk8u40-b25
author Gilles Duboscq <gilles.m.duboscq@oracle.com>
date Tue, 07 Apr 2015 14:58:49 +0200
parents 52b4284cb496 d04cb4166be7
children
comparison
equal deleted inserted replaced
20184:84105dcdb05b 20804:7848fc12602b
1626 TIME_LINEAR_SCAN(timer_allocate_registers); 1626 TIME_LINEAR_SCAN(timer_allocate_registers);
1627 1627
1628 Interval* precolored_cpu_intervals, *not_precolored_cpu_intervals; 1628 Interval* precolored_cpu_intervals, *not_precolored_cpu_intervals;
1629 Interval* precolored_fpu_intervals, *not_precolored_fpu_intervals; 1629 Interval* precolored_fpu_intervals, *not_precolored_fpu_intervals;
1630 1630
1631 create_unhandled_lists(&precolored_cpu_intervals, &not_precolored_cpu_intervals, is_precolored_cpu_interval, is_virtual_cpu_interval);
1632 if (has_fpu_registers()) {
1633 create_unhandled_lists(&precolored_fpu_intervals, &not_precolored_fpu_intervals, is_precolored_fpu_interval, is_virtual_fpu_interval);
1634 #ifdef ASSERT
1635 } else {
1636 // fpu register allocation is omitted because no virtual fpu registers are present
1637 // just check this again...
1638 create_unhandled_lists(&precolored_fpu_intervals, &not_precolored_fpu_intervals, is_precolored_fpu_interval, is_virtual_fpu_interval);
1639 assert(not_precolored_fpu_intervals == Interval::end(), "missed an uncolored fpu interval");
1640 #endif
1641 }
1642
1643 // allocate cpu registers 1631 // allocate cpu registers
1632 create_unhandled_lists(&precolored_cpu_intervals, &not_precolored_cpu_intervals,
1633 is_precolored_cpu_interval, is_virtual_cpu_interval);
1634
1635 // allocate fpu registers
1636 create_unhandled_lists(&precolored_fpu_intervals, &not_precolored_fpu_intervals,
1637 is_precolored_fpu_interval, is_virtual_fpu_interval);
1638
1639 // the fpu interval allocation cannot be moved down below with the fpu section as
1640 // the cpu_lsw.walk() changes interval positions.
1641
1644 LinearScanWalker cpu_lsw(this, precolored_cpu_intervals, not_precolored_cpu_intervals); 1642 LinearScanWalker cpu_lsw(this, precolored_cpu_intervals, not_precolored_cpu_intervals);
1645 cpu_lsw.walk(); 1643 cpu_lsw.walk();
1646 cpu_lsw.finish_allocation(); 1644 cpu_lsw.finish_allocation();
1647 1645
1648 if (has_fpu_registers()) { 1646 if (has_fpu_registers()) {
1649 // allocate fpu registers
1650 LinearScanWalker fpu_lsw(this, precolored_fpu_intervals, not_precolored_fpu_intervals); 1647 LinearScanWalker fpu_lsw(this, precolored_fpu_intervals, not_precolored_fpu_intervals);
1651 fpu_lsw.walk(); 1648 fpu_lsw.walk();
1652 fpu_lsw.finish_allocation(); 1649 fpu_lsw.finish_allocation();
1653 } 1650 }
1654 } 1651 }