Skip to content

Commit

Permalink
Move ParallelGCArraySlicer into .inline.hpp file
Browse files Browse the repository at this point in the history
  • Loading branch information
rkennke committed Jul 3, 2024
1 parent 74f1fd9 commit 8b7f479
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 25 deletions.
25 changes: 0 additions & 25 deletions src/hotspot/share/gc/parallel/psPromotionManager.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -177,29 +177,4 @@ class PSPromotionManager {
void push_contents_bounded(oop obj, HeapWord* left, HeapWord* right);
};

class ParallelGCArraySlicer : public ArraySlicer {
PSPromotionManager* _promotion_manager;
public:
explicit ParallelGCArraySlicer(PSPromotionManager* promotion_manager) :
_promotion_manager(promotion_manager) {}

void scan_metadata(objArrayOop array) {
// Nothing to do here.
}
void push_on_queue(ArraySliceTask task) {
_promotion_manager->push_depth(task);
TASKQUEUE_STATS_ONLY(++_promotion_manager->_array_chunk_pushes);
}
size_t scan_array(objArrayOop array, int start, int end) {
if (UseCompressedOops) {
_promotion_manager->process_array_chunk_work<narrowOop>(array, start, end);
} else {
_promotion_manager->process_array_chunk_work<oop>(array, start, end);
}
TASKQUEUE_STATS_ONLY(++_promotion_manager->_array_chunks_processed);
return 0; // Not used in ParallelGC
}
};


#endif // SHARE_GC_PARALLEL_PSPROMOTIONMANAGER_HPP
25 changes: 25 additions & 0 deletions src/hotspot/share/gc/parallel/psPromotionManager.inline.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,31 @@
#include "runtime/prefetch.inline.hpp"
#include "utilities/copy.hpp"


class ParallelGCArraySlicer : public ArraySlicer {
PSPromotionManager* _promotion_manager;
public:
explicit ParallelGCArraySlicer(PSPromotionManager* promotion_manager) :
_promotion_manager(promotion_manager) {}

void scan_metadata(objArrayOop array) {
// Nothing to do here.
}
void push_on_queue(ArraySliceTask task) {
_promotion_manager->push_depth(task);
TASKQUEUE_STATS_ONLY(++_promotion_manager->_array_chunk_pushes);
}
size_t scan_array(objArrayOop array, int start, int end) {
if (UseCompressedOops) {
_promotion_manager->process_array_chunk_work<narrowOop>(array, start, end);
} else {
_promotion_manager->process_array_chunk_work<oop>(array, start, end);
}
TASKQUEUE_STATS_ONLY(++_promotion_manager->_array_chunks_processed);
return 0; // Not used in ParallelGC
}
};

inline PSPromotionManager* PSPromotionManager::manager_array(uint index) {
assert(_manager_array != nullptr, "access of null manager_array");
assert(index < ParallelGCThreads, "out of range manager_array access");
Expand Down

0 comments on commit 8b7f479

Please sign in to comment.