Ejemplo n.º 1
0
MemRecorder::MemRecorder() {
  assert(MemTracker::is_on(), "Native memory tracking is off");
  Atomic::inc(&_instance_count);
  set_generation();

  if (MemTracker::track_callsite()) {
    _pointer_records = new (std::nothrow)FixedSizeMemPointerArray<SeqMemPointerRecordEx,
        DEFAULT_RECORDER_PTR_ARRAY_SIZE>();
  } else {
    _pointer_records = new (std::nothrow)FixedSizeMemPointerArray<SeqMemPointerRecord,
        DEFAULT_RECORDER_PTR_ARRAY_SIZE>();
  }
  _next = NULL;


  if (_pointer_records != NULL) {
    // recode itself
    record((address)this, (MemPointerRecord::malloc_tag()|mtNMT|otNMTRecorder),
        sizeof(MemRecorder), CALLER_PC);
    record((address)_pointer_records, (MemPointerRecord::malloc_tag()|mtNMT|otNMTRecorder),
        _pointer_records->instance_size(),CURRENT_PC);
  }
}
Ejemplo n.º 2
0
inline OopsInGenClosure::OopsInGenClosure(Generation* gen) :
  OopClosure(gen->ref_processor()), _orig_gen(gen), _rs(NULL) {
  set_generation(gen);
}