hotspot/src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp
changeset 12380 48f69987dbca
parent 11174 fccee5238e70
child 13728 882756847a04
equal deleted inserted replaced
12379:2cf45b79ce3a 12380:48f69987dbca
    40   HeapWord*           _unmarked_addr;
    40   HeapWord*           _unmarked_addr;
    41   jbyte*              _unmarked_card;
    41   jbyte*              _unmarked_card;
    42 
    42 
    43  protected:
    43  protected:
    44   template <class T> void do_oop_work(T* p) {
    44   template <class T> void do_oop_work(T* p) {
    45     oop obj = oopDesc::load_decode_heap_oop_not_null(p);
    45     oop obj = oopDesc::load_decode_heap_oop(p);
    46     if (_young_gen->is_in_reserved(obj) &&
    46     if (_young_gen->is_in_reserved(obj) &&
    47         !_card_table->addr_is_marked_imprecise(p)) {
    47         !_card_table->addr_is_marked_imprecise(p)) {
    48       // Don't overwrite the first missing card mark
    48       // Don't overwrite the first missing card mark
    49       if (_unmarked_addr == NULL) {
    49       if (_unmarked_addr == NULL) {
    50         _unmarked_addr = (HeapWord*)p;
    50         _unmarked_addr = (HeapWord*)p;