< prev index next >

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

Print this page

        

*** 156,167 **** 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; --- 156,167 ---- 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;
*** 396,416 **** 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 { --- 396,416 ---- 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 {
< prev index next >