< prev index next >

src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp

Print this page
*** 495,11 ***
        // to the first element in the array when cloning object arrays. Otherwise, load
        // barriers are applied to parts of the header. Also adjust the length accordingly.
        assert(src_offset == dest_offset, "should be equal");
        const jlong offset = src_offset->get_long();
        if (offset != arrayOopDesc::base_offset_in_bytes(T_OBJECT)) {
!         assert(!UseCompressedClassPointers, "should only happen without compressed class pointers");
          assert((arrayOopDesc::base_offset_in_bytes(T_OBJECT) - offset) == BytesPerLong, "unexpected offset");
          length = phase->transform_later(new SubLNode(length, phase->longcon(1))); // Size is in longs
          src_offset = phase->longcon(arrayOopDesc::base_offset_in_bytes(T_OBJECT));
          dest_offset = src_offset;
        }
--- 495,11 ---
        // to the first element in the array when cloning object arrays. Otherwise, load
        // barriers are applied to parts of the header. Also adjust the length accordingly.
        assert(src_offset == dest_offset, "should be equal");
        const jlong offset = src_offset->get_long();
        if (offset != arrayOopDesc::base_offset_in_bytes(T_OBJECT)) {
!         assert(!UseCompressedClassPointers || UseCompactObjectHeaders, "should only happen without compressed class pointers");
          assert((arrayOopDesc::base_offset_in_bytes(T_OBJECT) - offset) == BytesPerLong, "unexpected offset");
          length = phase->transform_later(new SubLNode(length, phase->longcon(1))); // Size is in longs
          src_offset = phase->longcon(arrayOopDesc::base_offset_in_bytes(T_OBJECT));
          dest_offset = src_offset;
        }
< prev index next >