comparison src/share/vm/memory/cardTableModRefBS.hpp @ 5939:c7a555a9449a

7068625: Testing 8 bytes of card table entries at a time speeds up card-scanning Summary: Check clean words instead of clean bytes Reviewed-by: jcoomes, jmasa, jwilhelm, ysr Contributed-by: alexey.ragozin@gmail.com
author brutisso
date Wed, 14 Mar 2012 12:49:27 +0100
parents ea640b5e949a
children fd09f2d8283e
comparison
equal deleted inserted replaced
5938:2c0751569716 5939:c7a555a9449a
1 /* 1 /*
2 * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
70 deferred_card = 4, 70 deferred_card = 4,
71 last_card = 8, 71 last_card = 8,
72 CT_MR_BS_last_reserved = 16 72 CT_MR_BS_last_reserved = 16
73 }; 73 };
74 74
75 // a word's worth (row) of clean card values
76 static const intptr_t clean_card_row = (intptr_t)(-1);
77
75 // dirty and precleaned are equivalent wrt younger_refs_iter. 78 // dirty and precleaned are equivalent wrt younger_refs_iter.
76 static bool card_is_dirty_wrt_gen_iter(jbyte cv) { 79 static bool card_is_dirty_wrt_gen_iter(jbyte cv) {
77 return cv == dirty_card || cv == precleaned_card; 80 return cv == dirty_card || cv == precleaned_card;
78 } 81 }
79 82