提交 53863055 编写于 作者: R rbackman

Merge

...@@ -1583,7 +1583,7 @@ void GraphBuilder::access_field(Bytecodes::Code code) { ...@@ -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() { ...@@ -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();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册