Mercurial > hg > graal-jvmci-8
comparison src/share/vm/c1/c1_LinearScan.cpp @ 20244:d04cb4166be7
8040921: Uninitialised memory in hotspot/src/share/vm/c1/c1_LinearScan.cpp
Summary: Fixed parfait initialization issue.
Reviewed-by: kvn, twisti
author | morris |
---|---|
date | Wed, 06 Aug 2014 14:22:19 -0700 |
parents | 0bf37f737702 |
children | 7848fc12602b ddce0b7cee93 |
comparison
equal
deleted
inserted
replaced
20242:d14a18794c90 | 20244:d04cb4166be7 |
---|---|
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, ¬_precolored_cpu_intervals, is_precolored_cpu_interval, is_virtual_cpu_interval); | |
1632 if (has_fpu_registers()) { | |
1633 create_unhandled_lists(&precolored_fpu_intervals, ¬_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, ¬_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, ¬_precolored_cpu_intervals, | |
1633 is_precolored_cpu_interval, is_virtual_cpu_interval); | |
1634 | |
1635 // allocate fpu registers | |
1636 create_unhandled_lists(&precolored_fpu_intervals, ¬_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 } |