< prev index next >

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

Print this page

        

*** 100,123 **** if (node->is_LoadBarrier()) { state()->remove_load_barrier_node(node->as_LoadBarrier()); } } ! void ZBarrierSetC2::eliminate_useless_gc_barriers(Unique_Node_List &useful) const { // Remove useless LoadBarrier nodes ZBarrierSetC2State* s = state(); for (int i = s->load_barrier_count()-1; i >= 0; i--) { LoadBarrierNode* n = s->load_barrier_node(i); if (!useful.member(n)) { unregister_potential_barrier_node(n); } } } ! void ZBarrierSetC2::enqueue_useful_gc_barrier(Unique_Node_List &worklist, Node* node) const { if (node->is_LoadBarrier() && !node->as_LoadBarrier()->has_true_uses()) { ! worklist.push(node); } } void ZBarrierSetC2::find_dominating_barriers(PhaseIterGVN& igvn) { // Look for dominating barriers on the same address only once all --- 100,123 ---- if (node->is_LoadBarrier()) { state()->remove_load_barrier_node(node->as_LoadBarrier()); } } ! void ZBarrierSetC2::eliminate_useless_gc_barriers(Unique_Node_List &useful, Compile* C) const { // Remove useless LoadBarrier nodes ZBarrierSetC2State* s = state(); for (int i = s->load_barrier_count()-1; i >= 0; i--) { LoadBarrierNode* n = s->load_barrier_node(i); if (!useful.member(n)) { unregister_potential_barrier_node(n); } } } ! void ZBarrierSetC2::enqueue_useful_gc_barrier(PhaseIterGVN* igvn, Node* node) const { if (node->is_LoadBarrier() && !node->as_LoadBarrier()->has_true_uses()) { ! igvn->_worklist.push(node); } } void ZBarrierSetC2::find_dominating_barriers(PhaseIterGVN& igvn) { // Look for dominating barriers on the same address only once all
< prev index next >