159 // certain class via a certain bytecode may or may not be legal.
160 // This call checks to see if an exception may be raised by
161 // an access of this field.
162 //
163 // Usage note: if the same field is accessed multiple times
164 // in the same compilation, will_link will need to be checked
165 // at each point of access.
166 bool will_link(ciInstanceKlass* accessing_klass,
167 Bytecodes::Code bc);
168
169 // Java access flags
170 bool is_public () { return flags().is_public(); }
171 bool is_private () { return flags().is_private(); }
172 bool is_protected () { return flags().is_protected(); }
173 bool is_static () { return flags().is_static(); }
174 bool is_final () { return flags().is_final(); }
175 bool is_volatile () { return flags().is_volatile(); }
176 bool is_transient () { return flags().is_transient(); }
177
178 bool is_call_site_target() {
179 return (holder()->is_subclass_of(CURRENT_ENV->CallSite_klass()) && (name() == ciSymbol::target_name()));
180 }
181
182 // Debugging output
183 void print();
184 void print_name_on(outputStream* st);
185 };
186
187 #endif // SHARE_VM_CI_CIFIELD_HPP
|
159 // certain class via a certain bytecode may or may not be legal.
160 // This call checks to see if an exception may be raised by
161 // an access of this field.
162 //
163 // Usage note: if the same field is accessed multiple times
164 // in the same compilation, will_link will need to be checked
165 // at each point of access.
166 bool will_link(ciInstanceKlass* accessing_klass,
167 Bytecodes::Code bc);
168
169 // Java access flags
170 bool is_public () { return flags().is_public(); }
171 bool is_private () { return flags().is_private(); }
172 bool is_protected () { return flags().is_protected(); }
173 bool is_static () { return flags().is_static(); }
174 bool is_final () { return flags().is_final(); }
175 bool is_volatile () { return flags().is_volatile(); }
176 bool is_transient () { return flags().is_transient(); }
177
178 bool is_call_site_target() {
179 ciInstanceKlass* callsite_klass = CURRENT_ENV->CallSite_klass();
180 if (callsite_klass == NULL)
181 return false;
182 return (holder()->is_subclass_of(callsite_klass) && (name() == ciSymbol::target_name()));
183 }
184
185 // Debugging output
186 void print();
187 void print_name_on(outputStream* st);
188 };
189
190 #endif // SHARE_VM_CI_CIFIELD_HPP
|