< prev index next >

src/share/vm/oops/methodData.hpp

Print this page

        

*** 533,542 **** --- 533,543 ---- // BitData // // A BitData holds a flag or two in its header. class BitData : public ProfileData { + friend class VMStructs; protected: enum { // null_seen: // saw a null operand (cast/aastore/instanceof) null_seen_flag = DataLayout::first_flag + 0
*** 601,610 **** --- 602,612 ---- // CounterData // // A CounterData corresponds to a simple counter. class CounterData : public BitData { + friend class VMStructs; protected: enum { count_off, counter_cell_count };
*** 665,674 **** --- 667,677 ---- // A JumpData is used to access profiling information for a direct // branch. It is a counter, used for counting the number of branches, // plus a data displacement, used for realigning the data pointer to // the corresponding target bci. class JumpData : public ProfileData { + friend class VMStructs; protected: enum { taken_off_set, displacement_off_set, jump_cell_count
*** 1171,1180 **** --- 1174,1184 ---- // A ReceiverTypeData is used to access profiling information about a // dynamic type check. It consists of a counter which counts the total times // that the check is reached, and a series of (Klass*, count) pairs // which are used to store a type profile for the receiver of the check. class ReceiverTypeData : public CounterData { + friend class VMStructs; protected: enum { #if INCLUDE_JVMCI // Description of the different counters // ReceiverTypeData for instanceof/checkcast/aastore:
*** 1676,1685 **** --- 1680,1690 ---- // // A BranchData is used to access profiling data for a two-way branch. // It consists of taken and not_taken counts as well as a data displacement // for the taken case. class BranchData : public JumpData { + friend class VMStructs; protected: enum { not_taken_off_set = jump_cell_count, branch_cell_count };
*** 1752,1761 **** --- 1757,1767 ---- // // A ArrayData is a base class for accessing profiling data which does // not have a statically known size. It consists of an array length // and an array start. class ArrayData : public ProfileData { + friend class VMStructs; protected: friend class DataLayout; enum { array_len_off_set,
*** 1829,1838 **** --- 1835,1845 ---- // A MultiBranchData is used to access profiling information for // a multi-way branch (*switch bytecodes). It consists of a series // of (count, displacement) pairs, which count the number of times each // case was taken and specify the data displacment for each branch target. class MultiBranchData : public ArrayData { + friend class VMStructs; protected: enum { default_count_off_set, default_disaplacement_off_set, case_array_start
< prev index next >