< prev index next >

test/hotspot/gtest/gc/shared/test_oopStorage.cpp

Print this page




 879     _workers = new WorkGang("OopStorageTestParIteration workers",
 880                             _max_workers,
 881                             false,
 882                             false);
 883     _workers->initialize_workers();
 884     _workers->update_active_workers(_max_workers);
 885   }
 886   return _workers;
 887 }
 888 
 889 template<bool concurrent, bool is_const>
 890 class OopStorageTestParIteration::Task : public AbstractGangTask {
 891   typedef OopStorage::ParState<concurrent, is_const> StateType;
 892 
 893   typedef typename Conditional<is_const,
 894                                const OopStorage,
 895                                OopStorage>::type Storage;
 896 
 897 public:
 898   Task(const char* name, Storage* storage, VerifyState* vstate) :
 899     AbstractGangTask(name, GCId::undefined()),
 900     _state(storage),
 901     _vstate(vstate)
 902   {}
 903 
 904   virtual void work(uint worker_id) {
 905     VerifyFn verifier(_vstate, worker_id);
 906     _state.iterate(verifier);
 907   }
 908 
 909 private:
 910   StateType _state;
 911   VerifyState* _vstate;
 912 };
 913 
 914 template<bool concurrent, bool is_const>
 915 class OopStorageTestParIteration::TaskUsingOopsDo : public AbstractGangTask {
 916 public:
 917   TaskUsingOopsDo(const char* name, OopStorage* storage, VerifyState* vstate) :
 918     AbstractGangTask(name, GCId::undefined()),
 919     _state(storage),
 920     _vstate(vstate)
 921   {}
 922 
 923   virtual void work(uint worker_id) {
 924     VerifyClosure verifier(_vstate, worker_id);
 925     _state.oops_do(&verifier);
 926   }
 927 
 928 private:
 929   OopStorage::ParState<concurrent, is_const> _state;
 930   VerifyState* _vstate;
 931 };
 932 
 933 class OopStorageTestParIteration::VM_ParStateVerify : public VM_GTestExecuteAtSafepoint {
 934 public:
 935   VM_ParStateVerify(WorkGang* workers, AbstractGangTask* task) :
 936     _workers(workers), _task(task)
 937   {}
 938 




 879     _workers = new WorkGang("OopStorageTestParIteration workers",
 880                             _max_workers,
 881                             false,
 882                             false);
 883     _workers->initialize_workers();
 884     _workers->update_active_workers(_max_workers);
 885   }
 886   return _workers;
 887 }
 888 
 889 template<bool concurrent, bool is_const>
 890 class OopStorageTestParIteration::Task : public AbstractGangTask {
 891   typedef OopStorage::ParState<concurrent, is_const> StateType;
 892 
 893   typedef typename Conditional<is_const,
 894                                const OopStorage,
 895                                OopStorage>::type Storage;
 896 
 897 public:
 898   Task(const char* name, Storage* storage, VerifyState* vstate) :
 899     AbstractGangTask(name),
 900     _state(storage),
 901     _vstate(vstate)
 902   {}
 903 
 904   virtual void work(uint worker_id) {
 905     VerifyFn verifier(_vstate, worker_id);
 906     _state.iterate(verifier);
 907   }
 908 
 909 private:
 910   StateType _state;
 911   VerifyState* _vstate;
 912 };
 913 
 914 template<bool concurrent, bool is_const>
 915 class OopStorageTestParIteration::TaskUsingOopsDo : public AbstractGangTask {
 916 public:
 917   TaskUsingOopsDo(const char* name, OopStorage* storage, VerifyState* vstate) :
 918     AbstractGangTask(name),
 919     _state(storage),
 920     _vstate(vstate)
 921   {}
 922 
 923   virtual void work(uint worker_id) {
 924     VerifyClosure verifier(_vstate, worker_id);
 925     _state.oops_do(&verifier);
 926   }
 927 
 928 private:
 929   OopStorage::ParState<concurrent, is_const> _state;
 930   VerifyState* _vstate;
 931 };
 932 
 933 class OopStorageTestParIteration::VM_ParStateVerify : public VM_GTestExecuteAtSafepoint {
 934 public:
 935   VM_ParStateVerify(WorkGang* workers, AbstractGangTask* task) :
 936     _workers(workers), _task(task)
 937   {}
 938 


< prev index next >