diff -r c7774afc93e3 -r 9536c39ac6de src/hotspot/share/services/memReporter.cpp --- a/src/hotspot/share/services/memReporter.cpp Tue Feb 06 18:10:30 2018 -0500 +++ b/src/hotspot/share/services/memReporter.cpp Tue Feb 06 08:24:36 2018 -0500 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -145,7 +145,10 @@ if (flag == mtClass) { // report class count - out->print_cr("%27s (classes #" SIZE_FORMAT ")", " ", _class_count); + out->print_cr("%27s (classes #" SIZE_FORMAT ")", + " ", (_instance_class_count + _array_class_count)); + out->print_cr("%27s ( instance classes #" SIZE_FORMAT ", array classes #" SIZE_FORMAT ")", + " ", _instance_class_count, _array_class_count); } else if (flag == mtThread) { // report thread count out->print_cr("%27s (thread #" SIZE_FORMAT ")", " ", _malloc_snapshot->thread_count()); @@ -459,6 +462,17 @@ out->print(" %+d", (int)(_current_baseline.class_count() - _early_baseline.class_count())); } out->print_cr(")"); + + out->print("%27s ( instance classes #" SIZE_FORMAT, " ", _current_baseline.instance_class_count()); + if (_current_baseline.instance_class_count() != _early_baseline.instance_class_count()) { + out->print(" %+d", (int)(_current_baseline.instance_class_count() - _early_baseline.instance_class_count())); + } + out->print(", array classes #" SIZE_FORMAT, _current_baseline.array_class_count()); + if (_current_baseline.array_class_count() != _early_baseline.array_class_count()) { + out->print(" %+d", (int)(_current_baseline.array_class_count() - _early_baseline.array_class_count())); + } + out->print_cr(")"); + } else if (flag == mtThread) { // report thread count out->print("%27s (thread #" SIZE_FORMAT "", " ", _current_baseline.thread_count());