RFR(XS): 8239335: C2: assert((Value(phase) == t) || (t != TypeInt::CC_GT && t != TypeInt::CC_EQ)) failed: missing Value() optimization
Roland Westrelin
rwestrel at redhat.com
Fri Mar 6 10:48:13 UTC 2020
Thanks for reviewing this.
> In subtypenode.cpp:41 it should be "Interfaces *can't* be trusted",
> right?
Yes. I'll fix that.
>> Yes because in that case AFAIU, the subclass can only a constant class
>> pointer and we can trust that we are actually testing an interface.
>
> Where is that case optimized without your changes (I can't find it in CmpPNode::sub)?
It's converted to a pointer comparison and CmpPNode::sub() constant
folds it because both inputs are constant so the result of the
comparison is known.
Roland.
More information about the hotspot-compiler-dev
mailing list