20 * or visit www.oracle.com if you need additional information or have any |
20 * or visit www.oracle.com if you need additional information or have any |
21 * questions. |
21 * questions. |
22 * |
22 * |
23 */ |
23 */ |
24 |
24 |
|
25 #include "precompiled.hpp" |
|
26 #include "memory/allocation.inline.hpp" |
|
27 #include "memory/cardTableModRefBS.hpp" |
|
28 #include "memory/cardTableRS.hpp" |
|
29 #include "memory/sharedHeap.hpp" |
|
30 #include "memory/space.hpp" |
|
31 #include "memory/space.inline.hpp" |
|
32 #include "memory/universe.hpp" |
|
33 #include "runtime/java.hpp" |
|
34 #include "runtime/mutexLocker.hpp" |
|
35 #include "runtime/virtualspace.hpp" |
|
36 #ifdef COMPILER1 |
|
37 #include "c1/c1_LIR.hpp" |
|
38 #include "c1/c1_LIRGenerator.hpp" |
|
39 #endif |
|
40 |
25 // This kind of "BarrierSet" allows a "CollectedHeap" to detect and |
41 // This kind of "BarrierSet" allows a "CollectedHeap" to detect and |
26 // enumerate ref fields that have been modified (since the last |
42 // enumerate ref fields that have been modified (since the last |
27 // enumeration.) |
43 // enumeration.) |
28 |
|
29 # include "incls/_precompiled.incl" |
|
30 # include "incls/_cardTableModRefBS.cpp.incl" |
|
31 |
44 |
32 size_t CardTableModRefBS::cards_required(size_t covered_words) |
45 size_t CardTableModRefBS::cards_required(size_t covered_words) |
33 { |
46 { |
34 // Add one for a guard card, used to detect errors. |
47 // Add one for a guard card, used to detect errors. |
35 const size_t words = align_size_up(covered_words, card_size_in_words); |
48 const size_t words = align_size_up(covered_words, card_size_in_words); |