src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMethodData.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMethodData.java	Wed Oct 25 15:12:04 2017
--- new/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMethodData.java	Wed Oct 25 15:12:03 2017

*** 576,585 **** --- 576,592 ---- entries++; } } totalCount += getMethodsNotRecordedExecutionCount(data, position); + + // Fixup the case of C1's inability to optimize profiling of a statically bindable call site. + // If it's a monomorphic call site, attribute all the counts to the first type (if any is recorded). + if (entries == 1) { + counts[0] = totalCount; + } + return new RawItemProfile<>(entries, methods, counts, totalCount); } private JavaMethodProfile createMethodProfile(RawItemProfile<ResolvedJavaMethod> profile) { if (profile.entries <= 0 || profile.totalCount <= 0) {

src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMethodData.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File