< prev index next >

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

Print this page

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



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

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