src/share/vm/oops/constMethod.hpp

Print this page




 105   u2 length;
 106   u2 name_cp_index;
 107   u2 descriptor_cp_index;
 108   u2 signature_cp_index;
 109   u2 slot;
 110 };
 111 
 112 // Utitily class describing elements in exception table
 113 class ExceptionTableElement VALUE_OBJ_CLASS_SPEC {
 114  public:
 115   u2 start_pc;
 116   u2 end_pc;
 117   u2 handler_pc;
 118   u2 catch_type_index;
 119 };
 120 
 121 // Utility class describing elements in method parameters
 122 class MethodParametersElement VALUE_OBJ_CLASS_SPEC {
 123  public:
 124   u2 name_cp_index;
 125   // This has to happen, otherwise it will cause SIGBUS from a
 126   // misaligned u4 on some architectures (ie SPARC)
 127   // because MethodParametersElements are only aligned mod 2
 128   // within the ConstMethod container  u2 flags_hi;
 129   u2 flags_hi;
 130   u2 flags_lo;
 131 };
 132 
 133 
 134 class ConstMethod : public MetaspaceObj {
 135   friend class VMStructs;
 136 
 137 public:
 138   typedef enum { NORMAL, OVERPASS } MethodType;
 139 
 140 private:
 141   enum {
 142     _has_linenumber_table = 1,
 143     _has_checked_exceptions = 2,
 144     _has_localvariable_table = 4,
 145     _has_exception_table = 8,
 146     _has_generic_signature = 16,
 147     _has_method_parameters = 32,
 148     _is_overpass = 64
 149   };
 150 




 105   u2 length;
 106   u2 name_cp_index;
 107   u2 descriptor_cp_index;
 108   u2 signature_cp_index;
 109   u2 slot;
 110 };
 111 
 112 // Utitily class describing elements in exception table
 113 class ExceptionTableElement VALUE_OBJ_CLASS_SPEC {
 114  public:
 115   u2 start_pc;
 116   u2 end_pc;
 117   u2 handler_pc;
 118   u2 catch_type_index;
 119 };
 120 
 121 // Utility class describing elements in method parameters
 122 class MethodParametersElement VALUE_OBJ_CLASS_SPEC {
 123  public:
 124   u2 name_cp_index;
 125   u2 flags;





 126 };
 127 
 128 
 129 class ConstMethod : public MetaspaceObj {
 130   friend class VMStructs;
 131 
 132 public:
 133   typedef enum { NORMAL, OVERPASS } MethodType;
 134 
 135 private:
 136   enum {
 137     _has_linenumber_table = 1,
 138     _has_checked_exceptions = 2,
 139     _has_localvariable_table = 4,
 140     _has_exception_table = 8,
 141     _has_generic_signature = 16,
 142     _has_method_parameters = 32,
 143     _is_overpass = 64
 144   };
 145