comparison src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp @ 6009:dde53abda3d6

7160613: VerifyRememberedSets doesn't work with CompressedOops Summary: use load_decode_heap_oop instead of load_decode_heap_oop_not_null Reviewed-by: tonyp, brutisso
author stefank
date Wed, 11 Apr 2012 16:18:45 +0200
parents bca17e38de00
children da91efe96a93
comparison
equal deleted inserted replaced
6008:b632e80fc9dc 6009:dde53abda3d6
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;