645 // Report if there were too many traps at the current method and bci.
646 // Report if a trap was recorded, and/or PerMethodTrapLimit was exceeded.
647 // If there is no MDO at all, report no trap unless told to assume it.
648 bool too_many_traps(Deoptimization::DeoptReason reason) {
649 return C->too_many_traps(method(), bci(), reason);
650 }
651
652 // Report if there were too many recompiles at the current method and bci.
653 bool too_many_recompiles(Deoptimization::DeoptReason reason) {
654 return C->too_many_recompiles(method(), bci(), reason);
655 }
656
657 // Returns the object (if any) which was created the moment before.
658 Node* just_allocated_object(Node* current_control);
659
660 static bool use_ReduceInitialCardMarks() {
661 return (ReduceInitialCardMarks
662 && Universe::heap()->can_elide_tlab_store_barriers());
663 }
664
665 void sync_kit(IdealKit& ideal);
666
667 // vanilla/CMS post barrier
668 void write_barrier_post(Node *store, Node* obj,
669 Node* adr, uint adr_idx, Node* val, bool use_precise);
670
671 // G1 pre/post barriers
672 void g1_write_barrier_pre(Node* obj,
673 Node* adr,
674 uint alias_idx,
675 Node* val,
676 const TypeOopPtr* val_type,
677 BasicType bt);
678
679 void g1_write_barrier_post(Node* store,
680 Node* obj,
681 Node* adr,
682 uint alias_idx,
683 Node* val,
684 BasicType bt,
685 bool use_precise);
|
645 // Report if there were too many traps at the current method and bci.
646 // Report if a trap was recorded, and/or PerMethodTrapLimit was exceeded.
647 // If there is no MDO at all, report no trap unless told to assume it.
648 bool too_many_traps(Deoptimization::DeoptReason reason) {
649 return C->too_many_traps(method(), bci(), reason);
650 }
651
652 // Report if there were too many recompiles at the current method and bci.
653 bool too_many_recompiles(Deoptimization::DeoptReason reason) {
654 return C->too_many_recompiles(method(), bci(), reason);
655 }
656
657 // Returns the object (if any) which was created the moment before.
658 Node* just_allocated_object(Node* current_control);
659
660 static bool use_ReduceInitialCardMarks() {
661 return (ReduceInitialCardMarks
662 && Universe::heap()->can_elide_tlab_store_barriers());
663 }
664
665 void sync_kit(IdealKit& ideal, bool final = true);
666
667 // vanilla/CMS post barrier
668 void write_barrier_post(Node *store, Node* obj,
669 Node* adr, uint adr_idx, Node* val, bool use_precise);
670
671 // G1 pre/post barriers
672 void g1_write_barrier_pre(Node* obj,
673 Node* adr,
674 uint alias_idx,
675 Node* val,
676 const TypeOopPtr* val_type,
677 BasicType bt);
678
679 void g1_write_barrier_post(Node* store,
680 Node* obj,
681 Node* adr,
682 uint alias_idx,
683 Node* val,
684 BasicType bt,
685 bool use_precise);
|