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"; }
94
95 bool is_in_package_impl(const char* packagename, int len);
96
97 void print_impl(outputStream* st);
98
99 ciConstantPoolCache* field_cache();
100
|
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(Klass* 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"; }
94
95 bool is_in_package_impl(const char* packagename, int len);
96
97 void print_impl(outputStream* st);
98
99 ciConstantPoolCache* field_cache();
100
|