746 #ifdef ASSERT 747 int _block; // PO of current block, if a Parse 748 int _bci; 749 #endif 750 SafePointNode* _map; 751 uint _sp; 752 753 public: 754 PreserveJVMState(GraphKit* kit, bool clone_map = true); 755 ~PreserveJVMState(); 756 }; 757 758 // Helper class to build cutouts of the form if (p) ; else {x...}. 759 // The code {x...} must not fall through. 760 // The kit's main flow of control is set to the "then" continuation of if(p). 761 class BuildCutout: public PreserveJVMState { 762 public: 763 BuildCutout(GraphKit* kit, Node* p, float prob, float cnt = COUNT_UNKNOWN); 764 ~BuildCutout(); 765 }; | 746 #ifdef ASSERT 747 int _block; // PO of current block, if a Parse 748 int _bci; 749 #endif 750 SafePointNode* _map; 751 uint _sp; 752 753 public: 754 PreserveJVMState(GraphKit* kit, bool clone_map = true); 755 ~PreserveJVMState(); 756 }; 757 758 // Helper class to build cutouts of the form if (p) ; else {x...}. 759 // The code {x...} must not fall through. 760 // The kit's main flow of control is set to the "then" continuation of if(p). 761 class BuildCutout: public PreserveJVMState { 762 public: 763 BuildCutout(GraphKit* kit, Node* p, float prob, float cnt = COUNT_UNKNOWN); 764 ~BuildCutout(); 765 }; 766 767 // Helper class to preserve the original _reexecute bit and _sp and restore 768 // them back 769 class PreserveReexecuteState: public StackObj { 770 protected: 771 GraphKit* _kit; 772 uint _sp; 773 JVMState::ReexecuteState _reexecute; 774 775 public: 776 PreserveReexecuteState(GraphKit* kit); 777 ~PreserveReexecuteState(); 778 }; |