53 bool _has_subklass;
54 bool _has_nonstatic_fields;
55 bool _has_nonstatic_concrete_methods;
56 bool _is_anonymous;
57
58 ciFlags _flags;
59 jint _nonstatic_field_size;
60 jint _nonstatic_oop_map_size;
61
62 // Lazy fields get filled in only upon request.
63 ciInstanceKlass* _super;
64 ciInstance* _java_mirror;
65
66 ciConstantPoolCache* _field_cache; // cached map index->field
67 GrowableArray<ciField*>* _nonstatic_fields;
68 int _has_injected_fields; // any non static injected fields? lazily initialized.
69
70 // The possible values of the _implementor fall into following three cases:
71 // NULL: no implementor.
72 // A ciInstanceKlass that's not itself: one implementor.
73 // Itsef: more than one implementors.
74 ciInstanceKlass* _implementor;
75
76 void compute_injected_fields();
77 bool compute_injected_fields_helper();
78
79 protected:
80 ciInstanceKlass(KlassHandle h_k);
81 ciInstanceKlass(ciSymbol* name, jobject loader, jobject protection_domain);
82
83 InstanceKlass* get_instanceKlass() const {
84 return InstanceKlass::cast(get_Klass());
85 }
86
87 oop loader();
88 jobject loader_handle();
89
90 oop protection_domain();
91 jobject protection_domain_handle();
92
93 const char* type_string() { return "ciInstanceKlass"; }
|
53 bool _has_subklass;
54 bool _has_nonstatic_fields;
55 bool _has_nonstatic_concrete_methods;
56 bool _is_anonymous;
57
58 ciFlags _flags;
59 jint _nonstatic_field_size;
60 jint _nonstatic_oop_map_size;
61
62 // Lazy fields get filled in only upon request.
63 ciInstanceKlass* _super;
64 ciInstance* _java_mirror;
65
66 ciConstantPoolCache* _field_cache; // cached map index->field
67 GrowableArray<ciField*>* _nonstatic_fields;
68 int _has_injected_fields; // any non static injected fields? lazily initialized.
69
70 // The possible values of the _implementor fall into following three cases:
71 // NULL: no implementor.
72 // A ciInstanceKlass that's not itself: one implementor.
73 // Itself: more than one implementors.
74 ciInstanceKlass* _implementor;
75
76 void compute_injected_fields();
77 bool compute_injected_fields_helper();
78
79 protected:
80 ciInstanceKlass(KlassHandle h_k);
81 ciInstanceKlass(ciSymbol* name, jobject loader, jobject protection_domain);
82
83 InstanceKlass* get_instanceKlass() const {
84 return InstanceKlass::cast(get_Klass());
85 }
86
87 oop loader();
88 jobject loader_handle();
89
90 oop protection_domain();
91 jobject protection_domain_handle();
92
93 const char* type_string() { return "ciInstanceKlass"; }
|