src/share/vm/oops/methodData.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
hotspot Cdiff src/share/vm/oops/methodData.hpp
src/share/vm/oops/methodData.hpp
Print this page
rev 6132 : 8037970: make PrintMethodData a diagnostic options
Summary: make PrintMethodData a diagnostic options for performance investigation
Reviewed-by:
*** 278,293 ****
class ProfileData : public ResourceObj {
friend class TypeEntries;
friend class ReturnTypeEntry;
friend class TypeStackSlotEntries;
private:
- #ifndef PRODUCT
enum {
tab_width_one = 16,
tab_width_two = 36
};
- #endif // !PRODUCT
// This is a pointer to a section of profiling data.
DataLayout* _data;
char* print_data_on_helper(const MethodData* md) const;
--- 278,291 ----
*** 519,532 ****
ShouldNotReachHere();
}
void print_data_on(outputStream* st, const MethodData* md) const;
- #ifndef PRODUCT
void print_shared(outputStream* st, const char* name, const char* extra) const;
void tab(outputStream* st, bool first = false) const;
- #endif
};
// BitData
//
// A BitData holds a flag or two in its header.
--- 517,528 ----
*** 581,593 ****
static DataLayout* advance(DataLayout* layout) {
return (DataLayout*) (((address)layout) + (ssize_t)BitData::bit_data_size_in_bytes());
}
#endif // CC_INTERP
- #ifndef PRODUCT
void print_data_on(outputStream* st, const char* extra = NULL) const;
- #endif
};
// CounterData
//
// A CounterData corresponds to a simple counter.
--- 577,587 ----
*** 644,656 ****
static DataLayout* advance(DataLayout* layout) {
return (DataLayout*) (((address)layout) + (ssize_t)CounterData::counter_data_size_in_bytes());
}
#endif // CC_INTERP
- #ifndef PRODUCT
void print_data_on(outputStream* st, const char* extra = NULL) const;
- #endif
};
// JumpData
//
// A JumpData is used to access profiling information for a direct
--- 638,648 ----
*** 731,743 ****
#endif // CC_INTERP
// Specific initialization.
void post_initialize(BytecodeStream* stream, MethodData* mdo);
- #ifndef PRODUCT
void print_data_on(outputStream* st, const char* extra = NULL) const;
- #endif
};
// Entries in a ProfileData object to record types: it can either be
// none (no profile), unknown (conflicting profile data) or a klass if
// a single one is seen. Whether a null reference was seen is also
--- 723,733 ----
*** 806,818 ****
static intptr_t with_status(Klass* k, intptr_t in) {
return with_status((intptr_t)k, in);
}
- #ifndef PRODUCT
static void print_klass(outputStream* st, intptr_t k);
- #endif
// GC support
static bool is_loader_alive(BoolObjectClosure* is_alive_cl, intptr_t p);
protected:
--- 796,806 ----
*** 917,929 ****
}
// GC support
void clean_weak_klass_links(BoolObjectClosure* is_alive_closure);
- #ifndef PRODUCT
void print_data_on(outputStream* st) const;
- #endif
};
// Type entry used for return from a call. A single cell to record the
// type.
class ReturnTypeEntry : public TypeEntries {
--- 905,915 ----
*** 962,974 ****
}
// GC support
void clean_weak_klass_links(BoolObjectClosure* is_alive_closure);
- #ifndef PRODUCT
void print_data_on(outputStream* st) const;
- #endif
};
// Entries to collect type information at a call: contains arguments
// (TypeStackSlotEntries), a return type (ReturnTypeEntry) and a
// number of cells. Because the number of cells for the return type is
--- 948,958 ----
*** 1142,1154 ****
if (has_return()) {
_ret.clean_weak_klass_links(is_alive_closure);
}
}
- #ifndef PRODUCT
virtual void print_data_on(outputStream* st, const char* extra = NULL) const;
- #endif
};
// ReceiverTypeData
//
// A ReceiverTypeData is used to access profiling information about a
--- 1126,1136 ----
*** 1286,1299 ****
static DataLayout* advance(DataLayout* layout) {
return (DataLayout*) (((address)layout) + (ssize_t)ReceiverTypeData::receiver_type_data_size_in_bytes());
}
#endif // CC_INTERP
- #ifndef PRODUCT
void print_receiver_data_on(outputStream* st) const;
void print_data_on(outputStream* st, const char* extra = NULL) const;
- #endif
};
// VirtualCallData
//
// A VirtualCallData is used to access profiling information about a
--- 1268,1279 ----
*** 1330,1342 ****
static DataLayout* advance(DataLayout* layout) {
return (DataLayout*) (((address)layout) + (ssize_t)VirtualCallData::virtual_call_data_size_in_bytes());
}
#endif // CC_INTERP
- #ifndef PRODUCT
void print_data_on(outputStream* st, const char* extra = NULL) const;
- #endif
};
// VirtualCallTypeData
//
// A VirtualCallTypeData is used to access profiling information about
--- 1310,1320 ----
*** 1456,1468 ****
if (has_return()) {
_ret.clean_weak_klass_links(is_alive_closure);
}
}
- #ifndef PRODUCT
virtual void print_data_on(outputStream* st, const char* extra = NULL) const;
- #endif
};
// RetData
//
// A RetData is used to access profiling information for a ret bytecode.
--- 1434,1444 ----
*** 1559,1571 ****
#endif // CC_INTERP
// Specific initialization.
void post_initialize(BytecodeStream* stream, MethodData* mdo);
- #ifndef PRODUCT
void print_data_on(outputStream* st, const char* extra = NULL) const;
- #endif
};
// BranchData
//
// A BranchData is used to access profiling data for a two-way branch.
--- 1535,1545 ----
*** 1637,1649 ****
#endif // CC_INTERP
// Specific initialization.
void post_initialize(BytecodeStream* stream, MethodData* mdo);
- #ifndef PRODUCT
void print_data_on(outputStream* st, const char* extra = NULL) const;
- #endif
};
// ArrayData
//
// A ArrayData is a base class for accessing profiling data which does
--- 1611,1621 ----
*** 1830,1842 ****
#endif // CC_INTERP
// Specific initialization.
void post_initialize(BytecodeStream* stream, MethodData* mdo);
- #ifndef PRODUCT
void print_data_on(outputStream* st, const char* extra = NULL) const;
- #endif
};
class ArgInfoData : public ArrayData {
public:
--- 1802,1812 ----
*** 1857,1869 ****
void set_arg_modified(int arg, uint val) {
array_set_int_at(arg, val);
}
- #ifndef PRODUCT
void print_data_on(outputStream* st, const char* extra = NULL) const;
- #endif
};
// ParametersTypeData
//
// A ParametersTypeData is used to access profiling information about
--- 1827,1837 ----
*** 1918,1930 ****
virtual void clean_weak_klass_links(BoolObjectClosure* is_alive_closure) {
_parameters.clean_weak_klass_links(is_alive_closure);
}
- #ifndef PRODUCT
virtual void print_data_on(outputStream* st, const char* extra = NULL) const;
- #endif
static ByteSize stack_slot_offset(int i) {
return cell_offset(stack_slot_local_offset(i));
}
--- 1886,1896 ----
*** 1974,1986 ****
void set_method(Method* m) {
set_intptr_at(method_offset, (intptr_t)m);
}
- #ifndef PRODUCT
virtual void print_data_on(outputStream* st, const char* extra = NULL) const;
- #endif
};
// MethodData*
//
// A MethodData* holds information which has been collected about
--- 1940,1950 ----
*** 2433,2451 ****
// GC support
void set_size(int object_size_in_bytes) { _size = object_size_in_bytes; }
// Printing
- #ifndef PRODUCT
void print_on (outputStream* st) const;
- #endif
void print_value_on(outputStream* st) const;
- #ifndef PRODUCT
// printing support for method data
void print_data_on(outputStream* st) const;
- #endif
const char* internal_name() const { return "{method data}"; }
// verification
void verify_on(outputStream* st);
--- 2397,2411 ----
src/share/vm/oops/methodData.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File