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;
|