Mercurial > hg > graal-jvmci-8
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; |