src/hotspot/share/prims/unsafe.cpp
changeset 49661 a3fed4b041ac
parent 49658 8237a91c1cca
child 50113 caf115bb98ad
equal deleted inserted replaced
49660:89a886b7a9cf 49661:a3fed4b041ac
   121 
   121 
   122 static inline void* index_oop_from_field_offset_long(oop p, jlong field_offset) {
   122 static inline void* index_oop_from_field_offset_long(oop p, jlong field_offset) {
   123   assert_field_offset_sane(p, field_offset);
   123   assert_field_offset_sane(p, field_offset);
   124   jlong byte_offset = field_offset_to_byte_offset(field_offset);
   124   jlong byte_offset = field_offset_to_byte_offset(field_offset);
   125 
   125 
       
   126   if (p != NULL) {
       
   127     p = Access<>::resolve(p);
       
   128   }
       
   129 
   126   if (sizeof(char*) == sizeof(jint)) {   // (this constant folds!)
   130   if (sizeof(char*) == sizeof(jint)) {   // (this constant folds!)
   127     return (address)p + (jint) byte_offset;
   131     return (address)p + (jint) byte_offset;
   128   } else {
   132   } else {
   129     return (address)p +        byte_offset;
   133     return (address)p +        byte_offset;
   130   }
   134   }