< prev index next >

src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp

Print this page

        

*** 994,1006 **** assert(step_over_gc_barrier(result_phi) == in_val, "sanity"); return; } ! bool ZBarrierSetC2::expand_macro_nodes(PhaseMacroExpand* macro) const { ! Compile* C = Compile::current(); ! PhaseIterGVN &igvn = macro->igvn(); ZBarrierSetC2State* s = state(); if (s->load_barrier_count() > 0) { #ifdef ASSERT verify_gc_barriers(false); #endif --- 994,1005 ---- assert(step_over_gc_barrier(result_phi) == in_val, "sanity"); return; } ! bool ZBarrierSetC2::expand_barriers(Compile* C, PhaseIterGVN& igvn) const { ! PhaseMacroExpand macro(igvn); ZBarrierSetC2State* s = state(); if (s->load_barrier_count() > 0) { #ifdef ASSERT verify_gc_barriers(false); #endif
*** 1016,1035 **** } if (!n->can_be_eliminated()) { skipped++; continue; } ! expand_loadbarrier_node(macro, n); assert(s->load_barrier_count() < load_barrier_count, "must have deleted a node from load barrier list"); if (C->failing()) return true; } while (s->load_barrier_count() > 0) { int load_barrier_count = s->load_barrier_count(); LoadBarrierNode* n = s->load_barrier_node(load_barrier_count - 1); assert(!(igvn.type(n) == Type::TOP || (n->in(0) != NULL && n->in(0)->is_top())), "should have been processed already"); assert(!n->can_be_eliminated(), "should have been processed already"); ! expand_loadbarrier_node(macro, n); assert(s->load_barrier_count() < load_barrier_count, "must have deleted a node from load barrier list"); if (C->failing()) return true; } igvn.set_delay_transform(false); igvn.optimize(); --- 1015,1034 ---- } if (!n->can_be_eliminated()) { skipped++; continue; } ! expand_loadbarrier_node(&macro, n); assert(s->load_barrier_count() < load_barrier_count, "must have deleted a node from load barrier list"); if (C->failing()) return true; } while (s->load_barrier_count() > 0) { int load_barrier_count = s->load_barrier_count(); LoadBarrierNode* n = s->load_barrier_node(load_barrier_count - 1); assert(!(igvn.type(n) == Type::TOP || (n->in(0) != NULL && n->in(0)->is_top())), "should have been processed already"); assert(!n->can_be_eliminated(), "should have been processed already"); ! expand_loadbarrier_node(&macro, n); assert(s->load_barrier_count() < load_barrier_count, "must have deleted a node from load barrier list"); if (C->failing()) return true; } igvn.set_delay_transform(false); igvn.optimize();
< prev index next >