--- old/src/share/vm/services/virtualMemoryTracker.cpp 2014-08-18 14:09:39.324572000 -0400 +++ new/src/share/vm/services/virtualMemoryTracker.cpp 2014-08-18 14:09:38.160522000 -0400 @@ -337,10 +337,18 @@ *reserved_rgn = rgn; return true; - } else { - ShouldNotReachHere(); - return false; - } + } + + // CDS mapping region. + // CDS reserves the whole region for mapping CDS archive, then maps each section into the region. + // NMT reports CDS as a whole. + if (reserved_rgn->flag() == mtClassShared) { + assert(reserved_rgn->contain_region(base_addr, size), "Reserved CDS region should contain this mapping region"); + return true; + } + + ShouldNotReachHere(); + return false; } } }