< prev index next >
src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp
Print this page
*** 658,668 ****
return c;
}
bool ZBarrierSetC2::array_copy_requires_gc_barriers(bool tightly_coupled_alloc, BasicType type, bool is_clone, ArrayCopyPhase phase) const {
! return type == T_OBJECT || type == T_ARRAY;
}
bool ZBarrierSetC2::final_graph_reshaping(Compile* compile, Node* n, uint opcode) const {
switch (opcode) {
case Op_LoadBarrier:
--- 658,668 ----
return c;
}
bool ZBarrierSetC2::array_copy_requires_gc_barriers(bool tightly_coupled_alloc, BasicType type, bool is_clone, ArrayCopyPhase phase) const {
! return is_reference_type(type);
}
bool ZBarrierSetC2::final_graph_reshaping(Compile* compile, Node* n, uint opcode) const {
switch (opcode) {
case Op_LoadBarrier:
*** 1365,1375 ****
if (is_old_node) {
if (n->is_LoadStore()) {
LoadStoreNode* lsn = n->as_LoadStore();
if (lsn->has_barrier()) {
BasicType bt = lsn->in(MemNode::Address)->bottom_type()->basic_type();
! assert ((bt == T_OBJECT || bt == T_ARRAY), "Sanity test");
insert_barrier_before_unsafe(phase, lsn);
}
}
}
for (uint i = 0; i < n->len(); i++) {
--- 1365,1375 ----
if (is_old_node) {
if (n->is_LoadStore()) {
LoadStoreNode* lsn = n->as_LoadStore();
if (lsn->has_barrier()) {
BasicType bt = lsn->in(MemNode::Address)->bottom_type()->basic_type();
! assert (is_reference_type(bt), "Sanity test");
insert_barrier_before_unsafe(phase, lsn);
}
}
}
for (uint i = 0; i < n->len(); i++) {
< prev index next >