Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp @ 17976:8e20ef014b08
8043239: G1: Missing post barrier in processing of j.l.ref.Reference objects
Summary: Removed all write barriers during reference processing and added explicit write barriers when iterating through the discovered list.
Reviewed-by: pliden, jmasa, tschatzl
author | brutisso |
---|---|
date | Wed, 11 Jun 2014 10:46:47 +0200 |
parents | 78bbf4d43a14 |
children | 52b4284cb496 0982ec23da03 |
comparison
equal
deleted
inserted
replaced
17975:bd4d69d9cb7d | 17976:8e20ef014b08 |
---|---|
859 ParallelRefProcEnabled && (ParallelGCThreads > 1), // mt processing | 859 ParallelRefProcEnabled && (ParallelGCThreads > 1), // mt processing |
860 (int) ParallelGCThreads, // mt processing degree | 860 (int) ParallelGCThreads, // mt processing degree |
861 true, // mt discovery | 861 true, // mt discovery |
862 (int) ParallelGCThreads, // mt discovery degree | 862 (int) ParallelGCThreads, // mt discovery degree |
863 true, // atomic_discovery | 863 true, // atomic_discovery |
864 NULL, // header provides liveness info | 864 NULL); // header provides liveness info |
865 false); // next field updates do not need write barrier | |
866 | 865 |
867 // Cache the cardtable | 866 // Cache the cardtable |
868 BarrierSet* bs = Universe::heap()->barrier_set(); | 867 BarrierSet* bs = Universe::heap()->barrier_set(); |
869 assert(bs->kind() == BarrierSet::CardTableModRef, "Wrong barrier set kind"); | 868 assert(bs->kind() == BarrierSet::CardTableModRef, "Wrong barrier set kind"); |
870 _card_table = (CardTableExtension*)bs; | 869 _card_table = (CardTableExtension*)bs; |