annotate jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMethodDataAccessor.java @ 24167:ac6f03d5b89e

Added tag jvmci-0.32 for changeset dad95e57f1de
author Doug Simon <doug.simon@oracle.com>
date Mon, 14 Aug 2017 21:19:49 +0200
parents a52d7039723b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23719
a52d7039723b fixed checkstyle issues
Doug Simon <doug.simon@oracle.com>
parents: 23717
diff changeset
1 /*
a52d7039723b fixed checkstyle issues
Doug Simon <doug.simon@oracle.com>
parents: 23717
diff changeset
2 * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
a52d7039723b fixed checkstyle issues
Doug Simon <doug.simon@oracle.com>
parents: 23717
diff changeset
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
a52d7039723b fixed checkstyle issues
Doug Simon <doug.simon@oracle.com>
parents: 23717
diff changeset
4 *
a52d7039723b fixed checkstyle issues
Doug Simon <doug.simon@oracle.com>
parents: 23717
diff changeset
5 * This code is free software; you can redistribute it and/or modify it
a52d7039723b fixed checkstyle issues
Doug Simon <doug.simon@oracle.com>
parents: 23717
diff changeset
6 * under the terms of the GNU General Public License version 2 only, as
a52d7039723b fixed checkstyle issues
Doug Simon <doug.simon@oracle.com>
parents: 23717
diff changeset
7 * published by the Free Software Foundation.
a52d7039723b fixed checkstyle issues
Doug Simon <doug.simon@oracle.com>
parents: 23717
diff changeset
8 *
a52d7039723b fixed checkstyle issues
Doug Simon <doug.simon@oracle.com>
parents: 23717
diff changeset
9 * This code is distributed in the hope that it will be useful, but WITHOUT
a52d7039723b fixed checkstyle issues
Doug Simon <doug.simon@oracle.com>
parents: 23717
diff changeset
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
a52d7039723b fixed checkstyle issues
Doug Simon <doug.simon@oracle.com>
parents: 23717
diff changeset
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
a52d7039723b fixed checkstyle issues
Doug Simon <doug.simon@oracle.com>
parents: 23717
diff changeset
12 * version 2 for more details (a copy is included in the LICENSE file that
a52d7039723b fixed checkstyle issues
Doug Simon <doug.simon@oracle.com>
parents: 23717
diff changeset
13 * accompanied this code).
a52d7039723b fixed checkstyle issues
Doug Simon <doug.simon@oracle.com>
parents: 23717
diff changeset
14 *
a52d7039723b fixed checkstyle issues
Doug Simon <doug.simon@oracle.com>
parents: 23717
diff changeset
15 * You should have received a copy of the GNU General Public License version
a52d7039723b fixed checkstyle issues
Doug Simon <doug.simon@oracle.com>
parents: 23717
diff changeset
16 * 2 along with this work; if not, write to the Free Software Foundation,
a52d7039723b fixed checkstyle issues
Doug Simon <doug.simon@oracle.com>
parents: 23717
diff changeset
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
a52d7039723b fixed checkstyle issues
Doug Simon <doug.simon@oracle.com>
parents: 23717
diff changeset
18 *
a52d7039723b fixed checkstyle issues
Doug Simon <doug.simon@oracle.com>
parents: 23717
diff changeset
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
a52d7039723b fixed checkstyle issues
Doug Simon <doug.simon@oracle.com>
parents: 23717
diff changeset
20 * or visit www.oracle.com if you need additional information or have any
a52d7039723b fixed checkstyle issues
Doug Simon <doug.simon@oracle.com>
parents: 23717
diff changeset
21 * questions.
a52d7039723b fixed checkstyle issues
Doug Simon <doug.simon@oracle.com>
parents: 23717
diff changeset
22 */
22672
1bbd4a7c274b Rename jdk.internal.jvmci to jdk.vm.ci
Tom Rodriguez <tom.rodriguez@oracle.com>
parents: 22581
diff changeset
23 package jdk.vm.ci.hotspot;
4439
f7251c729b31 profiling info first try
Christian Haeubl <christian.haeubl@oracle.com>
parents:
diff changeset
24
22672
1bbd4a7c274b Rename jdk.internal.jvmci to jdk.vm.ci
Tom Rodriguez <tom.rodriguez@oracle.com>
parents: 22581
diff changeset
25 import jdk.vm.ci.meta.JavaMethodProfile;
1bbd4a7c274b Rename jdk.internal.jvmci to jdk.vm.ci
Tom Rodriguez <tom.rodriguez@oracle.com>
parents: 22581
diff changeset
26 import jdk.vm.ci.meta.JavaTypeProfile;
1bbd4a7c274b Rename jdk.internal.jvmci to jdk.vm.ci
Tom Rodriguez <tom.rodriguez@oracle.com>
parents: 22581
diff changeset
27 import jdk.vm.ci.meta.ProfilingInfo;
1bbd4a7c274b Rename jdk.internal.jvmci to jdk.vm.ci
Tom Rodriguez <tom.rodriguez@oracle.com>
parents: 22581
diff changeset
28 import jdk.vm.ci.meta.TriState;
21556
48c1ebd24120 renamed com.oracle.graal.api[meta|code] modules to com.oracle.jvmci.[meta|code] (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents: 21552
diff changeset
29
4448
9e8e92c3ff17 first parts for inlining multiple methods, added Simplifiable to switch nodes, some documentation
Christian Haeubl <christian.haeubl@oracle.com>
parents: 4441
diff changeset
30 /**
23717
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
31 * Base class for accessing the different kinds of data in a HotSpot {@code MethodData}. This is
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
32 * similar to {@link ProfilingInfo}, but most methods require a {@link HotSpotMethodData} and the
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
33 * exact position within the method data.
4448
9e8e92c3ff17 first parts for inlining multiple methods, added Simplifiable to switch nodes, some documentation
Christian Haeubl <christian.haeubl@oracle.com>
parents: 4441
diff changeset
34 */
23717
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
35 abstract class HotSpotMethodDataAccessor {
7530
5e3d1a68664e applied mx eclipseformat to all Java files
Doug Simon <doug.simon@oracle.com>
parents: 6539
diff changeset
36
23717
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
37 final int tag;
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
38 final int staticSize;
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
39 final HotSpotVMConfig config;
14706
579a2a124c95 add HotSpotMethodDataAccessor.Tag enum and dummy entries to PROFILE_DATA_ACCESSORS for new profile types
twisti
parents: 13139
diff changeset
40
23717
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
41 protected HotSpotMethodDataAccessor(HotSpotVMConfig config, int tag, int staticSize) {
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
42 this.config = config;
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
43 this.tag = tag;
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
44 this.staticSize = staticSize;
14706
579a2a124c95 add HotSpotMethodDataAccessor.Tag enum and dummy entries to PROFILE_DATA_ACCESSORS for new profile types
twisti
parents: 13139
diff changeset
45 }
579a2a124c95 add HotSpotMethodDataAccessor.Tag enum and dummy entries to PROFILE_DATA_ACCESSORS for new profile types
twisti
parents: 13139
diff changeset
46
579a2a124c95 add HotSpotMethodDataAccessor.Tag enum and dummy entries to PROFILE_DATA_ACCESSORS for new profile types
twisti
parents: 13139
diff changeset
47 /**
23717
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
48 * Returns the tag stored in the LayoutData header.
14909
4ca6dc0799b6 Backout jdk9 merge
Gilles Duboscq <duboscq@ssw.jku.at>
parents: 14906
diff changeset
49 *
14706
579a2a124c95 add HotSpotMethodDataAccessor.Tag enum and dummy entries to PROFILE_DATA_ACCESSORS for new profile types
twisti
parents: 13139
diff changeset
50 * @return tag stored in the LayoutData header
4448
9e8e92c3ff17 first parts for inlining multiple methods, added Simplifiable to switch nodes, some documentation
Christian Haeubl <christian.haeubl@oracle.com>
parents: 4441
diff changeset
51 */
23717
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
52 int getTag() {
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
53 return tag;
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
54 }
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
55
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
56 static int readTag(HotSpotVMConfig config, HotSpotMethodData data, int position) {
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
57 final int tag = data.readUnsignedByte(position, config.dataLayoutTagOffset);
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
58 assert tag >= config.dataLayoutNoTag && tag <= config.dataLayoutSpeculativeTrapDataTag : "profile data tag out of bounds: " + tag;
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
59 return tag;
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
60 }
4448
9e8e92c3ff17 first parts for inlining multiple methods, added Simplifiable to switch nodes, some documentation
Christian Haeubl <christian.haeubl@oracle.com>
parents: 4441
diff changeset
61
9e8e92c3ff17 first parts for inlining multiple methods, added Simplifiable to switch nodes, some documentation
Christian Haeubl <christian.haeubl@oracle.com>
parents: 4441
diff changeset
62 /**
9e8e92c3ff17 first parts for inlining multiple methods, added Simplifiable to switch nodes, some documentation
Christian Haeubl <christian.haeubl@oracle.com>
parents: 4441
diff changeset
63 * Returns the BCI stored in the LayoutData header.
14909
4ca6dc0799b6 Backout jdk9 merge
Gilles Duboscq <duboscq@ssw.jku.at>
parents: 14906
diff changeset
64 *
23717
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
65 * @return an integer between 0 and {@link Short#MAX_VALUE} inclusive, or -1 if not supported
4448
9e8e92c3ff17 first parts for inlining multiple methods, added Simplifiable to switch nodes, some documentation
Christian Haeubl <christian.haeubl@oracle.com>
parents: 4441
diff changeset
66 */
23717
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
67 int getBCI(HotSpotMethodData data, int position) {
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
68 return data.readUnsignedShort(position, config.dataLayoutBCIOffset);
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
69 }
4448
9e8e92c3ff17 first parts for inlining multiple methods, added Simplifiable to switch nodes, some documentation
Christian Haeubl <christian.haeubl@oracle.com>
parents: 4441
diff changeset
70
9e8e92c3ff17 first parts for inlining multiple methods, added Simplifiable to switch nodes, some documentation
Christian Haeubl <christian.haeubl@oracle.com>
parents: 4441
diff changeset
71 /**
9e8e92c3ff17 first parts for inlining multiple methods, added Simplifiable to switch nodes, some documentation
Christian Haeubl <christian.haeubl@oracle.com>
parents: 4441
diff changeset
72 * Computes the size for the specific data at the given position.
14909
4ca6dc0799b6 Backout jdk9 merge
Gilles Duboscq <duboscq@ssw.jku.at>
parents: 14906
diff changeset
73 *
23717
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
74 * @return a value greater than 0
4448
9e8e92c3ff17 first parts for inlining multiple methods, added Simplifiable to switch nodes, some documentation
Christian Haeubl <christian.haeubl@oracle.com>
parents: 4441
diff changeset
75 */
23717
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
76 final int getSize(HotSpotMethodData data, int position) {
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
77 int size = staticSize + getDynamicSize(data, position);
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
78 // Sanity check against VM
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
79 int vmSize = HotSpotJVMCIRuntime.runtime().compilerToVm.methodDataProfileDataSize(data.metaspaceMethodData, position);
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
80 assert size == vmSize : size + " != " + vmSize;
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
81 return size;
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
82 }
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
83
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
84 TriState getExceptionSeen(HotSpotMethodData data, int position) {
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
85 final int exceptionsMask = 1 << config.bitDataExceptionSeenFlag;
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
86 return TriState.get((getFlags(data, position) & exceptionsMask) != 0);
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
87 }
4439
f7251c729b31 profiling info first try
Christian Haeubl <christian.haeubl@oracle.com>
parents:
diff changeset
88
23717
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
89 /**
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
90 * @param data
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
91 * @param position
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
92 */
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
93 JavaTypeProfile getTypeProfile(HotSpotMethodData data, int position) {
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
94 return null;
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
95 }
7530
5e3d1a68664e applied mx eclipseformat to all Java files
Doug Simon <doug.simon@oracle.com>
parents: 6539
diff changeset
96
23717
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
97 /**
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
98 * @param data
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
99 * @param position
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
100 */
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
101 JavaMethodProfile getMethodProfile(HotSpotMethodData data, int position) {
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
102 return null;
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
103 }
9760
c76b43ed5089 Added infrastructure for recording invoked methods in the profiling information.
Christian Haeubl <haeubl@ssw.jku.at>
parents: 8610
diff changeset
104
23717
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
105 /**
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
106 * @param data
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
107 * @param position
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
108 */
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
109 double getBranchTakenProbability(HotSpotMethodData data, int position) {
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
110 return -1;
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
111 }
7530
5e3d1a68664e applied mx eclipseformat to all Java files
Doug Simon <doug.simon@oracle.com>
parents: 6539
diff changeset
112
23717
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
113 /**
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
114 * @param data
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
115 * @param position
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
116 */
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
117 double[] getSwitchProbabilities(HotSpotMethodData data, int position) {
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
118 return null;
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
119 }
7530
5e3d1a68664e applied mx eclipseformat to all Java files
Doug Simon <doug.simon@oracle.com>
parents: 6539
diff changeset
120
23717
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
121 /**
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
122 * @param data
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
123 * @param position
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
124 */
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
125 int getExecutionCount(HotSpotMethodData data, int position) {
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
126 return -1;
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
127 }
8610
5407d1dd6450 API to access nullness profiling information for instanceof, checkcast, and aastore
Christian Haeubl <haeubl@ssw.jku.at>
parents: 7530
diff changeset
128
23717
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
129 /**
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
130 * @param data
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
131 * @param position
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
132 */
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
133 TriState getNullSeen(HotSpotMethodData data, int position) {
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
134 return TriState.UNKNOWN;
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
135 }
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
136
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
137 protected int getFlags(HotSpotMethodData data, int position) {
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
138 return data.readUnsignedByte(position, config.dataLayoutFlagsOffset);
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
139 }
7530
5e3d1a68664e applied mx eclipseformat to all Java files
Doug Simon <doug.simon@oracle.com>
parents: 6539
diff changeset
140
23717
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
141 /**
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
142 * @param data
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
143 * @param position
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
144 */
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
145 protected int getDynamicSize(HotSpotMethodData data, int position) {
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
146 return 0;
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
147 }
13139
f9d908fb3492 added toString() to HotSpotMethodData to assist with debugging low-level profile data reading
Doug Simon <doug.simon@oracle.com>
parents: 9760
diff changeset
148
23717
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
149 abstract StringBuilder appendTo(StringBuilder sb, HotSpotMethodData data, int pos);
41fa89f93355 removed jdk.vm.ci.hotspot.HotSpotMethodDataAccessor.Tag (JDK-8159613)
Doug Simon <doug.simon@oracle.com>
parents: 23297
diff changeset
150
4439
f7251c729b31 profiling info first try
Christian Haeubl <christian.haeubl@oracle.com>
parents:
diff changeset
151 }