< prev index next >

src/hotspot/share/gc/g1/c2/g1BarrierSetC2.hpp

Move G1 runtime barrier entries

61 
62   bool g1_can_remove_post_barrier(GraphKit* kit,                                                                                     
63                                   PhaseTransform* phase, Node* store,                                                                
64                                   Node* adr) const;                                                                                  
65 
66   void g1_mark_card(GraphKit* kit,                                                                                                   
67                     IdealKit& ideal,                                                                                                 
68                     Node* card_adr,                                                                                                  
69                     Node* oop_store,                                                                                                 
70                     uint oop_alias_idx,                                                                                              
71                     Node* index,                                                                                                     
72                     Node* index_adr,                                                                                                 
73                     Node* buffer,                                                                                                    
74                     const TypeFunc* tf) const;                                                                                       
75 
76   // Helper for unsafe accesses, that may or may not be on the referent field.                                                       
77   // Generates the guards that check whether the result of                                                                           
78   // Unsafe.getObject should be recorded in an SATB log buffer.                                                                      
79   void insert_pre_barrier(GraphKit* kit, Node* base_oop, Node* offset, Node* pre_val, bool need_mem_bar) const;                      
80 
81   static const TypeFunc* g1_wb_pre_Type();                                                                                           
82   static const TypeFunc* g1_wb_post_Type();                                                                                          
83 
84   virtual Node* load_at_resolved(C2Access& access, const Type* val_type) const;                                                      
85 
86  public:                                                                                                                             
87   virtual bool is_gc_barrier_node(Node* node) const;                                                                                 
88   virtual void eliminate_gc_barrier(PhaseMacroExpand* macro, Node* node) const;                                                      
89   virtual Node* step_over_gc_barrier(Node* c) const;                                                                                 
90 };                                                                                                                                   
91 
92 #endif // SHARE_GC_SHARED_C2_G1BARRIERSETC2_HPP                                                                                      

61 
62   bool g1_can_remove_post_barrier(GraphKit* kit,
63                                   PhaseTransform* phase, Node* store,
64                                   Node* adr) const;
65 
66   void g1_mark_card(GraphKit* kit,
67                     IdealKit& ideal,
68                     Node* card_adr,
69                     Node* oop_store,
70                     uint oop_alias_idx,
71                     Node* index,
72                     Node* index_adr,
73                     Node* buffer,
74                     const TypeFunc* tf) const;
75 
76   // Helper for unsafe accesses, that may or may not be on the referent field.
77   // Generates the guards that check whether the result of
78   // Unsafe.getObject should be recorded in an SATB log buffer.
79   void insert_pre_barrier(GraphKit* kit, Node* base_oop, Node* offset, Node* pre_val, bool need_mem_bar) const;
80 
81   static const TypeFunc* write_ref_field_pre_entry_Type();
82   static const TypeFunc* write_ref_field_post_entry_Type();
83 
84   virtual Node* load_at_resolved(C2Access& access, const Type* val_type) const;
85 
86  public:
87   virtual bool is_gc_barrier_node(Node* node) const;
88   virtual void eliminate_gc_barrier(PhaseMacroExpand* macro, Node* node) const;
89   virtual Node* step_over_gc_barrier(Node* c) const;
90 };
91 
92 #endif // SHARE_GC_SHARED_C2_G1BARRIERSETC2_HPP
< prev index next >