Path: blob/master/src/hotspot/share/gc/shared/c2/cardTableBarrierSetC2.hpp
40974 views
/*1* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation.7*8* This code is distributed in the hope that it will be useful, but WITHOUT9* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or10* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License11* version 2 for more details (a copy is included in the LICENSE file that12* accompanied this code).13*14* You should have received a copy of the GNU General Public License version15* 2 along with this work; if not, write to the Free Software Foundation,16* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.17*18* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA19* or visit www.oracle.com if you need additional information or have any20* questions.21*22*/2324#ifndef SHARE_GC_SHARED_C2_CARDTABLEBARRIERSETC2_HPP25#define SHARE_GC_SHARED_C2_CARDTABLEBARRIERSETC2_HPP2627#include "gc/shared/c2/modRefBarrierSetC2.hpp"2829class CardTableBarrierSetC2: public ModRefBarrierSetC2 {30protected:31virtual void post_barrier(GraphKit* kit,32Node* ctl,33Node* store,34Node* obj,35Node* adr,36uint adr_idx,37Node* val,38BasicType bt,39bool use_precise) const;4041Node* byte_map_base_node(GraphKit* kit) const;4243public:44virtual void clone(GraphKit* kit, Node* src, Node* dst, Node* size, bool is_array) const;45virtual bool is_gc_barrier_node(Node* node) const;46virtual void eliminate_gc_barrier(PhaseMacroExpand* macro, Node* node) const;47virtual bool array_copy_requires_gc_barriers(bool tightly_coupled_alloc, BasicType type, bool is_clone, bool is_clone_instance, ArrayCopyPhase phase) const;4849bool use_ReduceInitialCardMarks() const;50};5152#endif // SHARE_GC_SHARED_C2_CARDTABLEBARRIERSETC2_HPP535455