< prev index next >

src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp

Print this page

        

@@ -910,10 +910,12 @@
       state()->remove_load_reference_barrier(n);
     }
   }
 }
 
+void ShenandoahBarrierSetC2::add_users_to_worklist(Unique_Node_List* worklist) const {}
+
 void* ShenandoahBarrierSetC2::create_barrier_state(Arena* comp_arena) const {
   return new(comp_arena) ShenandoahBarrierSetC2State(comp_arena);
 }
 
 ShenandoahBarrierSetC2State* ShenandoahBarrierSetC2::state() const {

@@ -924,11 +926,11 @@
 // expanded later, then now is the time to do so.
 bool ShenandoahBarrierSetC2::expand_macro_nodes(PhaseMacroExpand* macro) const { return false; }
 
 #ifdef ASSERT
 void ShenandoahBarrierSetC2::verify_gc_barriers(Compile* compile, CompilePhase phase) const {
-  if (ShenandoahVerifyOptoBarriers && phase == BarrierSetC2::BeforeMacroExpand) {
+  if (ShenandoahVerifyOptoBarriers && phase == BarrierSetC2::BeforeExpand) {
     ShenandoahBarrierC2Support::verify(Compile::current()->root());
   } else if (phase == BarrierSetC2::BeforeCodeGen) {
     // Verify G1 pre-barriers
     const int marking_offset = in_bytes(ShenandoahThreadLocalData::satb_mark_queue_active_offset());
 

@@ -1192,10 +1194,14 @@
   return n->has_out_with(Op_ShenandoahCompareAndExchangeP) || n->has_out_with(Op_ShenandoahCompareAndExchangeN) ||
          n->has_out_with(Op_ShenandoahCompareAndSwapP, Op_ShenandoahCompareAndSwapN, Op_ShenandoahWeakCompareAndSwapP, Op_ShenandoahWeakCompareAndSwapN);
 
 }
 
+bool ShenandoahBarrierSetC2::escape_is_barrier_node(Node* n) const {
+  return n->Opcode() == Op_ShenandoahLoadReferenceBarrier;
+}
+
 bool ShenandoahBarrierSetC2::matcher_find_shared_post_visit(Matcher* matcher, Node* n, uint opcode) const {
   switch (opcode) {
     case Op_ShenandoahCompareAndExchangeP:
     case Op_ShenandoahCompareAndExchangeN:
     case Op_ShenandoahWeakCompareAndSwapP:
< prev index next >