hotspot/src/share/vm/opto/graphKit.hpp
changeset 28912 27fac2f8fdbe
parent 27921 4b932655e504
child 29083 5e7bce2712ac
equal deleted inserted replaced
28730:106944a21769 28912:27fac2f8fdbe
   712                      bool must_throw = false, bool keep_exact_action = false) {
   712                      bool must_throw = false, bool keep_exact_action = false) {
   713     uncommon_trap(Deoptimization::make_trap_request(reason, action),
   713     uncommon_trap(Deoptimization::make_trap_request(reason, action),
   714                   klass, reason_string, must_throw, keep_exact_action);
   714                   klass, reason_string, must_throw, keep_exact_action);
   715   }
   715   }
   716 
   716 
       
   717   // Bail out to the interpreter and keep exact action (avoid switching to Action_none).
       
   718   void uncommon_trap_exact(Deoptimization::DeoptReason reason,
       
   719                            Deoptimization::DeoptAction action,
       
   720                            ciKlass* klass = NULL, const char* reason_string = NULL,
       
   721                            bool must_throw = false) {
       
   722     uncommon_trap(Deoptimization::make_trap_request(reason, action),
       
   723                   klass, reason_string, must_throw, /*keep_exact_action=*/true);
       
   724   }
       
   725 
   717   // SP when bytecode needs to be reexecuted.
   726   // SP when bytecode needs to be reexecuted.
   718   virtual int reexecute_sp() { return sp(); }
   727   virtual int reexecute_sp() { return sp(); }
   719 
   728 
   720   // Report if there were too many traps at the current method and bci.
   729   // Report if there were too many traps at the current method and bci.
   721   // Report if a trap was recorded, and/or PerMethodTrapLimit was exceeded.
   730   // Report if a trap was recorded, and/or PerMethodTrapLimit was exceeded.