200 // Get the instance of java.lang.Class corresponding to
201 // this klass. This instance is used for locking of
202 // synchronized static methods of this klass.
203 ciInstance* java_mirror();
204
205 // Java access flags
206 bool is_public () { return flags().is_public(); }
207 bool is_final () { return flags().is_final(); }
208 bool is_super () { return flags().is_super(); }
209 bool is_interface () { return flags().is_interface(); }
210 bool is_abstract () { return flags().is_abstract(); }
211
212 ciMethod* find_method(ciSymbol* name, ciSymbol* signature);
213 // Note: To find a method from name and type strings, use ciSymbol::make,
214 // but consider adding to vmSymbols.hpp instead.
215
216 bool is_leaf_type();
217 ciInstanceKlass* implementor();
218
219 // Is the defining class loader of this class the default loader?
220 bool uses_default_loader();
221
222 bool is_java_lang_Object() const;
223
224 // Is this klass in the given package?
225 bool is_in_package(const char* packagename) {
226 return is_in_package(packagename, (int) strlen(packagename));
227 }
228 bool is_in_package(const char* packagename, int len);
229
230 // What kind of ciObject is this?
231 bool is_instance_klass() const { return true; }
232 bool is_java_klass() const { return true; }
233
234 // Dump the current state of this klass for compilation replay.
235 virtual void dump_replay_data(outputStream* out);
236 };
237
238 #endif // SHARE_VM_CI_CIINSTANCEKLASS_HPP
|
200 // Get the instance of java.lang.Class corresponding to
201 // this klass. This instance is used for locking of
202 // synchronized static methods of this klass.
203 ciInstance* java_mirror();
204
205 // Java access flags
206 bool is_public () { return flags().is_public(); }
207 bool is_final () { return flags().is_final(); }
208 bool is_super () { return flags().is_super(); }
209 bool is_interface () { return flags().is_interface(); }
210 bool is_abstract () { return flags().is_abstract(); }
211
212 ciMethod* find_method(ciSymbol* name, ciSymbol* signature);
213 // Note: To find a method from name and type strings, use ciSymbol::make,
214 // but consider adding to vmSymbols.hpp instead.
215
216 bool is_leaf_type();
217 ciInstanceKlass* implementor();
218
219 // Is the defining class loader of this class the default loader?
220 bool uses_default_loader() const;
221
222 bool is_java_lang_Object() const;
223
224 BasicType box_klass_type() const;
225 bool is_box_klass() const;
226 bool is_boxed_value_offset(int offset) const;
227
228 // Is this klass in the given package?
229 bool is_in_package(const char* packagename) {
230 return is_in_package(packagename, (int) strlen(packagename));
231 }
232 bool is_in_package(const char* packagename, int len);
233
234 // What kind of ciObject is this?
235 bool is_instance_klass() const { return true; }
236 bool is_java_klass() const { return true; }
237
238 // Dump the current state of this klass for compilation replay.
239 virtual void dump_replay_data(outputStream* out);
240 };
241
242 #endif // SHARE_VM_CI_CIINSTANCEKLASS_HPP
|