RFR (S): 8071996: split_if accesses NULL region of ConstraintCast
Vladimir Kozlov
vladimir.kozlov at oracle.com
Mon Feb 2 23:08:14 UTC 2015
Hi, Goetz
The fix is good but the comment is slightly off. It is not "region
edge", it is "control edge". In current case it could be IfTrue or
IfFalse projection nodes which points to If node which we compare.
Also this control edge is required:
359 } else if( v->is_ConstraintCast() ) {
360 proj = v->in(0); // Controlling projection
361 } else {
362 assert( 0, "do not know how to handle this guy" );
363 }
364
365 Node *proj_path_data, *proj_path_ctrl;
366 if( proj->Opcode() == Op_IfTrue ) {
Thanks,
Vladimir
On 2/1/15 11:22 PM, Lindenmaier, Goetz wrote:
> Hi,
>
> I fixed a small bug in the C2 compiler.
> It appeared in our s390/zArch port running hs25.31 with jdk6 when executing
> jvm2008/compiler.compiler.
>
> Split_if encounters a ConstraintCast without region edge, which is a valid pattern.
> But it reads the region edge unconditionally, thus failing.
>
> Please review this change. I please need a sponsor.
> http://cr.openjdk.java.net/~goetz/webrevs/8071996-fixSplitIf/webrev.01/
>
> Best regards,
> Goetz.
>
>
More information about the hotspot-dev
mailing list