RFR: 8244523: Shenandoah: Remove null-handling in LRB expansion
Aleksey Shipilev
shade at redhat.com
Wed May 6 14:50:42 UTC 2020
On 5/6/20 4:26 PM, Roman Kennke wrote:
> See discussion in:
> https://bugs.openjdk.java.net/browse/JDK-8244523
> It also removes the ideal-handling for CmpP. This attempted to eliminate
> barriers when doing if (obj == null), but this is already dealt-with in
> is_redundant(), and it also adds a case to is_redundant() to eliminate
> LRB when the only consumer is the uncommon-trap of a NULL-check (in the
> CallStaticJava case). Both are needed to avoid accidentally keeping an
> explicit null-check for what should become an implicit null-check instead.
This feels like something not really related to this removal? No sense to split it out?
> Webrev:
> http://cr.openjdk.java.net/~rkennke/JDK-8244523/webrev.00/
Mostly cosmetics:
*) Comment indents:
486 fields[TypeFunc::Parms+0] = value_type; // original field value
487 fields[TypeFunc::Parms+1] = TypeRawPtr::BOTTOM; // original load address
*) This needs a comment, something like "uncommon traps do not need barriers, values would be
handled during deopt" or some such.
2932 if (n->as_CallStaticJava()->uncommon_trap_request() != 0) {
2933 break;
2934 }
--
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list