185 bool has_initialized_final_update() const { return flags().has_initialized_final_update(); }
186
187 bool is_call_site_target() {
188 ciInstanceKlass* callsite_klass = CURRENT_ENV->CallSite_klass();
189 if (callsite_klass == NULL)
190 return false;
191 return (holder()->is_subclass_of(callsite_klass) && (name() == ciSymbol::target_name()));
192 }
193
194 bool is_autobox_cache() {
195 ciSymbol* klass_name = holder()->name();
196 return (name() == ciSymbol::cache_field_name() &&
197 holder()->uses_default_loader() &&
198 (klass_name == ciSymbol::java_lang_Character_CharacterCache() ||
199 klass_name == ciSymbol::java_lang_Byte_ByteCache() ||
200 klass_name == ciSymbol::java_lang_Short_ShortCache() ||
201 klass_name == ciSymbol::java_lang_Integer_IntegerCache() ||
202 klass_name == ciSymbol::java_lang_Long_LongCache()));
203 }
204
205 bool is_never_null() const {
206 // Cannot use (type()->basic_type() == T_VALUETYPE) -- if the class is not loaded,
207 // type() is an unloaded ciInstanceKlass!
208 return signature()->char_at(0) == 'Q';
209 }
210
211 // Debugging output
212 void print();
213 void print_name_on(outputStream* st);
214 };
215
216 #endif // SHARE_CI_CIFIELD_HPP
|
185 bool has_initialized_final_update() const { return flags().has_initialized_final_update(); }
186
187 bool is_call_site_target() {
188 ciInstanceKlass* callsite_klass = CURRENT_ENV->CallSite_klass();
189 if (callsite_klass == NULL)
190 return false;
191 return (holder()->is_subclass_of(callsite_klass) && (name() == ciSymbol::target_name()));
192 }
193
194 bool is_autobox_cache() {
195 ciSymbol* klass_name = holder()->name();
196 return (name() == ciSymbol::cache_field_name() &&
197 holder()->uses_default_loader() &&
198 (klass_name == ciSymbol::java_lang_Character_CharacterCache() ||
199 klass_name == ciSymbol::java_lang_Byte_ByteCache() ||
200 klass_name == ciSymbol::java_lang_Short_ShortCache() ||
201 klass_name == ciSymbol::java_lang_Integer_IntegerCache() ||
202 klass_name == ciSymbol::java_lang_Long_LongCache()));
203 }
204
205 bool is_q_type() const {
206 // Cannot use (type()->basic_type() == T_VALUETYPE) -- if the class is not loaded,
207 // type() is an unloaded ciInstanceKlass!
208 return signature()->char_at(0) == 'Q';
209 }
210
211 // Debugging output
212 void print();
213 void print_name_on(outputStream* st);
214 };
215
216 #endif // SHARE_CI_CIFIELD_HPP
|