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");