Mercurial > hg > graal-jvmci-8
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; |