Пример #1
0
 template <class T> void do_oop_work(T* p) {
   oop obj = oopDesc::load_decode_heap_oop_not_null(p);
   if (_young_gen->is_in_reserved(obj)) {
     assert(_card_table->addr_is_marked_precise(p), "Found unmarked precise oop");
     _card_table->set_card_newgen(p);
   }
 }
Пример #2
0
 template <class T> void do_oop_work(T* p) {
   oop obj = oopDesc::load_decode_heap_oop(p);
   if (_young_gen->is_in_reserved(obj) &&
       !_card_table->addr_is_marked_imprecise(p)) {
     // Don't overwrite the first missing card mark
     if (_unmarked_addr == NULL) {
       _unmarked_addr = (HeapWord*)p;
     }
   }
 }