< 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 >