Request for reviews (XS): 6784930: server jvm fails with assert(!n->is_SpillCopy(),"")
Vladimir Kozlov
Vladimir.Kozlov at Sun.COM
Tue Jan 13 10:48:58 PST 2009
http://webrev.invokedynamic.info/kvn/6784930/index.html
Fixed 6784930: server jvm fails with assert(!n->is_SpillCopy(),"")
Problem:
The LRG's _area value 0. is used by RA to avoid additional splits
of a spill copy which has one immediately following use.
But _area value 0. could be also produced if a block has frequency 0.
caused by a long chain of conditional branches with small
probability P <= 0.1 so that a float value underflow.
As result all LRGs in such blocks have the same high score 1e35
and RA can not make progress producing a lot of spill copies.
Solution:
Set minimum block frequency MIN_BLOCK_FREQUENCY 1.e-35f.
Add the assert to check a block frequency.
Reviewed by:
Fix verified (y/n): y, bug's test case
Other testing:
JPRT
More information about the hotspot-compiler-dev
mailing list