Mercurial > hg > graal-jvmci-8
comparison 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 |
comparison
equal
deleted
inserted
replaced
4893:5e9fba4e8718 | 4894:b9bc6cae88f2 |
---|---|
1520 const TypePtr* adr_type, | 1520 const TypePtr* adr_type, |
1521 Node* val, | 1521 Node* val, |
1522 const TypeOopPtr* val_type, | 1522 const TypeOopPtr* val_type, |
1523 BasicType bt, | 1523 BasicType bt, |
1524 bool use_precise) { | 1524 bool use_precise) { |
1525 // Transformation of a value which could be NULL pointer (CastPP #NULL) | |
1526 // could be delayed during Parse (for example, in adjust_map_after_if()). | |
1527 // Execute transformation here to avoid barrier generation in such case. | |
1528 if (_gvn.type(val) == TypePtr::NULL_PTR) | |
1529 val = _gvn.makecon(TypePtr::NULL_PTR); | |
1525 | 1530 |
1526 set_control(ctl); | 1531 set_control(ctl); |
1527 if (stopped()) return top(); // Dead path ? | 1532 if (stopped()) return top(); // Dead path ? |
1528 | 1533 |
1529 assert(bt == T_OBJECT, "sanity"); | 1534 assert(bt == T_OBJECT, "sanity"); |