src/share/vm/memory/cardTableRS.hpp

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 43,54 **** static jbyte clean_card_val() { return CardTableModRefBS::clean_card; } ! static bool ! card_is_dirty_wrt_gen_iter(jbyte cv) { return CardTableModRefBS::card_is_dirty_wrt_gen_iter(cv); } CardTableModRefBSForCTRS* _ct_bs; --- 43,58 ---- static jbyte clean_card_val() { return CardTableModRefBS::clean_card; } ! // making this constants into inline methods kills performance for some reason ! static intptr_t clean_card_row() { ! return CardTableModRefBS::clean_card_row; ! } ! ! static bool card_is_dirty_wrt_gen_iter(jbyte cv) { return CardTableModRefBS::card_is_dirty_wrt_gen_iter(cv); } CardTableModRefBSForCTRS* _ct_bs;
*** 174,183 **** --- 178,189 ---- // processed. inline bool clear_card(jbyte* entry); // Work methods called by the clear_card() inline bool clear_card_serial(jbyte* entry); inline bool clear_card_parallel(jbyte* entry); + // check alignment of pointer + bool is_word_aligned(jbyte* entry); public: ClearNoncleanCardWrapper(DirtyCardToOopClosure* dirty_card_closure, CardTableRS* ct); void do_MemRegion(MemRegion mr); };