< prev index next >

src/share/vm/gc/shared/cardTableModRefBS.hpp

Print this page

        

*** 124,136 **** MemRegion committed_unique_to_self(int self, MemRegion mr) const; // Mapping from address to card marking array entry jbyte* byte_for(const void* p) const { assert(_whole_heap.contains(p), ! err_msg("Attempt to access p = " PTR_FORMAT " out of bounds of " " card marking array's _whole_heap = [" PTR_FORMAT "," PTR_FORMAT ")", ! p2i(p), p2i(_whole_heap.start()), p2i(_whole_heap.end()))); jbyte* result = &byte_map_base[uintptr_t(p) >> card_shift]; assert(result >= _byte_map && result < _byte_map + _byte_map_size, "out of bounds accessor for card marking array"); return result; } --- 124,136 ---- MemRegion committed_unique_to_self(int self, MemRegion mr) const; // Mapping from address to card marking array entry jbyte* byte_for(const void* p) const { assert(_whole_heap.contains(p), ! "Attempt to access p = " PTR_FORMAT " out of bounds of " " card marking array's _whole_heap = [" PTR_FORMAT "," PTR_FORMAT ")", ! p2i(p), p2i(_whole_heap.start()), p2i(_whole_heap.end())); jbyte* result = &byte_map_base[uintptr_t(p) >> card_shift]; assert(result >= _byte_map && result < _byte_map + _byte_map_size, "out of bounds accessor for card marking array"); return result; }
*** 292,313 **** assert(p >= _byte_map && p < _byte_map + _byte_map_size, "out of bounds access to card marking array"); size_t delta = pointer_delta(p, byte_map_base, sizeof(jbyte)); HeapWord* result = (HeapWord*) (delta << card_shift); assert(_whole_heap.contains(result), ! err_msg("Returning result = " PTR_FORMAT " out of bounds of " " card marking array's _whole_heap = [" PTR_FORMAT "," PTR_FORMAT ")", ! p2i(result), p2i(_whole_heap.start()), p2i(_whole_heap.end()))); return result; } // Mapping from address to card marking array index. size_t index_for(void* p) { assert(_whole_heap.contains(p), ! err_msg("Attempt to access p = " PTR_FORMAT " out of bounds of " " card marking array's _whole_heap = [" PTR_FORMAT "," PTR_FORMAT ")", ! p2i(p), p2i(_whole_heap.start()), p2i(_whole_heap.end()))); return byte_for(p) - _byte_map; } const jbyte* byte_for_index(const size_t card_index) const { return _byte_map + card_index; --- 292,313 ---- assert(p >= _byte_map && p < _byte_map + _byte_map_size, "out of bounds access to card marking array"); size_t delta = pointer_delta(p, byte_map_base, sizeof(jbyte)); HeapWord* result = (HeapWord*) (delta << card_shift); assert(_whole_heap.contains(result), ! "Returning result = " PTR_FORMAT " out of bounds of " " card marking array's _whole_heap = [" PTR_FORMAT "," PTR_FORMAT ")", ! p2i(result), p2i(_whole_heap.start()), p2i(_whole_heap.end())); return result; } // Mapping from address to card marking array index. size_t index_for(void* p) { assert(_whole_heap.contains(p), ! "Attempt to access p = " PTR_FORMAT " out of bounds of " " card marking array's _whole_heap = [" PTR_FORMAT "," PTR_FORMAT ")", ! p2i(p), p2i(_whole_heap.start()), p2i(_whole_heap.end())); return byte_for(p) - _byte_map; } const jbyte* byte_for_index(const size_t card_index) const { return _byte_map + card_index;
< prev index next >