equal
deleted
inserted
replaced
33 friend class ciMethod; |
33 friend class ciMethod; |
34 friend class ciField; |
34 friend class ciField; |
35 friend class ciBytecodeStream; |
35 friend class ciBytecodeStream; |
36 |
36 |
37 private: |
37 private: |
38 bool _is_shared; |
|
39 |
|
40 jobject _loader; |
38 jobject _loader; |
41 jobject _protection_domain; |
39 jobject _protection_domain; |
42 |
40 |
|
41 bool _is_shared; |
43 bool _is_initialized; |
42 bool _is_initialized; |
44 bool _is_linked; |
43 bool _is_linked; |
45 bool _has_finalizer; |
44 bool _has_finalizer; |
46 bool _has_subklass; |
45 bool _has_subklass; |
|
46 bool _has_nonstatic_fields; |
|
47 |
47 ciFlags _flags; |
48 ciFlags _flags; |
48 jint _nonstatic_field_size; |
49 jint _nonstatic_field_size; |
49 jint _nonstatic_oop_map_size; |
50 jint _nonstatic_oop_map_size; |
50 |
51 |
51 // Lazy fields get filled in only upon request. |
52 // Lazy fields get filled in only upon request. |
130 >> LogHeapWordSize); |
131 >> LogHeapWordSize); |
131 } |
132 } |
132 jint nonstatic_field_size() { |
133 jint nonstatic_field_size() { |
133 assert(is_loaded(), "must be loaded"); |
134 assert(is_loaded(), "must be loaded"); |
134 return _nonstatic_field_size; } |
135 return _nonstatic_field_size; } |
|
136 jint has_nonstatic_fields() { |
|
137 assert(is_loaded(), "must be loaded"); |
|
138 return _has_nonstatic_fields; } |
135 jint nonstatic_oop_map_size() { |
139 jint nonstatic_oop_map_size() { |
136 assert(is_loaded(), "must be loaded"); |
140 assert(is_loaded(), "must be loaded"); |
137 return _nonstatic_oop_map_size; } |
141 return _nonstatic_oop_map_size; } |
138 ciInstanceKlass* super(); |
142 ciInstanceKlass* super(); |
139 jint nof_implementors() { |
143 jint nof_implementors() { |
162 |
166 |
163 ciInstanceKlass* unique_concrete_subklass(); |
167 ciInstanceKlass* unique_concrete_subklass(); |
164 bool has_finalizable_subclass(); |
168 bool has_finalizable_subclass(); |
165 |
169 |
166 bool contains_field_offset(int offset) { |
170 bool contains_field_offset(int offset) { |
167 return (offset/wordSize) >= instanceOopDesc::header_size() |
171 return instanceOopDesc::contains_field_offset(offset, nonstatic_field_size()); |
168 && (offset/wordSize)-instanceOopDesc::header_size() < nonstatic_field_size(); |
|
169 } |
172 } |
170 |
173 |
171 // Get the instance of java.lang.Class corresponding to |
174 // Get the instance of java.lang.Class corresponding to |
172 // this klass. This instance is used for locking of |
175 // this klass. This instance is used for locking of |
173 // synchronized static methods of this klass. |
176 // synchronized static methods of this klass. |