12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "memory/allocation.inline.hpp"
27 #include "memory/cardTableRS.hpp"
28 #include "memory/genCollectedHeap.hpp"
29 #include "memory/generation.hpp"
30 #include "memory/space.hpp"
31 #include "oops/oop.inline.hpp"
32 #include "runtime/java.hpp"
33 #include "runtime/os.hpp"
34 #include "utilities/macros.hpp"
35 #if INCLUDE_ALL_GCS
36 #include "gc_implementation/g1/concurrentMark.hpp"
37 #include "gc_implementation/g1/g1SATBCardTableModRefBS.hpp"
38 #endif // INCLUDE_ALL_GCS
39
40 CardTableRS::CardTableRS(MemRegion whole_heap,
41 int max_covered_regions) :
42 GenRemSet(),
43 _cur_youngergen_card_val(youngergenP1_card),
44 _regions_to_iterate(max_covered_regions - 1)
45 {
46 #if INCLUDE_ALL_GCS
47 if (UseG1GC) {
48 _ct_bs = new G1SATBCardTableLoggingModRefBS(whole_heap,
49 max_covered_regions);
50 } else {
51 _ct_bs = new CardTableModRefBSForCTRS(whole_heap, max_covered_regions);
|
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "memory/allocation.inline.hpp"
27 #include "memory/cardTableRS.hpp"
28 #include "memory/genCollectedHeap.hpp"
29 #include "memory/generation.hpp"
30 #include "memory/space.hpp"
31 #include "oops/oop.inline.hpp"
32 #include "runtime/atomic.inline.hpp"
33 #include "runtime/java.hpp"
34 #include "runtime/os.hpp"
35 #include "utilities/macros.hpp"
36 #if INCLUDE_ALL_GCS
37 #include "gc_implementation/g1/concurrentMark.hpp"
38 #include "gc_implementation/g1/g1SATBCardTableModRefBS.hpp"
39 #endif // INCLUDE_ALL_GCS
40
41 CardTableRS::CardTableRS(MemRegion whole_heap,
42 int max_covered_regions) :
43 GenRemSet(),
44 _cur_youngergen_card_val(youngergenP1_card),
45 _regions_to_iterate(max_covered_regions - 1)
46 {
47 #if INCLUDE_ALL_GCS
48 if (UseG1GC) {
49 _ct_bs = new G1SATBCardTableLoggingModRefBS(whole_heap,
50 max_covered_regions);
51 } else {
52 _ct_bs = new CardTableModRefBSForCTRS(whole_heap, max_covered_regions);
|