164 bool will_link(ciInstanceKlass* accessing_klass, 165 Bytecodes::Code bc); 166 167 // Java access flags 168 bool is_public () { return flags().is_public(); } 169 bool is_private () { return flags().is_private(); } 170 bool is_protected () { return flags().is_protected(); } 171 bool is_static () { return flags().is_static(); } 172 bool is_final () { return flags().is_final(); } 173 bool is_stable () { return flags().is_stable(); } 174 bool is_volatile () { return flags().is_volatile(); } 175 bool is_transient () { return flags().is_transient(); } 176 177 bool is_call_site_target() { 178 ciInstanceKlass* callsite_klass = CURRENT_ENV->CallSite_klass(); 179 if (callsite_klass == NULL) 180 return false; 181 return (holder()->is_subclass_of(callsite_klass) && (name() == ciSymbol::target_name())); 182 } 183 184 // Debugging output 185 void print(); 186 void print_name_on(outputStream* st); 187 }; 188 189 #endif // SHARE_VM_CI_CIFIELD_HPP | 164 bool will_link(ciInstanceKlass* accessing_klass, 165 Bytecodes::Code bc); 166 167 // Java access flags 168 bool is_public () { return flags().is_public(); } 169 bool is_private () { return flags().is_private(); } 170 bool is_protected () { return flags().is_protected(); } 171 bool is_static () { return flags().is_static(); } 172 bool is_final () { return flags().is_final(); } 173 bool is_stable () { return flags().is_stable(); } 174 bool is_volatile () { return flags().is_volatile(); } 175 bool is_transient () { return flags().is_transient(); } 176 177 bool is_call_site_target() { 178 ciInstanceKlass* callsite_klass = CURRENT_ENV->CallSite_klass(); 179 if (callsite_klass == NULL) 180 return false; 181 return (holder()->is_subclass_of(callsite_klass) && (name() == ciSymbol::target_name())); 182 } 183 184 bool is_autobox_cache() { 185 ciSymbol* klass_name = holder()->name(); 186 return (name() == ciSymbol::cache_field_name() && 187 holder()->uses_default_loader() && 188 (klass_name == ciSymbol::java_lang_Character_CharacterCache() || 189 klass_name == ciSymbol::java_lang_Byte_ByteCache() || 190 klass_name == ciSymbol::java_lang_Short_ShortCache() || 191 klass_name == ciSymbol::java_lang_Integer_IntegerCache() || 192 klass_name == ciSymbol::java_lang_Long_LongCache())); 193 } 194 195 // Debugging output 196 void print(); 197 void print_name_on(outputStream* st); 198 }; 199 200 #endif // SHARE_VM_CI_CIFIELD_HPP |