Merge
This commit is contained in:
commit
a87950ce8d
@ -1583,7 +1583,7 @@ void GraphBuilder::access_field(Bytecodes::Code code) {
|
|||||||
ObjectType* obj_type = obj->type()->as_ObjectType();
|
ObjectType* obj_type = obj->type()->as_ObjectType();
|
||||||
if (obj_type->is_constant() && !PatchALot) {
|
if (obj_type->is_constant() && !PatchALot) {
|
||||||
ciObject* const_oop = obj_type->constant_value();
|
ciObject* const_oop = obj_type->constant_value();
|
||||||
if (!const_oop->is_null_object()) {
|
if (!const_oop->is_null_object() && const_oop->is_loaded()) {
|
||||||
if (field->is_constant()) {
|
if (field->is_constant()) {
|
||||||
ciConstant field_val = field->constant_value_of(const_oop);
|
ciConstant field_val = field->constant_value_of(const_oop);
|
||||||
BasicType field_type = field_val.basic_type();
|
BasicType field_type = field_val.basic_type();
|
||||||
|
@ -60,10 +60,10 @@ ciType* ciInstance::java_mirror_type() {
|
|||||||
//
|
//
|
||||||
// Constant value of a field.
|
// Constant value of a field.
|
||||||
ciConstant ciInstance::field_value(ciField* field) {
|
ciConstant ciInstance::field_value(ciField* field) {
|
||||||
assert(is_loaded() &&
|
assert(is_loaded(), "invalid access - must be loaded");
|
||||||
field->holder()->is_loaded() &&
|
assert(field->holder()->is_loaded(), "invalid access - holder must be loaded");
|
||||||
klass()->is_subclass_of(field->holder()),
|
assert(klass()->is_subclass_of(field->holder()), "invalid access - must be subclass");
|
||||||
"invalid access");
|
|
||||||
VM_ENTRY_MARK;
|
VM_ENTRY_MARK;
|
||||||
ciConstant result;
|
ciConstant result;
|
||||||
Handle obj = get_oop();
|
Handle obj = get_oop();
|
||||||
|
Loading…
Reference in New Issue
Block a user