hotspot/src/share/vm/utilities/accessFlags.hpp
changeset 13391 30245956af37
parent 12772 d317e5e08194
child 13728 882756847a04
equal deleted inserted replaced
13309:50c604cb0d5f 13391:30245956af37
    53   JVM_ACC_HAS_JSRS                = 0x00800000,
    53   JVM_ACC_HAS_JSRS                = 0x00800000,
    54   JVM_ACC_IS_OLD                  = 0x00010000,     // RedefineClasses() has replaced this method
    54   JVM_ACC_IS_OLD                  = 0x00010000,     // RedefineClasses() has replaced this method
    55   JVM_ACC_IS_OBSOLETE             = 0x00020000,     // RedefineClasses() has made method obsolete
    55   JVM_ACC_IS_OBSOLETE             = 0x00020000,     // RedefineClasses() has made method obsolete
    56   JVM_ACC_IS_PREFIXED_NATIVE      = 0x00040000,     // JVMTI has prefixed this native method
    56   JVM_ACC_IS_PREFIXED_NATIVE      = 0x00040000,     // JVMTI has prefixed this native method
    57 
    57 
    58   JVM_MH_INVOKE_BITS           // = 0x10001100      // MethodHandle.invoke quasi-native
       
    59                                   = (JVM_ACC_NATIVE | JVM_ACC_SYNTHETIC | JVM_ACC_MONITOR_MATCH),
       
    60 
       
    61   // klassOop flags
    58   // klassOop flags
    62   JVM_ACC_HAS_MIRANDA_METHODS     = 0x10000000,     // True if this class has miranda methods in it's vtable
    59   JVM_ACC_HAS_MIRANDA_METHODS     = 0x10000000,     // True if this class has miranda methods in it's vtable
    63   JVM_ACC_HAS_VANILLA_CONSTRUCTOR = 0x20000000,     // True if klass has a vanilla default constructor
    60   JVM_ACC_HAS_VANILLA_CONSTRUCTOR = 0x20000000,     // True if klass has a vanilla default constructor
    64   JVM_ACC_HAS_FINALIZER           = 0x40000000,     // True if klass has a non-empty finalize() method
    61   JVM_ACC_HAS_FINALIZER           = 0x40000000,     // True if klass has a non-empty finalize() method
    65   JVM_ACC_IS_CLONEABLE            = (int)0x80000000,// True if klass supports the Clonable interface
    62   JVM_ACC_IS_CLONEABLE            = (int)0x80000000,// True if klass supports the Clonable interface
   130   bool has_checked_exceptions  () const { return (_flags & JVM_ACC_HAS_CHECKED_EXCEPTIONS ) != 0; }
   127   bool has_checked_exceptions  () const { return (_flags & JVM_ACC_HAS_CHECKED_EXCEPTIONS ) != 0; }
   131   bool has_jsrs                () const { return (_flags & JVM_ACC_HAS_JSRS               ) != 0; }
   128   bool has_jsrs                () const { return (_flags & JVM_ACC_HAS_JSRS               ) != 0; }
   132   bool is_old                  () const { return (_flags & JVM_ACC_IS_OLD                 ) != 0; }
   129   bool is_old                  () const { return (_flags & JVM_ACC_IS_OLD                 ) != 0; }
   133   bool is_obsolete             () const { return (_flags & JVM_ACC_IS_OBSOLETE            ) != 0; }
   130   bool is_obsolete             () const { return (_flags & JVM_ACC_IS_OBSOLETE            ) != 0; }
   134   bool is_prefixed_native      () const { return (_flags & JVM_ACC_IS_PREFIXED_NATIVE     ) != 0; }
   131   bool is_prefixed_native      () const { return (_flags & JVM_ACC_IS_PREFIXED_NATIVE     ) != 0; }
   135 
       
   136   // JSR 292:  A method of the form MethodHandle.invoke(A...)R method is
       
   137   // neither bytecoded nor a JNI native, but rather a fast call through
       
   138   // a lightweight method handle object.  Because it is not bytecoded,
       
   139   // it has the native bit set, but the monitor-match bit is also set
       
   140   // to distinguish it from a JNI native (which never has the match bit set).
       
   141   // The synthetic bit is also present, because such a method is never
       
   142   // explicitly defined in Java code.
       
   143   bool is_method_handle_invoke () const { return (_flags & JVM_MH_INVOKE_BITS) == JVM_MH_INVOKE_BITS; }
       
   144 
   132 
   145   // klassOop flags
   133   // klassOop flags
   146   bool has_miranda_methods     () const { return (_flags & JVM_ACC_HAS_MIRANDA_METHODS    ) != 0; }
   134   bool has_miranda_methods     () const { return (_flags & JVM_ACC_HAS_MIRANDA_METHODS    ) != 0; }
   147   bool has_vanilla_constructor () const { return (_flags & JVM_ACC_HAS_VANILLA_CONSTRUCTOR) != 0; }
   135   bool has_vanilla_constructor () const { return (_flags & JVM_ACC_HAS_VANILLA_CONSTRUCTOR) != 0; }
   148   bool has_finalizer           () const { return (_flags & JVM_ACC_HAS_FINALIZER          ) != 0; }
   136   bool has_finalizer           () const { return (_flags & JVM_ACC_HAS_FINALIZER          ) != 0; }