Mercurial > hg > graal-jvmci-8
annotate jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMethodDataAccessor.java @ 23789:0cb263db490f
use MethodParameters attribute instead of depending on -g option for sanity checks (JDK-8168915)
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Fri, 04 Nov 2016 14:22:47 +0100 |
parents | a52d7039723b |
children |
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 | 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 | 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 | 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 } |