3796 Node* opq = _gvn.transform(new Opaque1Node(C, cont)); 3797 Node *bol = _gvn.transform(new Conv2BNode(opq)); 3798 IfNode* iff = create_and_map_if(control(), bol, PROB_MAX, COUNT_UNKNOWN); 3799 Node* iffalse = _gvn.transform(new IfFalseNode(iff)); 3800 C->add_predicate_opaq(opq); 3801 { 3802 PreserveJVMState pjvms(this); 3803 set_control(iffalse); 3804 inc_sp(nargs); 3805 uncommon_trap(reason, Deoptimization::Action_maybe_recompile); 3806 } 3807 Node* iftrue = _gvn.transform(new IfTrueNode(iff)); 3808 set_control(iftrue); 3809 } 3810 3811 //------------------------------add_predicate--------------------------------- 3812 void GraphKit::add_predicate(int nargs) { 3813 if (UseLoopPredicate) { 3814 add_predicate_impl(Deoptimization::Reason_predicate, nargs); 3815 } 3816 // loop's limit check predicate should be near the loop. 3817 add_predicate_impl(Deoptimization::Reason_loop_limit_check, nargs); 3818 } 3819 3820 //----------------------------- store barriers ---------------------------- 3821 #define __ ideal. 3822 3823 bool GraphKit::use_ReduceInitialCardMarks() { 3824 BarrierSet *bs = BarrierSet::barrier_set(); 3825 return bs->is_a(BarrierSet::CardTableBarrierSet) 3826 && barrier_set_cast<CardTableBarrierSet>(bs)->can_elide_tlab_store_barriers() 3827 && ReduceInitialCardMarks; 3828 } 3829 3830 void GraphKit::sync_kit(IdealKit& ideal) { 3831 set_all_memory(__ merged_memory()); 3832 set_i_o(__ i_o()); 3833 set_control(__ ctrl()); 3834 } 3835 | 3796 Node* opq = _gvn.transform(new Opaque1Node(C, cont)); 3797 Node *bol = _gvn.transform(new Conv2BNode(opq)); 3798 IfNode* iff = create_and_map_if(control(), bol, PROB_MAX, COUNT_UNKNOWN); 3799 Node* iffalse = _gvn.transform(new IfFalseNode(iff)); 3800 C->add_predicate_opaq(opq); 3801 { 3802 PreserveJVMState pjvms(this); 3803 set_control(iffalse); 3804 inc_sp(nargs); 3805 uncommon_trap(reason, Deoptimization::Action_maybe_recompile); 3806 } 3807 Node* iftrue = _gvn.transform(new IfTrueNode(iff)); 3808 set_control(iftrue); 3809 } 3810 3811 //------------------------------add_predicate--------------------------------- 3812 void GraphKit::add_predicate(int nargs) { 3813 if (UseLoopPredicate) { 3814 add_predicate_impl(Deoptimization::Reason_predicate, nargs); 3815 } 3816 if (UseProfiledLoopPredicate) { 3817 add_predicate_impl(Deoptimization::Reason_profile_predicate, nargs); 3818 } 3819 // loop's limit check predicate should be near the loop. 3820 add_predicate_impl(Deoptimization::Reason_loop_limit_check, nargs); 3821 } 3822 3823 //----------------------------- store barriers ---------------------------- 3824 #define __ ideal. 3825 3826 bool GraphKit::use_ReduceInitialCardMarks() { 3827 BarrierSet *bs = BarrierSet::barrier_set(); 3828 return bs->is_a(BarrierSet::CardTableBarrierSet) 3829 && barrier_set_cast<CardTableBarrierSet>(bs)->can_elide_tlab_store_barriers() 3830 && ReduceInitialCardMarks; 3831 } 3832 3833 void GraphKit::sync_kit(IdealKit& ideal) { 3834 set_all_memory(__ merged_memory()); 3835 set_i_o(__ i_o()); 3836 set_control(__ ctrl()); 3837 } 3838 |