comparison src/share/vm/services/memSnapshot.hpp @ 7464:ecd24264898b

8005048: NMT: #loaded classes needs to just show the # defined classes Summary: Count number of instance classes so that it matches class metadata size Reviewed-by: coleenp, acorn
author zgu
date Tue, 08 Jan 2013 14:04:25 -0500
parents 49cbd3e25ba9
children b80cc96882f7
comparison
equal deleted inserted replaced
7396:4a2ed49abd51 7464:ecd24264898b
353 StagingArea _staging_area; 353 StagingArea _staging_area;
354 354
355 // the lock to protect this snapshot 355 // the lock to protect this snapshot
356 Monitor* _lock; 356 Monitor* _lock;
357 357
358 // the number of instance classes
359 int _number_of_classes;
360
358 NOT_PRODUCT(size_t _untracked_count;) 361 NOT_PRODUCT(size_t _untracked_count;)
359 friend class MemBaseline; 362 friend class MemBaseline;
360 363
361 public: 364 public:
362 MemSnapshot(); 365 MemSnapshot();
373 } 376 }
374 377
375 // merge a per-thread memory recorder into staging area 378 // merge a per-thread memory recorder into staging area
376 bool merge(MemRecorder* rec); 379 bool merge(MemRecorder* rec);
377 // promote staged data to snapshot 380 // promote staged data to snapshot
378 bool promote(); 381 bool promote(int number_of_classes);
379 382
383 int number_of_classes() const { return _number_of_classes; }
380 384
381 void wait(long timeout) { 385 void wait(long timeout) {
382 assert(_lock != NULL, "Just check"); 386 assert(_lock != NULL, "Just check");
383 MonitorLockerEx locker(_lock); 387 MonitorLockerEx locker(_lock);
384 locker.wait(true, timeout); 388 locker.wait(true, timeout);