< prev index next >

src/hotspot/share/gc/shared/cardTableRS.cpp

Print this page

        

*** 26,35 **** --- 26,36 ---- #include "gc/shared/cardTableRS.hpp" #include "gc/shared/genCollectedHeap.hpp" #include "gc/shared/generation.hpp" #include "gc/shared/space.inline.hpp" #include "memory/allocation.inline.hpp" + #include "oops/access.inline.hpp" #include "oops/oop.inline.hpp" #include "runtime/atomic.hpp" #include "runtime/java.hpp" #include "runtime/os.hpp" #include "utilities/macros.hpp"
*** 349,359 **** HeapWord* jp = (HeapWord*)p; assert(jp >= _begin && jp < _end, "Error: jp " PTR_FORMAT " should be within " "[_begin, _end) = [" PTR_FORMAT "," PTR_FORMAT ")", p2i(jp), p2i(_begin), p2i(_end)); ! oop obj = oopDesc::load_decode_heap_oop(p); guarantee(obj == NULL || (HeapWord*)obj >= _boundary, "pointer " PTR_FORMAT " at " PTR_FORMAT " on " "clean card crosses boundary" PTR_FORMAT, p2i(obj), p2i(jp), p2i(_boundary)); } --- 350,360 ---- HeapWord* jp = (HeapWord*)p; assert(jp >= _begin && jp < _end, "Error: jp " PTR_FORMAT " should be within " "[_begin, _end) = [" PTR_FORMAT "," PTR_FORMAT ")", p2i(jp), p2i(_begin), p2i(_end)); ! oop obj = RawAccess<>::oop_load(p); guarantee(obj == NULL || (HeapWord*)obj >= _boundary, "pointer " PTR_FORMAT " at " PTR_FORMAT " on " "clean card crosses boundary" PTR_FORMAT, p2i(obj), p2i(jp), p2i(_boundary)); }
< prev index next >