@@ -711,7 +711,7 @@ Node* PhaseMacroExpand::generate_arraycopy(ArrayCopyNode *ac, AllocateArrayNode*
711
711
// a subsequent store that would make this object accessible by
712
712
// other threads.
713
713
insert_mem_bar (ctrl, &out_mem, Op_MemBarStoreStore);
714
- } else if (InsertMemBarAfterArraycopy) {
714
+ } else {
715
715
insert_mem_bar (ctrl, &out_mem, Op_MemBarCPUOrder);
716
716
}
717
717
@@ -1101,9 +1101,6 @@ void PhaseMacroExpand::expand_arraycopy_node(ArrayCopyNode *ac) {
1101
1101
merge_mem = MergeMemNode::make (mem);
1102
1102
transform_later (merge_mem);
1103
1103
1104
- RegionNode* slow_region = new RegionNode (1 );
1105
- transform_later (slow_region);
1106
-
1107
1104
AllocateArrayNode* alloc = NULL ;
1108
1105
if (ac->is_alloc_tightly_coupled ()) {
1109
1106
alloc = AllocateArrayNode::Ideal_array_allocation (dest, &_igvn);
@@ -1176,15 +1173,6 @@ void PhaseMacroExpand::expand_arraycopy_node(ArrayCopyNode *ac) {
1176
1173
// If a negative length guard was generated for the ArrayCopyNode,
1177
1174
// the length of the array can never be negative.
1178
1175
false , ac->has_negative_length_guard ());
1179
-
1180
- // Do not let reads from the destination float above the arraycopy.
1181
- // Since we cannot type the arrays, we don't know which slices
1182
- // might be affected. We could restrict this barrier only to those
1183
- // memory slices which pertain to array elements--but don't bother.
1184
- if (!InsertMemBarAfterArraycopy) {
1185
- // (If InsertMemBarAfterArraycopy, there is already one in place.)
1186
- insert_mem_bar (&ctrl, &mem, Op_MemBarCPUOrder);
1187
- }
1188
1176
return ;
1189
1177
}
1190
1178
0 commit comments