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