src/share/vm/memory/cardTableModRefBS.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File hotspot Cdiff src/share/vm/memory/cardTableModRefBS.hpp

src/share/vm/memory/cardTableModRefBS.hpp

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2000, 2014, 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) 2000, 2015, 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.
*** 282,305 **** // For RTTI simulation. bool is_a(BarrierSet::Name bsn) { return bsn == BarrierSet::CardTableModRef || ModRefBarrierSet::is_a(bsn); } - CardTableModRefBS(MemRegion whole_heap); - ~CardTableModRefBS(); - virtual void initialize(); // *** Barrier set functions. bool has_write_ref_pre_barrier() { return false; } // Record a reference update. Note that these versions are precise! // The scanning code has to handle the fact that the write barrier may be // either precise or imprecise. We make non-virtual inline variants of // these functions here for performance. ! protected: void write_ref_field_work(oop obj, size_t offset, oop newVal); virtual void write_ref_field_work(void* field, oop newVal, bool release = false); public: bool has_write_ref_array_opt() { return true; } --- 282,307 ---- // For RTTI simulation. bool is_a(BarrierSet::Name bsn) { return bsn == BarrierSet::CardTableModRef || ModRefBarrierSet::is_a(bsn); } virtual void initialize(); // *** Barrier set functions. bool has_write_ref_pre_barrier() { return false; } + protected: + + CardTableModRefBS(MemRegion whole_heap, BarrierSet::Name kind); + ~CardTableModRefBS(); + // Record a reference update. Note that these versions are precise! // The scanning code has to handle the fact that the write barrier may be // either precise or imprecise. We make non-virtual inline variants of // these functions here for performance. ! void write_ref_field_work(oop obj, size_t offset, oop newVal); virtual void write_ref_field_work(void* field, oop newVal, bool release = false); public: bool has_write_ref_array_opt() { return true; }
*** 476,486 **** protected: bool card_will_be_scanned(jbyte cv); bool card_may_have_been_dirty(jbyte cv); public: CardTableModRefBSForCTRS(MemRegion whole_heap) : ! CardTableModRefBS(whole_heap) {} void set_CTRS(CardTableRS* rs) { _rs = rs; } }; --- 478,488 ---- protected: bool card_will_be_scanned(jbyte cv); bool card_may_have_been_dirty(jbyte cv); public: CardTableModRefBSForCTRS(MemRegion whole_heap) : ! CardTableModRefBS(whole_heap, BarrierSet::CardTableModRef) {} void set_CTRS(CardTableRS* rs) { _rs = rs; } };
src/share/vm/memory/cardTableModRefBS.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File