Heads-up: barriers for constants crash C2
Roland Westrelin
rwestrel at redhat.com
Mon Jun 12 15:17:40 UTC 2017
Fix is below. I will have it go through more testing before I push it.
Roland.
diff --git a/src/share/vm/opto/shenandoahSupport.cpp b/src/share/vm/opto/shenandoahSupport.cpp
--- a/src/share/vm/opto/shenandoahSupport.cpp
+++ b/src/share/vm/opto/shenandoahSupport.cpp
@@ -3729,7 +3729,7 @@
test_evacuation_in_progress(ctrl, alias, raw_mem, wb_mem, evacuation_iff, evac_in_progress, evac_not_in_progress, phase);
Node* region = new RegionNode(4);
- Node* val_phi = PhiNode::make_blank(region, val);
+ Node* val_phi = new PhiNode(region, val->bottom_type()->is_oopptr()->cast_to_nonconst());
Node* mem_phi = PhiNode::make(region, wb_mem, Type::MEMORY, phase->C->alias_type(wb->adr_type())->adr_type());
Node* raw_mem_phi = PhiNode::make(region, raw_mem, Type::MEMORY, TypeRawPtr::BOTTOM);
More information about the shenandoah-dev
mailing list