6969569: assert(is_static() && is_constant()) failed: illegal call to constant_value()
Add missing is_static guard. Reviewed-by: twisti
This commit is contained in:
parent
762e078636
commit
3fbdd52bdf
@ -339,7 +339,7 @@ void ciField::print() {
|
|||||||
if (_type != NULL) _type->print_name();
|
if (_type != NULL) _type->print_name();
|
||||||
else tty->print("(reference)");
|
else tty->print("(reference)");
|
||||||
tty->print(" is_constant=%s", bool_to_str(_is_constant));
|
tty->print(" is_constant=%s", bool_to_str(_is_constant));
|
||||||
if (_is_constant) {
|
if (_is_constant && is_static()) {
|
||||||
tty->print(" constant_value=");
|
tty->print(" constant_value=");
|
||||||
_constant_value.print();
|
_constant_value.print();
|
||||||
}
|
}
|
||||||
|
@ -720,7 +720,7 @@ bool PhaseMacroExpand::scalar_replacement(AllocateNode *alloc, GrowableArray <Sa
|
|||||||
if (basic_elem_type == T_OBJECT || basic_elem_type == T_ARRAY) {
|
if (basic_elem_type == T_OBJECT || basic_elem_type == T_ARRAY) {
|
||||||
if (!elem_type->is_loaded()) {
|
if (!elem_type->is_loaded()) {
|
||||||
field_type = TypeInstPtr::BOTTOM;
|
field_type = TypeInstPtr::BOTTOM;
|
||||||
} else if (field != NULL && field->is_constant()) {
|
} else if (field != NULL && field->is_constant() && field->is_static()) {
|
||||||
// This can happen if the constant oop is non-perm.
|
// This can happen if the constant oop is non-perm.
|
||||||
ciObject* con = field->constant_value().as_object();
|
ciObject* con = field->constant_value().as_object();
|
||||||
// Do not "join" in the previous type; it doesn't add value,
|
// Do not "join" in the previous type; it doesn't add value,
|
||||||
|
Loading…
Reference in New Issue
Block a user