< prev index next >

src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotMethodData.java

Print this page

 88 
 89         final int argInfoDataSize = cellIndexToOffset(1);
 90 
 91         // sorted by tag
 92         // @formatter:off
 93         final HotSpotMethodDataAccessor[] profileDataAccessors = {
 94             null,
 95             new BitData(this, config.dataLayoutBitDataTag),
 96             new CounterData(this, config.dataLayoutCounterDataTag),
 97             new JumpData(this, config.dataLayoutJumpDataTag),
 98             new ReceiverTypeData(this, config.dataLayoutReceiverTypeDataTag),
 99             new VirtualCallData(this, config.dataLayoutVirtualCallDataTag),
100             new RetData(this, config.dataLayoutRetDataTag),
101             new BranchData(this, config.dataLayoutBranchDataTag),
102             new MultiBranchData(this, config.dataLayoutMultiBranchDataTag),
103             new ArgInfoData(this, config.dataLayoutArgInfoDataTag),
104             new UnknownProfileData(this, config.dataLayoutCallTypeDataTag),
105             new VirtualCallTypeData(this, config.dataLayoutVirtualCallTypeDataTag),
106             new UnknownProfileData(this, config.dataLayoutParametersTypeDataTag),
107             new UnknownProfileData(this, config.dataLayoutSpeculativeTrapDataTag),



108         };
109         // @formatter:on
110 
111         private boolean checkAccessorTags() {
112             int expectedTag = 0;
113             for (HotSpotMethodDataAccessor accessor : profileDataAccessors) {
114                 if (expectedTag == 0) {
115                     assert accessor == null;
116                 } else {
117                     assert accessor.tag == expectedTag : expectedTag + " != " + accessor.tag + " " + accessor;
118                 }
119                 expectedTag++;
120             }
121             return true;
122         }
123 
124         private VMState() {
125             assert checkAccessorTags();
126         }
127 

 88 
 89         final int argInfoDataSize = cellIndexToOffset(1);
 90 
 91         // sorted by tag
 92         // @formatter:off
 93         final HotSpotMethodDataAccessor[] profileDataAccessors = {
 94             null,
 95             new BitData(this, config.dataLayoutBitDataTag),
 96             new CounterData(this, config.dataLayoutCounterDataTag),
 97             new JumpData(this, config.dataLayoutJumpDataTag),
 98             new ReceiverTypeData(this, config.dataLayoutReceiverTypeDataTag),
 99             new VirtualCallData(this, config.dataLayoutVirtualCallDataTag),
100             new RetData(this, config.dataLayoutRetDataTag),
101             new BranchData(this, config.dataLayoutBranchDataTag),
102             new MultiBranchData(this, config.dataLayoutMultiBranchDataTag),
103             new ArgInfoData(this, config.dataLayoutArgInfoDataTag),
104             new UnknownProfileData(this, config.dataLayoutCallTypeDataTag),
105             new VirtualCallTypeData(this, config.dataLayoutVirtualCallTypeDataTag),
106             new UnknownProfileData(this, config.dataLayoutParametersTypeDataTag),
107             new UnknownProfileData(this, config.dataLayoutSpeculativeTrapDataTag),
108             new UnknownProfileData(this, config.dataLayoutArrayStoreDataTag),
109             new UnknownProfileData(this, config.dataLayoutArrayLoadDataTag),
110             new UnknownProfileData(this, config.dataLayoutACmpDataTag),
111         };
112         // @formatter:on
113 
114         private boolean checkAccessorTags() {
115             int expectedTag = 0;
116             for (HotSpotMethodDataAccessor accessor : profileDataAccessors) {
117                 if (expectedTag == 0) {
118                     assert accessor == null;
119                 } else {
120                     assert accessor.tag == expectedTag : expectedTag + " != " + accessor.tag + " " + accessor;
121                 }
122                 expectedTag++;
123             }
124             return true;
125         }
126 
127         private VMState() {
128             assert checkAccessorTags();
129         }
130 
< prev index next >