< prev index next >

src/hotspot/share/gc/shared/c2/cardTableBarrierSetC2.hpp

Print this page

29 
30 class CardTableBarrierSetC2: public BarrierSetC2 {
31 protected:
32   virtual void post_barrier(GraphKit* kit,
33                             Node* obj,
34                             Node* adr,
35                             Node* val,
36                             bool use_precise) const;
37 
38   virtual Node* store_at_resolved(C2Access& access, C2AccessValue& val) const;
39 
40   virtual Node* atomic_cmpxchg_val_at_resolved(C2AtomicParseAccess& access, Node* expected_val,
41                                                Node* new_val, const Type* value_type) const;
42   virtual Node* atomic_cmpxchg_bool_at_resolved(C2AtomicParseAccess& access, Node* expected_val,
43                                                 Node* new_val, const Type* value_type) const;
44   virtual Node* atomic_xchg_at_resolved(C2AtomicParseAccess& access, Node* new_val, const Type* value_type) const;
45 
46   Node* byte_map_base_node(GraphKit* kit) const;
47 
48 public:
49   virtual void eliminate_gc_barrier(PhaseMacroExpand* macro, Node* node) const;
50   virtual bool array_copy_requires_gc_barriers(bool tightly_coupled_alloc, BasicType type, bool is_clone, bool is_clone_instance, ArrayCopyPhase phase) const;
51 
52   static bool use_ReduceInitialCardMarks();
53 };
54 
55 #endif // SHARE_GC_SHARED_C2_CARDTABLEBARRIERSETC2_HPP

29 
30 class CardTableBarrierSetC2: public BarrierSetC2 {
31 protected:
32   virtual void post_barrier(GraphKit* kit,
33                             Node* obj,
34                             Node* adr,
35                             Node* val,
36                             bool use_precise) const;
37 
38   virtual Node* store_at_resolved(C2Access& access, C2AccessValue& val) const;
39 
40   virtual Node* atomic_cmpxchg_val_at_resolved(C2AtomicParseAccess& access, Node* expected_val,
41                                                Node* new_val, const Type* value_type) const;
42   virtual Node* atomic_cmpxchg_bool_at_resolved(C2AtomicParseAccess& access, Node* expected_val,
43                                                 Node* new_val, const Type* value_type) const;
44   virtual Node* atomic_xchg_at_resolved(C2AtomicParseAccess& access, Node* new_val, const Type* value_type) const;
45 
46   Node* byte_map_base_node(GraphKit* kit) const;
47 
48 public:
49   virtual void eliminate_gc_barrier(PhaseIterGVN* igvn, Node* node) const;
50   virtual bool array_copy_requires_gc_barriers(bool tightly_coupled_alloc, BasicType type, bool is_clone, bool is_clone_instance, ArrayCopyPhase phase) const;
51 
52   static bool use_ReduceInitialCardMarks();
53 };
54 
55 #endif // SHARE_GC_SHARED_C2_CARDTABLEBARRIERSETC2_HPP
< prev index next >