hotspot/src/share/vm/utilities/constantTag.hpp
changeset 4567 7fc02fbe5c7a
parent 1623 a0dd9009e992
child 5547 f4b087cbb361
equal deleted inserted replaced
4566:b363f6ef4068 4567:7fc02fbe5c7a
    34   JVM_CONSTANT_UnresolvedClass          = 100,  // Temporary tag until actual use
    34   JVM_CONSTANT_UnresolvedClass          = 100,  // Temporary tag until actual use
    35   JVM_CONSTANT_ClassIndex               = 101,  // Temporary tag while constructing constant pool
    35   JVM_CONSTANT_ClassIndex               = 101,  // Temporary tag while constructing constant pool
    36   JVM_CONSTANT_UnresolvedString         = 102,  // Temporary tag until actual use
    36   JVM_CONSTANT_UnresolvedString         = 102,  // Temporary tag until actual use
    37   JVM_CONSTANT_StringIndex              = 103,  // Temporary tag while constructing constant pool
    37   JVM_CONSTANT_StringIndex              = 103,  // Temporary tag while constructing constant pool
    38   JVM_CONSTANT_UnresolvedClassInError   = 104,  // Error tag due to resolution error
    38   JVM_CONSTANT_UnresolvedClassInError   = 104,  // Error tag due to resolution error
    39   JVM_CONSTANT_InternalMax              = 104   // Last implementation tag
    39   JVM_CONSTANT_Object                   = 105,  // Required for BoundMethodHandle arguments.
       
    40   JVM_CONSTANT_InternalMax              = 105   // Last implementation tag
    40 };
    41 };
    41 
    42 
    42 
    43 
    43 class constantTag VALUE_OBJ_CLASS_SPEC {
    44 class constantTag VALUE_OBJ_CLASS_SPEC {
    44  private:
    45  private:
    68 
    69 
    69   bool is_klass_index() const       { return _tag == JVM_CONSTANT_ClassIndex; }
    70   bool is_klass_index() const       { return _tag == JVM_CONSTANT_ClassIndex; }
    70   bool is_unresolved_string() const { return _tag == JVM_CONSTANT_UnresolvedString; }
    71   bool is_unresolved_string() const { return _tag == JVM_CONSTANT_UnresolvedString; }
    71   bool is_string_index() const      { return _tag == JVM_CONSTANT_StringIndex; }
    72   bool is_string_index() const      { return _tag == JVM_CONSTANT_StringIndex; }
    72 
    73 
       
    74   bool is_object() const            { return _tag == JVM_CONSTANT_Object; }
       
    75 
    73   bool is_klass_reference() const   { return is_klass_index() || is_unresolved_klass(); }
    76   bool is_klass_reference() const   { return is_klass_index() || is_unresolved_klass(); }
    74   bool is_klass_or_reference() const{ return is_klass() || is_klass_reference(); }
    77   bool is_klass_or_reference() const{ return is_klass() || is_klass_reference(); }
    75   bool is_field_or_method() const   { return is_field() || is_method() || is_interface_method(); }
    78   bool is_field_or_method() const   { return is_field() || is_method() || is_interface_method(); }
    76   bool is_symbol() const            { return is_utf8(); }
    79   bool is_symbol() const            { return is_utf8(); }
    77 
    80