equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2001, 2011, 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. |
164 return cv == CardTableRS::cur_youngergen_and_prev_nonclean_card; |
164 return cv == CardTableRS::cur_youngergen_and_prev_nonclean_card; |
165 } |
165 } |
166 |
166 |
167 }; |
167 }; |
168 |
168 |
|
169 class ClearNoncleanCardWrapper: public MemRegionClosure { |
|
170 MemRegionClosure* _dirty_card_closure; |
|
171 CardTableRS* _ct; |
|
172 bool _is_par; |
|
173 private: |
|
174 // Clears the given card, return true if the corresponding card should be |
|
175 // processed. |
|
176 inline bool clear_card(jbyte* entry); |
|
177 // Work methods called by the clear_card() |
|
178 inline bool clear_card_serial(jbyte* entry); |
|
179 inline bool clear_card_parallel(jbyte* entry); |
|
180 |
|
181 public: |
|
182 ClearNoncleanCardWrapper(MemRegionClosure* dirty_card_closure, CardTableRS* ct); |
|
183 void do_MemRegion(MemRegion mr); |
|
184 }; |
|
185 |
169 #endif // SHARE_VM_MEMORY_CARDTABLERS_HPP |
186 #endif // SHARE_VM_MEMORY_CARDTABLERS_HPP |