Request for reviews (XS): 6866651: Regression: simple int sum crashes jvm (build 1.6.0_14-b08 and 1.7.0-ea-b59)
Tom Rodriguez
Thomas.Rodriguez at Sun.COM
Fri Aug 14 15:34:32 PDT 2009
Why are you including the first part in this fix? I don't see the
motivation for that change.
tom
On Aug 14, 2009, at 2:50 PM, 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