Request for reviews (XS): 6866651: Regression: simple int sum crashes jvm (build 1.6.0_14-b08 and 1.7.0-ea-b59)

Vladimir Kozlov Vladimir.Kozlov at Sun.COM
Fri Aug 14 15:09:29 PDT 2009


Looks good.

I would remove -server from the test options to run it with tested
(client) VM instead of default VM.

Thanks,
Vladimir

changpeng fang - Sun Microsystems - Santa Clara United States wrote:
> http://cr.openjdk.java.net/~cfang/6866651/webrev.00/
> 
> Fixed 6866651: Regression: simple int sum crashes jvm (build 
> 1.6.0_14-b08 and 1.7.0-ea-b59)
> 
> Problem:
> set_req_X will do dead code elimination if the original input has no 
> other use. However, it is possible to
> have the current node (this) removed if a dead loop exists.  So,  dead 
> code elimination in set_req_X is not
> safe, and may  cause undesired consequences (like the segfault in 6866651)
> 
> Solution:
> Instead of doing dead code elimination immediately in set_req_X, we put 
> the dead node (original input) into
> the worklist, and the dead node will eventually be eliminated when it is 
> its turn to be processed.
> 
> In addition,  before ideal transformations, we replace a node with a 
> constant if we know it computes a constant
> to skip unneeded optimizations on this node.
> Tests: JPRT, CompileTheWorld, Test case in bug report (Test.java in webrev)
> 
> Thanks,
> 
> Changpeng



More information about the hotspot-compiler-dev mailing list