src/share/vm/ci/ciMethodData.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/ci/ciMethodData.hpp Tue Sep 2 15:11:33 2014
--- new/src/share/vm/ci/ciMethodData.hpp Tue Sep 2 15:11:33 2014
*** 408,417 ****
--- 408,420 ----
MethodData _orig;
// Area dedicated to parameters. NULL if no parameter profiling for
// this method.
DataLayout* _parameters;
+ int parameters_size() const {
+ return _parameters == NULL ? 0 : parameters_type_data()->size_in_bytes();
+ }
ciMethodData(MethodData* md);
ciMethodData();
// Accessors
*** 459,471 ****
--- 462,471 ----
ciArgInfoData *arg_info() const;
address data_base() const {
return (address) _data;
}
DataLayout* limit_data_position() const {
return (DataLayout*)((address)data_base() + _data_size);
}
void load_extra_data();
ciProfileData* bci_to_extra_data(int bci, ciMethod* m, bool& two_free_slots);
void dump_replay_data_type_helper(outputStream* out, int round, int& count, ProfileData* pdata, ByteSize offset, ciKlass* k);
*** 522,532 ****
--- 522,534 ----
// Walk through the data in order.
ciProfileData* first_data() { return data_at(first_di()); }
ciProfileData* next_data(ciProfileData* current);
bool is_valid(ciProfileData* current) { return current != NULL; }
! DataLayout* extra_data_base() const { return limit_data_position(); }
! DataLayout* extra_data_base() const { return data_layout_at(data_size()); }
+ DataLayout* args_data_limit() const { return data_layout_at(data_size() + extra_data_size() -
+ parameters_size()); }
// Get the data at an arbitrary bci, or NULL if there is none. If m
// is not NULL look for a SpeculativeTrapData if any first.
ciProfileData* bci_to_data(int bci, ciMethod* m = NULL);
src/share/vm/ci/ciMethodData.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File