src/share/vm/ci/ciField.hpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
6893268 Cdiff src/share/vm/ci/ciField.hpp
src/share/vm/ci/ciField.hpp
Print this page
rev 1026 : imported patch indy.compiler.inline.patch
*** 136,149 ****
// Note: the check for case 4 is not yet implemented.
bool is_constant() { return _is_constant; }
// Get the constant value of this field.
ciConstant constant_value() {
! assert(is_constant(), "illegal call to constant_value()");
return _constant_value;
}
// Check for link time errors. Accessing a field from a
// certain class via a certain bytecode may or may not be legal.
// This call checks to see if an exception may be raised by
// an access of this field.
//
--- 136,157 ----
// Note: the check for case 4 is not yet implemented.
bool is_constant() { return _is_constant; }
// Get the constant value of this field.
ciConstant constant_value() {
! assert(is_static() && is_constant(), "illegal call to constant_value()");
return _constant_value;
}
+ // Get the constant value of non-static final field in the given
+ // object.
+ ciConstant constant_value_of(ciObject* object) {
+ assert(!is_static() && is_constant(), "only if field is non-static constant");
+ assert(object->is_instance(), "must be instance");
+ return object->as_instance()->field_value(this);
+ }
+
// Check for link time errors. Accessing a field from a
// certain class via a certain bytecode may or may not be legal.
// This call checks to see if an exception may be raised by
// an access of this field.
//
src/share/vm/ci/ciField.hpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File