132 AccessFlags access_flags,
133 InlineTableSizes* sizes,
134 ConstMethod::MethodType method_type,
135 TRAPS);
136
137 // CDS and vtbl checking can create an empty Method to get vtbl pointer.
138 Method(){}
139
140 bool is_method() const volatile { return true; }
141
142 void restore_unshareable_info(TRAPS);
143
144 // accessors for instance variables
145
146 ConstMethod* constMethod() const { return _constMethod; }
147 void set_constMethod(ConstMethod* xconst) { _constMethod = xconst; }
148
149
150 static address make_adapters(const methodHandle& mh, TRAPS);
151 address from_compiled_entry() const;
152 address from_compiled_entry_no_trampoline() const;
153 address from_interpreted_entry() const;
154
155 // access flag
156 AccessFlags access_flags() const { return _access_flags; }
157 void set_access_flags(AccessFlags flags) { _access_flags = flags; }
158
159 // name
160 Symbol* name() const { return constants()->symbol_at(name_index()); }
161 int name_index() const { return constMethod()->name_index(); }
162 void set_name_index(int index) { constMethod()->set_name_index(index); }
163
164 // signature
165 Symbol* signature() const { return constants()->symbol_at(signature_index()); }
166 int signature_index() const { return constMethod()->signature_index(); }
167 void set_signature_index(int index) { constMethod()->set_signature_index(index); }
168
169 // generics support
170 Symbol* generic_signature() const { int idx = generic_signature_index(); return ((idx != 0) ? constants()->symbol_at(idx) : (Symbol*)NULL); }
171 int generic_signature_index() const { return constMethod()->generic_signature_index(); }
172 void set_generic_signature_index(int index) { constMethod()->set_generic_signature_index(index); }
|
132 AccessFlags access_flags,
133 InlineTableSizes* sizes,
134 ConstMethod::MethodType method_type,
135 TRAPS);
136
137 // CDS and vtbl checking can create an empty Method to get vtbl pointer.
138 Method(){}
139
140 bool is_method() const volatile { return true; }
141
142 void restore_unshareable_info(TRAPS);
143
144 // accessors for instance variables
145
146 ConstMethod* constMethod() const { return _constMethod; }
147 void set_constMethod(ConstMethod* xconst) { _constMethod = xconst; }
148
149
150 static address make_adapters(const methodHandle& mh, TRAPS);
151 address from_compiled_entry() const;
152 address from_compiled_entry_no_trampoline(bool caller_is_c1) const;
153 address from_interpreted_entry() const;
154
155 // access flag
156 AccessFlags access_flags() const { return _access_flags; }
157 void set_access_flags(AccessFlags flags) { _access_flags = flags; }
158
159 // name
160 Symbol* name() const { return constants()->symbol_at(name_index()); }
161 int name_index() const { return constMethod()->name_index(); }
162 void set_name_index(int index) { constMethod()->set_name_index(index); }
163
164 // signature
165 Symbol* signature() const { return constants()->symbol_at(signature_index()); }
166 int signature_index() const { return constMethod()->signature_index(); }
167 void set_signature_index(int index) { constMethod()->set_signature_index(index); }
168
169 // generics support
170 Symbol* generic_signature() const { int idx = generic_signature_index(); return ((idx != 0) ? constants()->symbol_at(idx) : (Symbol*)NULL); }
171 int generic_signature_index() const { return constMethod()->generic_signature_index(); }
172 void set_generic_signature_index(int index) { constMethod()->set_generic_signature_index(index); }
|