Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp @ 3988:246daf2c601d
7005808: G1: re-enable ReduceInitialCardMarks for G1
Summary: Remove the extra guard to allow G1 to use ReduceInitialCardMarks
Reviewed-by: jmasa, tonyp, johnc, ysr
author | brutisso |
---|---|
date | Wed, 28 Sep 2011 08:21:30 +0200 |
parents | 8229bd737950 |
children | 8aae2050e83e |
comparison
equal
deleted
inserted
replaced
3987:fd65bc7c09b6 | 3988:246daf2c601d |
---|---|
1335 // of this implementation depends crucially on being able to | 1335 // of this implementation depends crucially on being able to |
1336 // answer very efficiently in constant time whether a piece of | 1336 // answer very efficiently in constant time whether a piece of |
1337 // storage in the heap comes from a young region or not. | 1337 // storage in the heap comes from a young region or not. |
1338 // See ReduceInitialCardMarks. | 1338 // See ReduceInitialCardMarks. |
1339 virtual bool can_elide_tlab_store_barriers() const { | 1339 virtual bool can_elide_tlab_store_barriers() const { |
1340 // 6920090: Temporarily disabled, because of lingering | 1340 return true; |
1341 // instabilities related to RICM with G1. In the | |
1342 // interim, the option ReduceInitialCardMarksForG1 | |
1343 // below is left solely as a debugging device at least | |
1344 // until 6920109 fixes the instabilities. | |
1345 return ReduceInitialCardMarksForG1; | |
1346 } | 1341 } |
1347 | 1342 |
1348 virtual bool card_mark_must_follow_store() const { | 1343 virtual bool card_mark_must_follow_store() const { |
1349 return true; | 1344 return true; |
1350 } | 1345 } |
1364 // in the young gen: for the SATB pre-barrier, there is no | 1359 // in the young gen: for the SATB pre-barrier, there is no |
1365 // pre-value that needs to be remembered; for the remembered-set | 1360 // pre-value that needs to be remembered; for the remembered-set |
1366 // update logging post-barrier, we don't maintain remembered set | 1361 // update logging post-barrier, we don't maintain remembered set |
1367 // information for young gen objects. | 1362 // information for young gen objects. |
1368 virtual bool can_elide_initializing_store_barrier(oop new_obj) { | 1363 virtual bool can_elide_initializing_store_barrier(oop new_obj) { |
1369 // Re 6920090, 6920109 above. | |
1370 assert(ReduceInitialCardMarksForG1, "Else cannot be here"); | |
1371 return is_in_young(new_obj); | 1364 return is_in_young(new_obj); |
1372 } | 1365 } |
1373 | 1366 |
1374 // Can a compiler elide a store barrier when it writes | 1367 // Can a compiler elide a store barrier when it writes |
1375 // a permanent oop into the heap? Applies when the compiler | 1368 // a permanent oop into the heap? Applies when the compiler |