mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-17 17:44:40 +02:00
8202377: Modularize C2 GC barriers
Reviewed-by: neliasso, roland
This commit is contained in:
parent
2aa9d028c7
commit
53ec88908c
31 changed files with 2648 additions and 1832 deletions
|
@ -550,9 +550,9 @@ Node* PhaseMacroExpand::generate_arraycopy(ArrayCopyNode *ac, AllocateArrayNode*
|
|||
}
|
||||
// At this point we know we do not need type checks on oop stores.
|
||||
|
||||
// Let's see if we need card marks:
|
||||
if (alloc != NULL && GraphKit::use_ReduceInitialCardMarks()) {
|
||||
// If we do not need card marks, copy using the jint or jlong stub.
|
||||
BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2();
|
||||
if (alloc != NULL && !bs->array_copy_requires_gc_barriers(copy_type)) {
|
||||
// If we do not need gc barriers, copy using the jint or jlong stub.
|
||||
copy_type = LP64_ONLY(UseCompressedOops ? T_INT : T_LONG) NOT_LP64(T_INT);
|
||||
assert(type2aelembytes(basic_elem_type) == type2aelembytes(copy_type),
|
||||
"sizes agree");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue