3026 // Given a klass oop, load its java mirror (a java.lang.Class oop). |
3026 // Given a klass oop, load its java mirror (a java.lang.Class oop). |
3027 Node* LibraryCallKit::load_mirror_from_klass(Node* klass) { |
3027 Node* LibraryCallKit::load_mirror_from_klass(Node* klass) { |
3028 Node* p = basic_plus_adr(klass, in_bytes(Klass::java_mirror_offset())); |
3028 Node* p = basic_plus_adr(klass, in_bytes(Klass::java_mirror_offset())); |
3029 Node* load = make_load(NULL, p, TypeRawPtr::NOTNULL, T_ADDRESS, MemNode::unordered); |
3029 Node* load = make_load(NULL, p, TypeRawPtr::NOTNULL, T_ADDRESS, MemNode::unordered); |
3030 // mirror = ((OopHandle)mirror)->resolve(); |
3030 // mirror = ((OopHandle)mirror)->resolve(); |
3031 return make_load(NULL, load, TypeInstPtr::MIRROR, T_OBJECT, MemNode::unordered); |
3031 return access_load(load, TypeInstPtr::MIRROR, T_OBJECT, IN_NATIVE); |
3032 } |
3032 } |
3033 |
3033 |
3034 //-----------------------load_klass_from_mirror_common------------------------- |
3034 //-----------------------load_klass_from_mirror_common------------------------- |
3035 // Given a java mirror (a java.lang.Class oop), load its corresponding klass oop. |
3035 // Given a java mirror (a java.lang.Class oop), load its corresponding klass oop. |
3036 // Test the klass oop for null (signifying a primitive Class like Integer.TYPE), |
3036 // Test the klass oop for null (signifying a primitive Class like Integer.TYPE), |