Mercurial > hg > graal-jvmci-8
changeset 23757:aaed278a9cf1
Fix logic for printing HotSpotMethodData
author | Tom Rodriguez <tom.rodriguez@oracle.com> |
---|---|
date | Wed, 21 Sep 2016 20:14:12 -0700 |
parents | d64936a16a13 |
children | ca5c97226d1c |
files | jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMethodData.java jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl.java |
diffstat | 2 files changed, 13 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMethodData.java Wed Sep 21 20:08:53 2016 -0700 +++ b/jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMethodData.java Wed Sep 21 20:14:12 2016 -0700 @@ -53,7 +53,7 @@ * Reference to the C++ MethodData object. */ final long metaspaceMethodData; - @SuppressWarnings("unused") private final HotSpotResolvedJavaMethodImpl method; + private final HotSpotResolvedJavaMethodImpl method; HotSpotMethodData(long metaspaceMethodData, HotSpotResolvedJavaMethodImpl method) { this.metaspaceMethodData = metaspaceMethodData; @@ -214,6 +214,10 @@ StringBuilder sb = new StringBuilder(); String nl = String.format("%n"); String nlIndent = String.format("%n%38s", ""); + sb.append("Raw method data for "); + sb.append(method.format("%H.%n(%p)")); + sb.append(":"); + sb.append(nl); if (hasNormalData()) { int pos = 0; HotSpotMethodDataAccessor data; @@ -427,6 +431,10 @@ protected abstract long getTypesNotRecordedExecutionCount(HotSpotMethodData data, int position); + public int getNonprofiledCount(HotSpotMethodData data, int position) { + return data.readUnsignedIntAsSignedInt(position, NONPROFILED_COUNT_OFFSET); + } + private JavaTypeProfile createTypeProfile(TriState nullSeen, RawItemProfile<ResolvedJavaType> profile) { if (profile.entries <= 0 || profile.totalCount <= 0) { return null; @@ -462,7 +470,7 @@ TriState nullSeen = getNullSeen(data, pos); TriState exceptionSeen = getExceptionSeen(data, pos); sb.append(format("count(%d) null_seen(%s) exception_seen(%s) nonprofiled_count(%d) entries(%d)", getCounterValue(data, pos), nullSeen, exceptionSeen, - getTypesNotRecordedExecutionCount(data, pos), profile.entries)); + getNonprofiledCount(data, pos), profile.entries)); for (int i = 0; i < profile.entries; i++) { long count = profile.counts[i]; sb.append(format("%n %s (%d, %4.2f)", profile.items[i].toJavaName(), count, (double) count / profile.totalCount)); @@ -490,7 +498,7 @@ @Override protected long getTypesNotRecordedExecutionCount(HotSpotMethodData data, int position) { - return data.readUnsignedIntAsSignedInt(position, NONPROFILED_COUNT_OFFSET); + return getNonprofiledCount(data, position); } } @@ -788,7 +796,8 @@ @Override public StringBuilder appendTo(StringBuilder sb, HotSpotMethodData data, int pos) { - return null; + sb.append("unknown profile data with tag: " + tag); + return sb; } }
--- a/jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl.java Wed Sep 21 20:08:53 2016 -0700 +++ b/jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl.java Wed Sep 21 20:14:12 2016 -0700 @@ -436,7 +436,6 @@ methodData = new HotSpotMethodData(metaspaceMethodData, this); String methodDataFilter = Option.TraceMethodDataFilter.getString(); if (methodDataFilter != null && this.format("%H.%n").contains(methodDataFilter)) { - System.out.println("Raw method data for " + this.format("%H.%n(%p)") + ":"); System.out.println(methodData.toString()); } }