RFR(S): 8139673: NMT stack traces in output should show mt component

Jiangli Zhou jiangli.zhou at Oracle.COM
Tue Jan 10 17:14:39 UTC 2017


Hi Max,

Just a few questions for the change.

Any reason a new MemReporterBase::print_malloc() is added instead of just changing the existing MemReporterBase::print_malloc() API to include the extra ‘flag’ argument? 

The following check in MemDetailReporter::report_malloc_sites() makes me wonder why/when do you get an invalid flag. Should that be an assert?

  if (!(flag >= 0 && flag < (int)mt_number_of_types)) {
    flag = mtNone;
  }

Thanks,
Jiangli

> On Jan 10, 2017, at 8:16 AM, Max Ockner <max.ockner at oracle.com> wrote:
> 
> Hello,
> Please review this small enhancement to NMT detail report. I have added the memory type to the output for each NMT stacktrace.
> 
> Bug:  https://bugs.openjdk.java.net/browse/JDK-8139673
> Webrev: http://cr.openjdk.java.net/~mockner/8139673/
> 
> The old stacktrace output looks like this:
> 
> [0x00007f17135fdd93] OSThread::pd_initialize()+0x63
> [0x00007f17135fdc7f] OSThread::OSThread(int (*)(void*), void*)+0x2f
> [0x00007f171360e020] os::create_thread(Thread*, os::ThreadType, unsigned long)+0x80
> [0x00007f17139d1d3d] AbstractWorkGang::add_workers(unsigned int, bool)+0x18d
>                             (malloc=2KB #10)
> 
> The new stacktrace output looks like this:
> 
> [0x00007f17135fdd93] OSThread::pd_initialize()+0x63
> [0x00007f17135fdc7f] OSThread::OSThread(int (*)(void*), void*)+0x2f
> [0x00007f171360e020] os::create_thread(Thread*, os::ThreadType, unsigned long)+0x80
> [0x00007f17139d1d3d] AbstractWorkGang::add_workers(unsigned int, bool)+0x18d
>                             (malloc=2KB type=Internal #10)
> 
> Tested with jtreg NMT tests.
> 
> Thanks,
> Max



More information about the hotspot-runtime-dev mailing list