comparison src/share/vm/oops/methodData.hpp @ 8611:6c4db417385a

added API to reset the profiling information for a method added some test cases that check the recorded profiling information
author Christian Haeubl <haeubl@ssw.jku.at>
date Wed, 27 Mar 2013 17:25:59 +0100
parents 5fc51c1ecdeb
children d343737786fe
comparison
equal deleted inserted replaced
8610:5407d1dd6450 8611:6c4db417385a
1176 public: 1176 public:
1177 static MethodData* allocate(ClassLoaderData* loader_data, methodHandle method, TRAPS); 1177 static MethodData* allocate(ClassLoaderData* loader_data, methodHandle method, TRAPS);
1178 MethodData() {}; // For ciMethodData 1178 MethodData() {}; // For ciMethodData
1179 1179
1180 bool is_methodData() const volatile { return true; } 1180 bool is_methodData() const volatile { return true; }
1181 void initialize();
1181 1182
1182 // Whole-method sticky bits and flags 1183 // Whole-method sticky bits and flags
1183 enum { 1184 enum {
1184 _trap_hist_limit = 17, // decoupled from Deoptimization::Reason_LIMIT 1185 _trap_hist_limit = 17, // decoupled from Deoptimization::Reason_LIMIT
1185 _trap_hist_mask = max_jubyte, 1186 _trap_hist_mask = max_jubyte,
1293 1294
1294 // Determine if a given bytecode can have profile information. 1295 // Determine if a given bytecode can have profile information.
1295 static bool bytecode_has_profile(Bytecodes::Code code) { 1296 static bool bytecode_has_profile(Bytecodes::Code code) {
1296 return bytecode_cell_count(code) != no_profile_data; 1297 return bytecode_cell_count(code) != no_profile_data;
1297 } 1298 }
1298 1299
1299 // Perform initialization of a new MethodData*
1300 void initialize(methodHandle method);
1301
1302 // My size 1300 // My size
1303 int size_in_bytes() const { return _size; } 1301 int size_in_bytes() const { return _size; }
1304 int size() const { return align_object_size(align_size_up(_size, BytesPerWord)/BytesPerWord); } 1302 int size() const { return align_object_size(align_size_up(_size, BytesPerWord)/BytesPerWord); }
1305 #if INCLUDE_SERVICES 1303 #if INCLUDE_SERVICES
1306 void collect_statistics(KlassSizeStats *sz) const; 1304 void collect_statistics(KlassSizeStats *sz) const;