src/share/vm/ci/ciMethod.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6893268 Sdiff src/share/vm/ci

src/share/vm/ci/ciMethod.hpp

Print this page
rev 1025 : imported patch indy.compiler.patch
rev 1026 : imported patch indy.compiler.inline.patch


  21  * have any questions.
  22  *
  23  */
  24 
  25 class ciMethodBlocks;
  26 class MethodLiveness;
  27 class BitMap;
  28 class Arena;
  29 class BCEscapeAnalyzer;
  30 
  31 
  32 // ciMethod
  33 //
  34 // This class represents a methodOop in the HotSpot virtual
  35 // machine.
  36 class ciMethod : public ciObject {
  37   friend class CompileBroker;
  38   CI_PACKAGE_ACCESS
  39   friend class ciEnv;
  40   friend class ciExceptionHandlerStream;


  41 
  42  private:
  43   // General method information.
  44   ciFlags          _flags;
  45   ciSymbol*        _name;
  46   ciInstanceKlass* _holder;
  47   ciSignature*     _signature;
  48   ciMethodData*    _method_data;
  49   BCEscapeAnalyzer* _bcea;
  50   ciMethodBlocks*   _method_blocks;
  51 
  52   // Code attributes.
  53   int _code_size;
  54   int _max_stack;
  55   int _max_locals;
  56   vmIntrinsics::ID _intrinsic_id;
  57   int _handler_count;
  58   int _interpreter_invocation_count;
  59   int _interpreter_throwout_count;
  60 


 234   // Other flags
 235   bool is_empty_method() const;
 236   bool is_vanilla_constructor() const;
 237   bool is_final_method() const                   { return is_final() || holder()->is_final(); }
 238   bool has_loops      () const;
 239   bool has_jsrs       () const;
 240   bool is_accessor    () const;
 241   bool is_initializer () const;
 242   bool can_be_statically_bound() const           { return _can_be_statically_bound; }
 243 
 244   // Print the bytecodes of this method.
 245   void print_codes_on(outputStream* st);
 246   void print_codes() {
 247     print_codes_on(tty);
 248   }
 249   void print_codes_on(int from, int to, outputStream* st);
 250 
 251   // Print the name of this method in various incarnations.
 252   void print_name(outputStream* st = tty);
 253   void print_short_name(outputStream* st = tty);






 254 };


  21  * have any questions.
  22  *
  23  */
  24 
  25 class ciMethodBlocks;
  26 class MethodLiveness;
  27 class BitMap;
  28 class Arena;
  29 class BCEscapeAnalyzer;
  30 
  31 
  32 // ciMethod
  33 //
  34 // This class represents a methodOop in the HotSpot virtual
  35 // machine.
  36 class ciMethod : public ciObject {
  37   friend class CompileBroker;
  38   CI_PACKAGE_ACCESS
  39   friend class ciEnv;
  40   friend class ciExceptionHandlerStream;
  41   friend class ciBytecodeStream;
  42   friend class ciMethodHandle;
  43 
  44  private:
  45   // General method information.
  46   ciFlags          _flags;
  47   ciSymbol*        _name;
  48   ciInstanceKlass* _holder;
  49   ciSignature*     _signature;
  50   ciMethodData*    _method_data;
  51   BCEscapeAnalyzer* _bcea;
  52   ciMethodBlocks*   _method_blocks;
  53 
  54   // Code attributes.
  55   int _code_size;
  56   int _max_stack;
  57   int _max_locals;
  58   vmIntrinsics::ID _intrinsic_id;
  59   int _handler_count;
  60   int _interpreter_invocation_count;
  61   int _interpreter_throwout_count;
  62 


 236   // Other flags
 237   bool is_empty_method() const;
 238   bool is_vanilla_constructor() const;
 239   bool is_final_method() const                   { return is_final() || holder()->is_final(); }
 240   bool has_loops      () const;
 241   bool has_jsrs       () const;
 242   bool is_accessor    () const;
 243   bool is_initializer () const;
 244   bool can_be_statically_bound() const           { return _can_be_statically_bound; }
 245 
 246   // Print the bytecodes of this method.
 247   void print_codes_on(outputStream* st);
 248   void print_codes() {
 249     print_codes_on(tty);
 250   }
 251   void print_codes_on(int from, int to, outputStream* st);
 252 
 253   // Print the name of this method in various incarnations.
 254   void print_name(outputStream* st = tty);
 255   void print_short_name(outputStream* st = tty);
 256 
 257   methodOop get_method_handle_target() {
 258     klassOop receiver_limit_oop = NULL;
 259     int flags = 0;
 260     return MethodHandles::decode_method(get_oop(), receiver_limit_oop, flags);
 261   }
 262 };
src/share/vm/ci/ciMethod.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File