hotspot/src/share/vm/oops/method.hpp
changeset 23219 69e72eaf9f51
parent 22876 57aa8995d43b
child 23526 6851d341ad52
child 23515 f4872ef5df09
equal deleted inserted replaced
23218:71c4e6b29c5d 23219:69e72eaf9f51
   106 #ifdef CC_INTERP
   106 #ifdef CC_INTERP
   107   int               _result_index;               // C++ interpreter needs for converting results to/from stack
   107   int               _result_index;               // C++ interpreter needs for converting results to/from stack
   108 #endif
   108 #endif
   109   u2                _method_size;                // size of this object
   109   u2                _method_size;                // size of this object
   110   u1                _intrinsic_id;               // vmSymbols::intrinsic_id (0 == _none)
   110   u1                _intrinsic_id;               // vmSymbols::intrinsic_id (0 == _none)
   111   u1                _jfr_towrite      : 1,       // Flags
   111 
   112                     _caller_sensitive : 1,
   112   // Flags
   113                     _force_inline     : 1,
   113   enum Flags {
   114                     _hidden           : 1,
   114     _jfr_towrite      = 1 << 0,
   115                     _dont_inline      : 1,
   115     _caller_sensitive = 1 << 1,
   116                                       : 3;
   116     _force_inline     = 1 << 2,
       
   117     _dont_inline      = 1 << 3,
       
   118     _hidden           = 1 << 4
       
   119   };
       
   120   u1 _flags;
   117 
   121 
   118 #ifndef PRODUCT
   122 #ifndef PRODUCT
   119   int               _compiled_invocation_count;  // Number of nmethod invocations so far (for perf. debugging)
   123   int               _compiled_invocation_count;  // Number of nmethod invocations so far (for perf. debugging)
   120 #endif
   124 #endif
   121   // Entry point for calling both from and to the interpreter.
   125   // Entry point for calling both from and to the interpreter.
   757 
   761 
   758   // Helper routines for intrinsic_id() and vmIntrinsics::method().
   762   // Helper routines for intrinsic_id() and vmIntrinsics::method().
   759   void init_intrinsic_id();     // updates from _none if a match
   763   void init_intrinsic_id();     // updates from _none if a match
   760   static vmSymbols::SID klass_id_for_intrinsics(Klass* holder);
   764   static vmSymbols::SID klass_id_for_intrinsics(Klass* holder);
   761 
   765 
   762   bool     jfr_towrite()            { return _jfr_towrite;          }
   766   bool jfr_towrite() {
   763   void set_jfr_towrite(bool x)      {        _jfr_towrite = x;      }
   767     return (_flags & _jfr_towrite) != 0;
   764   bool     caller_sensitive()       { return _caller_sensitive;     }
   768   }
   765   void set_caller_sensitive(bool x) {        _caller_sensitive = x; }
   769   void set_jfr_towrite(bool x) {
   766   bool     force_inline()           { return _force_inline;         }
   770     _flags = x ? (_flags | _jfr_towrite) : (_flags & ~_jfr_towrite);
   767   void set_force_inline(bool x)     {        _force_inline = x;     }
   771   }
   768   bool     dont_inline()            { return _dont_inline;          }
   772 
   769   void set_dont_inline(bool x)      {        _dont_inline = x;      }
   773   bool caller_sensitive() {
   770   bool  is_hidden()                 { return _hidden;               }
   774     return (_flags & _caller_sensitive) != 0;
   771   void set_hidden(bool x)           {        _hidden = x;           }
   775   }
       
   776   void set_caller_sensitive(bool x) {
       
   777     _flags = x ? (_flags | _caller_sensitive) : (_flags & ~_caller_sensitive);
       
   778   }
       
   779 
       
   780   bool force_inline() {
       
   781     return (_flags & _force_inline) != 0;
       
   782   }
       
   783   void set_force_inline(bool x) {
       
   784     _flags = x ? (_flags | _force_inline) : (_flags & ~_force_inline);
       
   785   }
       
   786 
       
   787   bool dont_inline() {
       
   788     return (_flags & _dont_inline) != 0;
       
   789   }
       
   790   void set_dont_inline(bool x) {
       
   791     _flags = x ? (_flags | _dont_inline) : (_flags & ~_dont_inline);
       
   792   }
       
   793 
       
   794   bool is_hidden() {
       
   795     return (_flags & _hidden) != 0;
       
   796   }
       
   797   void set_hidden(bool x) {
       
   798     _flags = x ? (_flags | _hidden) : (_flags & ~_hidden);
       
   799   }
       
   800 
   772   ConstMethod::MethodType method_type() const {
   801   ConstMethod::MethodType method_type() const {
   773       return _constMethod->method_type();
   802       return _constMethod->method_type();
   774   }
   803   }
   775   bool is_overpass() const { return method_type() == ConstMethod::OVERPASS; }
   804   bool is_overpass() const { return method_type() == ConstMethod::OVERPASS; }
   776 
   805