mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
6877254: Server vm crashes with no branches off of store slice" when run with CMS and UseSuperWord(default)
Design StoreCMNode::Ideal to promote its oopStore input if the input is a MergeMem node Reviewed-by: kvn, never
This commit is contained in:
parent
e0519e7bbd
commit
c492f4cde5
8 changed files with 86 additions and 14 deletions
|
@ -2313,6 +2313,22 @@ Node *StoreCMNode::Identity( PhaseTransform *phase ) {
|
|||
return this;
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
//------------------------------Ideal---------------------------------------
|
||||
Node *StoreCMNode::Ideal(PhaseGVN *phase, bool can_reshape){
|
||||
Node* progress = StoreNode::Ideal(phase, can_reshape);
|
||||
if (progress != NULL) return progress;
|
||||
|
||||
Node* my_store = in(MemNode::OopStore);
|
||||
if (my_store->is_MergeMem()) {
|
||||
Node* mem = my_store->as_MergeMem()->memory_at(oop_alias_idx());
|
||||
set_req(MemNode::OopStore, mem);
|
||||
return this;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//------------------------------Value-----------------------------------------
|
||||
const Type *StoreCMNode::Value( PhaseTransform *phase ) const {
|
||||
// Either input is TOP ==> the result is TOP
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue