< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp

Print this page

        

*** 152,172 **** assert(decode_oop(encode_oop(o)) == o, "oop can be encoded: " PTR_FORMAT, p2i(o)); assert(decode_chunk(encode_chunk(chunk)) == chunk, "chunk can be encoded: %d", chunk); assert(decode_pow(encode_pow(pow)) == pow, "pow can be encoded: %d", pow); _obj = encode_oop(o) | encode_chunk(chunk) | encode_pow(pow); } - ObjArrayChunkedTask(const ObjArrayChunkedTask& t): _obj(t._obj) { } ! ObjArrayChunkedTask& operator =(const ObjArrayChunkedTask& t) { ! _obj = t._obj; ! return *this; ! } ! volatile ObjArrayChunkedTask& ! operator =(const volatile ObjArrayChunkedTask& t) volatile { ! (void)const_cast<uintptr_t&>(_obj = t._obj); ! return *this; ! } inline oop decode_oop(uintptr_t val) const { return (oop) reinterpret_cast<void*>((val >> oop_shift) & right_n_bits(oop_bits)); } --- 152,163 ---- assert(decode_oop(encode_oop(o)) == o, "oop can be encoded: " PTR_FORMAT, p2i(o)); assert(decode_chunk(encode_chunk(chunk)) == chunk, "chunk can be encoded: %d", chunk); assert(decode_pow(encode_pow(pow)) == pow, "pow can be encoded: %d", pow); _obj = encode_oop(o) | encode_chunk(chunk) | encode_pow(pow); } ! // Trivially copyable. inline oop decode_oop(uintptr_t val) const { return (oop) reinterpret_cast<void*>((val >> oop_shift) & right_n_bits(oop_bits)); }
*** 221,245 **** assert(0 <= chunk && chunk < nth_bit(chunk_bits), "chunk is sane: %d", chunk); assert(0 <= pow && pow < nth_bit(pow_bits), "pow is sane: %d", pow); _chunk = chunk; _pow = pow; } - ObjArrayChunkedTask(const ObjArrayChunkedTask& t): _obj(t._obj), _chunk(t._chunk), _pow(t._pow) { } ! ObjArrayChunkedTask& operator =(const ObjArrayChunkedTask& t) { ! _obj = t._obj; ! _chunk = t._chunk; ! _pow = t._pow; ! return *this; ! } ! volatile ObjArrayChunkedTask& ! operator =(const volatile ObjArrayChunkedTask& t) volatile { ! (void)const_cast<oop&>(_obj = t._obj); ! _chunk = t._chunk; ! _pow = t._pow; ! return *this; ! } inline oop obj() const { return _obj; } inline int chunk() const { return _chunk; } inline int pow() const { return _pow; } --- 212,223 ---- assert(0 <= chunk && chunk < nth_bit(chunk_bits), "chunk is sane: %d", chunk); assert(0 <= pow && pow < nth_bit(pow_bits), "pow is sane: %d", pow); _chunk = chunk; _pow = pow; } ! // Trivially copyable. inline oop obj() const { return _obj; } inline int chunk() const { return _chunk; } inline int pow() const { return _pow; }
< prev index next >