Skip to content

Commit fd2ee08

Browse files
author
Thomas Schatzl
committed
8361705: Clean up KlassCleaningTask
Reviewed-by: shade, ayang
1 parent 27c58c0 commit fd2ee08

File tree

2 files changed

+5
-10
lines changed

2 files changed

+5
-10
lines changed

src/hotspot/share/gc/shared/parallelCleaning.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ void CodeCacheUnloadingTask::work(uint worker_id) {
9595
}
9696

9797
KlassCleaningTask::KlassCleaningTask() :
98-
_clean_klass_tree_claimed(0),
98+
_clean_klass_tree_claimed(false),
9999
_klass_iterator() {
100100
}
101101

@@ -104,7 +104,7 @@ bool KlassCleaningTask::claim_clean_klass_tree_task() {
104104
return false;
105105
}
106106

107-
return Atomic::cmpxchg(&_clean_klass_tree_claimed, 0, 1) == 0;
107+
return !Atomic::cmpxchg(&_clean_klass_tree_claimed, false, true);
108108
}
109109

110110
InstanceKlass* KlassCleaningTask::claim_next_klass() {
@@ -118,8 +118,6 @@ InstanceKlass* KlassCleaningTask::claim_next_klass() {
118118
}
119119

120120
void KlassCleaningTask::work() {
121-
ResourceMark rm;
122-
123121
// One worker will clean the subklass/sibling klass tree.
124122
if (claim_clean_klass_tree_task()) {
125123
Klass::clean_weak_klass_links(true /* class_unloading_occurred */, false /* clean_alive_klasses */);

src/hotspot/share/gc/shared/parallelCleaning.hpp

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,19 +52,16 @@ class CodeCacheUnloadingTask {
5252
void work(uint worker_id);
5353
};
5454

55-
55+
// Cleans out the Klass tree from stale data.
5656
class KlassCleaningTask : public StackObj {
57-
volatile int _clean_klass_tree_claimed;
57+
volatile bool _clean_klass_tree_claimed;
5858
ClassLoaderDataGraphKlassIteratorAtomic _klass_iterator;
5959

60-
public:
61-
KlassCleaningTask();
62-
63-
private:
6460
bool claim_clean_klass_tree_task();
6561
InstanceKlass* claim_next_klass();
6662

6763
public:
64+
KlassCleaningTask();
6865

6966
void work();
7067
};

0 commit comments

Comments
 (0)