141 // Get the constant value of the static field.
142 ciConstant constant_value();
143
144 bool is_static_constant() {
145 return is_static() && is_constant() && constant_value().is_valid();
146 }
147
148 // Get the constant value of non-static final field in the given
149 // object.
150 ciConstant constant_value_of(ciObject* object);
151
152 // Check for link time errors. Accessing a field from a
153 // certain class via a certain bytecode may or may not be legal.
154 // This call checks to see if an exception may be raised by
155 // an access of this field.
156 //
157 // Usage note: if the same field is accessed multiple times
158 // in the same compilation, will_link will need to be checked
159 // at each point of access.
160 bool will_link(ciInstanceKlass* accessing_klass,
161 Bytecodes::Code bc);
162
163 // Java access flags
164 bool is_public () const { return flags().is_public(); }
165 bool is_private () const { return flags().is_private(); }
166 bool is_protected () const { return flags().is_protected(); }
167 bool is_static () const { return flags().is_static(); }
168 bool is_final () const { return flags().is_final(); }
169 bool is_stable () const { return flags().is_stable(); }
170 bool is_volatile () const { return flags().is_volatile(); }
171 bool is_transient () const { return flags().is_transient(); }
172
173 bool is_call_site_target() {
174 ciInstanceKlass* callsite_klass = CURRENT_ENV->CallSite_klass();
175 if (callsite_klass == NULL)
176 return false;
177 return (holder()->is_subclass_of(callsite_klass) && (name() == ciSymbol::target_name()));
178 }
179
180 bool is_autobox_cache() {
|
141 // Get the constant value of the static field.
142 ciConstant constant_value();
143
144 bool is_static_constant() {
145 return is_static() && is_constant() && constant_value().is_valid();
146 }
147
148 // Get the constant value of non-static final field in the given
149 // object.
150 ciConstant constant_value_of(ciObject* object);
151
152 // Check for link time errors. Accessing a field from a
153 // certain class via a certain bytecode may or may not be legal.
154 // This call checks to see if an exception may be raised by
155 // an access of this field.
156 //
157 // Usage note: if the same field is accessed multiple times
158 // in the same compilation, will_link will need to be checked
159 // at each point of access.
160 bool will_link(ciInstanceKlass* accessing_klass,
161 ciMethod* accessing_method,
162 Bytecodes::Code bc);
163
164 // Java access flags
165 bool is_public () const { return flags().is_public(); }
166 bool is_private () const { return flags().is_private(); }
167 bool is_protected () const { return flags().is_protected(); }
168 bool is_static () const { return flags().is_static(); }
169 bool is_final () const { return flags().is_final(); }
170 bool is_stable () const { return flags().is_stable(); }
171 bool is_volatile () const { return flags().is_volatile(); }
172 bool is_transient () const { return flags().is_transient(); }
173
174 bool is_call_site_target() {
175 ciInstanceKlass* callsite_klass = CURRENT_ENV->CallSite_klass();
176 if (callsite_klass == NULL)
177 return false;
178 return (holder()->is_subclass_of(callsite_klass) && (name() == ciSymbol::target_name()));
179 }
180
181 bool is_autobox_cache() {
|