Safepoint incorrectly removed from loop L2
if test goto L1
See method Starve9B::Starvee in attachment.
Instructions for running:
/java/re/jdk/1.6.0/latest/binaries/solaris-sparc/bin/java -server Starve9B
/java/re/jdk/1.5.0_10/latest/binaries/solaris-sparc/bin/java -server Starve9B
Simply run the program with no arguments. Wait for about a minute. It'll
report some meaningless information on stdout which you should ignore (residual
code from the program's original intended task of tracking down a solaris
scheduling issue that results in LWP starvation). Enter CTRL-c. The program
should hang and not exit. You'll need to use kill -9 to get rid of it.
Another simple test case will soon be found in the j2se workspace, under:
Simply remove the Thread.yield() line in the doTask() method, and let it run in c2. Should fail after 10-70 iterations.