src/share/vm/runtime/perfData.cpp

Print this page
rev 4773 : 8005849: JEP 167: Event-Based JVM Tracing
Reviewed-by: acorn, coleenp, sla
Contributed-by: Karen Kinnear <karen.kinnear@oracle.com>, Bengt Rutisson <bengt.rutisson@oracle.com>, Calvin Cheung <calvin.cheung@oracle.com>, Erik Gahlin <erik.gahlin@oracle.com>, Erik Helin <erik.helin@oracle.com>, Jesper Wilhelmsson <jesper.wilhelmsson@oracle.com>, Keith McGuigan <keith.mcguigan@oracle.com>, Mattias Tobiasson <mattias.tobiasson@oracle.com>, Markus Gronlund <markus.gronlund@oracle.com>, Mikael Auno <mikael.auno@oracle.com>, Nils Eliasson <nils.eliasson@oracle.com>, Nils Loodin <nils.loodin@oracle.com>, Rickard Backman <rickard.backman@oracle.com>, Staffan Larsen <staffan.larsen@oracle.com>, Stefan Karlsson <stefan.karlsson@oracle.com>, Yekaterina Kantserova <yekaterina.kantserova@oracle.com>


 306 
 307   // add to the list of all perf data items
 308   _all->append(p);
 309 
 310   if (p->variability() == PerfData::V_Constant) {
 311     if (_constants == NULL) {
 312       _constants = new PerfDataList(25);
 313     }
 314     _constants->append(p);
 315     return;
 316   }
 317 
 318   if (sampled) {
 319     if (_sampled == NULL) {
 320       _sampled = new PerfDataList(25);
 321     }
 322     _sampled->append(p);
 323   }
 324 }
 325 




 326 PerfDataList* PerfDataManager::all() {
 327 
 328   MutexLocker ml(PerfDataManager_lock);
 329 
 330   if (_all == NULL)
 331     return NULL;
 332 
 333   PerfDataList* clone = _all->clone();
 334   return clone;
 335 }
 336 
 337 PerfDataList* PerfDataManager::sampled() {
 338 
 339   MutexLocker ml(PerfDataManager_lock);
 340 
 341   if (_sampled == NULL)
 342     return NULL;
 343 
 344   PerfDataList* clone = _sampled->clone();
 345   return clone;




 306 
 307   // add to the list of all perf data items
 308   _all->append(p);
 309 
 310   if (p->variability() == PerfData::V_Constant) {
 311     if (_constants == NULL) {
 312       _constants = new PerfDataList(25);
 313     }
 314     _constants->append(p);
 315     return;
 316   }
 317 
 318   if (sampled) {
 319     if (_sampled == NULL) {
 320       _sampled = new PerfDataList(25);
 321     }
 322     _sampled->append(p);
 323   }
 324 }
 325 
 326 PerfData* PerfDataManager::find_by_name(const char* name) {
 327   return _all->find_by_name(name);
 328 }
 329 
 330 PerfDataList* PerfDataManager::all() {
 331 
 332   MutexLocker ml(PerfDataManager_lock);
 333 
 334   if (_all == NULL)
 335     return NULL;
 336 
 337   PerfDataList* clone = _all->clone();
 338   return clone;
 339 }
 340 
 341 PerfDataList* PerfDataManager::sampled() {
 342 
 343   MutexLocker ml(PerfDataManager_lock);
 344 
 345   if (_sampled == NULL)
 346     return NULL;
 347 
 348   PerfDataList* clone = _sampled->clone();
 349   return clone;