Mercurial > hg > graal-jvmci-8
diff src/share/vm/opto/graphKit.cpp @ 4894:b9bc6cae88f2
7143491: G1 C2 CTW: assert(p2x->outcnt() == 2) failed: expects 2 users: Xor and URShift nodes
Summary: Adjust the assert and code in eliminate_card_mark() method for case when stored value is NULL.
Reviewed-by: iveresov, never
author | kvn |
---|---|
date | Tue, 07 Feb 2012 16:33:43 -0800 |
parents | 1dc233a8c7fe |
children | 8f972594effc |
line wrap: on
line diff
--- a/src/share/vm/opto/graphKit.cpp Tue Feb 07 11:33:15 2012 -0800 +++ b/src/share/vm/opto/graphKit.cpp Tue Feb 07 16:33:43 2012 -0800 @@ -1522,6 +1522,11 @@ const TypeOopPtr* val_type, BasicType bt, bool use_precise) { + // Transformation of a value which could be NULL pointer (CastPP #NULL) + // could be delayed during Parse (for example, in adjust_map_after_if()). + // Execute transformation here to avoid barrier generation in such case. + if (_gvn.type(val) == TypePtr::NULL_PTR) + val = _gvn.makecon(TypePtr::NULL_PTR); set_control(ctl); if (stopped()) return top(); // Dead path ?