< prev index next >

src/share/vm/ci/ciMethod.hpp

Print this page
rev 7851 : 8073607: add trace events for inlining
Reviewed-by:


  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #ifndef SHARE_VM_CI_CIMETHOD_HPP
  26 #define SHARE_VM_CI_CIMETHOD_HPP
  27 
  28 #include "ci/ciFlags.hpp"
  29 #include "ci/ciInstanceKlass.hpp"
  30 #include "ci/ciObject.hpp"
  31 #include "ci/ciSignature.hpp"
  32 #include "compiler/methodLiveness.hpp"
  33 #include "prims/methodHandles.hpp"
  34 #include "utilities/bitMap.hpp"

  35 
  36 class ciMethodBlocks;
  37 class MethodLiveness;
  38 class BitMap;
  39 class Arena;
  40 class BCEscapeAnalyzer;
  41 
  42 
  43 // ciMethod
  44 //
  45 // This class represents a Method* in the HotSpot virtual
  46 // machine.
  47 class ciMethod : public ciMetadata {
  48   friend class CompileBroker;
  49   CI_PACKAGE_ACCESS
  50   friend class ciEnv;
  51   friend class ciExceptionHandlerStream;
  52   friend class ciBytecodeStream;
  53   friend class ciMethodHandle;
  54   friend class ciReplay;


 322   bool is_accessor    () const;
 323   bool is_initializer () const;
 324   bool can_be_statically_bound() const           { return _can_be_statically_bound; }
 325   bool is_boxing_method() const;
 326   bool is_unboxing_method() const;
 327 
 328   // Replay data methods
 329   void dump_name_as_ascii(outputStream* st);
 330   void dump_replay_data(outputStream* st);
 331 
 332   // Print the bytecodes of this method.
 333   void print_codes_on(outputStream* st);
 334   void print_codes() {
 335     print_codes_on(tty);
 336   }
 337   void print_codes_on(int from, int to, outputStream* st);
 338 
 339   // Print the name of this method in various incarnations.
 340   void print_name(outputStream* st = tty);
 341   void print_short_name(outputStream* st = tty);




 342 };
 343 
 344 #endif // SHARE_VM_CI_CIMETHOD_HPP


  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #ifndef SHARE_VM_CI_CIMETHOD_HPP
  26 #define SHARE_VM_CI_CIMETHOD_HPP
  27 
  28 #include "ci/ciFlags.hpp"
  29 #include "ci/ciInstanceKlass.hpp"
  30 #include "ci/ciObject.hpp"
  31 #include "ci/ciSignature.hpp"
  32 #include "compiler/methodLiveness.hpp"
  33 #include "prims/methodHandles.hpp"
  34 #include "utilities/bitMap.hpp"
  35 #include "trace/tracing.hpp"
  36 
  37 class ciMethodBlocks;
  38 class MethodLiveness;
  39 class BitMap;
  40 class Arena;
  41 class BCEscapeAnalyzer;
  42 
  43 
  44 // ciMethod
  45 //
  46 // This class represents a Method* in the HotSpot virtual
  47 // machine.
  48 class ciMethod : public ciMetadata {
  49   friend class CompileBroker;
  50   CI_PACKAGE_ACCESS
  51   friend class ciEnv;
  52   friend class ciExceptionHandlerStream;
  53   friend class ciBytecodeStream;
  54   friend class ciMethodHandle;
  55   friend class ciReplay;


 323   bool is_accessor    () const;
 324   bool is_initializer () const;
 325   bool can_be_statically_bound() const           { return _can_be_statically_bound; }
 326   bool is_boxing_method() const;
 327   bool is_unboxing_method() const;
 328 
 329   // Replay data methods
 330   void dump_name_as_ascii(outputStream* st);
 331   void dump_replay_data(outputStream* st);
 332 
 333   // Print the bytecodes of this method.
 334   void print_codes_on(outputStream* st);
 335   void print_codes() {
 336     print_codes_on(tty);
 337   }
 338   void print_codes_on(int from, int to, outputStream* st);
 339 
 340   // Print the name of this method in various incarnations.
 341   void print_name(outputStream* st = tty);
 342   void print_short_name(outputStream* st = tty);
 343 
 344 #if INCLUDE_TRACE
 345   TraceStructCiMethod to_trace_struct() const;
 346 #endif
 347 };
 348 
 349 #endif // SHARE_VM_CI_CIMETHOD_HPP
< prev index next >