-
Type:
Enhancement
-
Resolution: Fixed
-
Priority:
P4
-
Affects Version/s: None
-
Component/s: hotspot
-
b08
Parallel GC, for some reason implements specialized local methods to iterate over array slices (PSPromotionManager::process_array_chunk_work):
template <class T>
void PSPromotionManager::process_array_chunk_work(oop obj, int start, int end) {
assert(start <= end, "invariant");
T* const base = (T*)objArrayOop(obj)->base();
T* p = base + start;
T* const chunk_end = base + end;
while (p < chunk_end) {
claim_or_forward_depth(p);
++p;
}
}
Investigate and potentially remove this code duplication.
template <class T>
void PSPromotionManager::process_array_chunk_work(oop obj, int start, int end) {
assert(start <= end, "invariant");
T* const base = (T*)objArrayOop(obj)->base();
T* p = base + start;
T* const chunk_end = base + end;
while (p < chunk_end) {
claim_or_forward_depth(p);
++p;
}
}
Investigate and potentially remove this code duplication.
- links to
-
Commit(master)
openjdk/jdk/848171a6
-
Review(master)
openjdk/jdk/29486