hotspot/src/share/vm/oops/instanceOop.hpp
changeset 591 04d2e26e6d69
parent 360 21d113ecbf6a
child 670 ddf3e9583f2f
equal deleted inserted replaced
590:2954744d7bba 591:04d2e26e6d69
    37              sizeof(instanceOopDesc);
    37              sizeof(instanceOopDesc);
    38   }
    38   }
    39 
    39 
    40   static bool contains_field_offset(int offset, int nonstatic_field_size) {
    40   static bool contains_field_offset(int offset, int nonstatic_field_size) {
    41     int base_in_bytes = base_offset_in_bytes();
    41     int base_in_bytes = base_offset_in_bytes();
    42     if (UseCompressedOops) {
    42     return (offset >= base_in_bytes &&
    43       return (offset >= base_in_bytes &&
    43             (offset-base_in_bytes) < nonstatic_field_size * heapOopSize);
    44               // field can be embedded in header, or is after header.
       
    45               (offset < (int)sizeof(instanceOopDesc) ||
       
    46               (offset-(int)sizeof(instanceOopDesc))/wordSize < nonstatic_field_size));
       
    47     } else {
       
    48       return (offset >= base_in_bytes &&
       
    49               (offset-base_in_bytes)/wordSize < nonstatic_field_size);
       
    50     }
       
    51   }
    44   }
    52 };
    45 };