File tree Expand file tree Collapse file tree 1 file changed +11
-3
lines changed
src/hotspot/share/gc/shenandoah/c2 Expand file tree Collapse file tree 1 file changed +11
-3
lines changed Original file line number Diff line number Diff line change @@ -2945,7 +2945,12 @@ const Type* ShenandoahLoadReferenceBarrierNode::bottom_type() const {
2945
2945
if (t == TypePtr::NULL_PTR) {
2946
2946
return t;
2947
2947
}
2948
- return t->is_oopptr ();
2948
+
2949
+ if (kind () == ShenandoahBarrierSet::AccessKind::NORMAL) {
2950
+ return t;
2951
+ }
2952
+
2953
+ return t->meet (TypePtr::NULL_PTR);
2949
2954
}
2950
2955
2951
2956
const Type* ShenandoahLoadReferenceBarrierNode::Value (PhaseGVN* phase) const {
@@ -2957,8 +2962,11 @@ const Type* ShenandoahLoadReferenceBarrierNode::Value(PhaseGVN* phase) const {
2957
2962
return t2;
2958
2963
}
2959
2964
2960
- const Type* type = t2->is_oopptr ();
2961
- return type;
2965
+ if (kind () == ShenandoahBarrierSet::AccessKind::NORMAL) {
2966
+ return t2;
2967
+ }
2968
+
2969
+ return t2->meet (TypePtr::NULL_PTR);
2962
2970
}
2963
2971
2964
2972
Node* ShenandoahLoadReferenceBarrierNode::Identity (PhaseGVN* phase) {
You can’t perform that action at this time.
0 commit comments