< prev index next >

src/hotspot/share/ci/ciInstanceKlass.hpp

Print this page
rev 58565 : 8238358: Implementation of JEP 371: Hidden Classes
Reviewed-by: duke
Contributed-by: mandy.chung@oracle.com, lois.foltan@oracle.com, david.holmes@oracle.com, harold.seigel@oracle.com, serguei.spitsyn@oracle.com, alex.buckley@oracle.com, jamsheed.c.m@oracle.com
rev 58568 : [mq]: hidden-class-4


 175     assert(is_loaded(), "must be loaded");
 176     return _nonstatic_oop_map_size; }
 177   ciInstanceKlass*       super();
 178   jint                   nof_implementors() {
 179     ciInstanceKlass* impl;
 180     assert(is_loaded(), "must be loaded");
 181     impl = implementor();
 182     if (impl == NULL) {
 183       return 0;
 184     } else if (impl != this) {
 185       return 1;
 186     } else {
 187       return 2;
 188     }
 189   }
 190   bool has_nonstatic_concrete_methods()  {
 191     assert(is_loaded(), "must be loaded");
 192     return _has_nonstatic_concrete_methods;
 193   }
 194 
 195   bool is_unsafe_anonymous() {
 196     return _is_unsafe_anonymous;
 197   }
 198 
 199   bool is_hidden() {
 200     return _is_hidden;
 201   }
 202 
 203   ciInstanceKlass* get_canonical_holder(int offset);
 204   ciField* get_field_by_offset(int field_offset, bool is_static);
 205   ciField* get_field_by_name(ciSymbol* name, ciSymbol* signature, bool is_static);
 206 
 207   // total number of nonstatic fields (including inherited):
 208   int nof_nonstatic_fields() {
 209     if (_nonstatic_fields == NULL)
 210       return compute_nonstatic_fields();
 211     else
 212       return _nonstatic_fields->length();
 213   }
 214 
 215   bool has_injected_fields() {
 216     if (_has_injected_fields == -1) {
 217       compute_injected_fields();
 218     }
 219     return _has_injected_fields > 0 ? true : false;




 175     assert(is_loaded(), "must be loaded");
 176     return _nonstatic_oop_map_size; }
 177   ciInstanceKlass*       super();
 178   jint                   nof_implementors() {
 179     ciInstanceKlass* impl;
 180     assert(is_loaded(), "must be loaded");
 181     impl = implementor();
 182     if (impl == NULL) {
 183       return 0;
 184     } else if (impl != this) {
 185       return 1;
 186     } else {
 187       return 2;
 188     }
 189   }
 190   bool has_nonstatic_concrete_methods()  {
 191     assert(is_loaded(), "must be loaded");
 192     return _has_nonstatic_concrete_methods;
 193   }
 194 
 195   bool is_unsafe_anonymous() const {
 196     return _is_unsafe_anonymous;
 197   }
 198 
 199   bool is_hidden() const {
 200     return _is_hidden;
 201   }
 202 
 203   ciInstanceKlass* get_canonical_holder(int offset);
 204   ciField* get_field_by_offset(int field_offset, bool is_static);
 205   ciField* get_field_by_name(ciSymbol* name, ciSymbol* signature, bool is_static);
 206 
 207   // total number of nonstatic fields (including inherited):
 208   int nof_nonstatic_fields() {
 209     if (_nonstatic_fields == NULL)
 210       return compute_nonstatic_fields();
 211     else
 212       return _nonstatic_fields->length();
 213   }
 214 
 215   bool has_injected_fields() {
 216     if (_has_injected_fields == -1) {
 217       compute_injected_fields();
 218     }
 219     return _has_injected_fields > 0 ? true : false;


< prev index next >