mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 03:24:38 +02:00
7143491: G1 C2 CTW: assert(p2x->outcnt() == 2) failed: expects 2 users: Xor and URShift nodes
Adjust the assert and code in eliminate_card_mark() method for case when stored value is NULL. Reviewed-by: iveresov, never
This commit is contained in:
parent
2856b9535e
commit
e6015c7c26
3 changed files with 23 additions and 5 deletions
|
@ -1522,6 +1522,11 @@ Node* GraphKit::store_oop(Node* ctl,
|
|||
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 ?
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue