src/share/vm/runtime/deoptimization.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 7088955 Sdiff src/share/vm/runtime

src/share/vm/runtime/deoptimization.hpp

Print this page




  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #ifndef SHARE_VM_RUNTIME_DEOPTIMIZATION_HPP
  26 #define SHARE_VM_RUNTIME_DEOPTIMIZATION_HPP
  27 
  28 #include "memory/allocation.hpp"
  29 #include "runtime/frame.inline.hpp"
  30 
  31 class ProfileData;
  32 class vframeArray;
  33 class MonitorValue;
  34 class ObjectValue;
  35 
  36 class Deoptimization : AllStatic {


  37  public:
  38   // What condition caused the deoptimization?
  39   enum DeoptReason {
  40     Reason_many = -1,             // indicates presence of several reasons
  41     Reason_none = 0,              // indicates absence of a relevant deopt.
  42     // Next 7 reasons are recorded per bytecode in DataLayout::trap_bits
  43     Reason_null_check,            // saw unexpected null or zero divisor (@bci)
  44     Reason_null_assert,           // saw unexpected non-null or non-zero (@bci)
  45     Reason_range_check,           // saw unexpected array index (@bci)
  46     Reason_class_check,           // saw unexpected object class (@bci)
  47     Reason_array_check,           // saw unexpected array class (aastore @bci)
  48     Reason_intrinsic,             // saw unexpected operand to intrinsic (@bci)
  49     Reason_bimorphic,             // saw unexpected object class in bimorphic inlining (@bci)
  50 
  51     Reason_unloaded,              // unloaded class or constant pool entry
  52     Reason_uninitialized,         // bad class state (uninitialized)
  53     Reason_unreached,             // code is not reached, compiler
  54     Reason_unhandled,             // arbitrary compiler limitation
  55     Reason_constraint,            // arbitrary runtime constraint violated
  56     Reason_div0_check,            // a null_check due to division by zero




  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #ifndef SHARE_VM_RUNTIME_DEOPTIMIZATION_HPP
  26 #define SHARE_VM_RUNTIME_DEOPTIMIZATION_HPP
  27 
  28 #include "memory/allocation.hpp"
  29 #include "runtime/frame.inline.hpp"
  30 
  31 class ProfileData;
  32 class vframeArray;
  33 class MonitorValue;
  34 class ObjectValue;
  35 
  36 class Deoptimization : AllStatic {
  37   friend class VMStructs;
  38 
  39  public:
  40   // What condition caused the deoptimization?
  41   enum DeoptReason {
  42     Reason_many = -1,             // indicates presence of several reasons
  43     Reason_none = 0,              // indicates absence of a relevant deopt.
  44     // Next 7 reasons are recorded per bytecode in DataLayout::trap_bits
  45     Reason_null_check,            // saw unexpected null or zero divisor (@bci)
  46     Reason_null_assert,           // saw unexpected non-null or non-zero (@bci)
  47     Reason_range_check,           // saw unexpected array index (@bci)
  48     Reason_class_check,           // saw unexpected object class (@bci)
  49     Reason_array_check,           // saw unexpected array class (aastore @bci)
  50     Reason_intrinsic,             // saw unexpected operand to intrinsic (@bci)
  51     Reason_bimorphic,             // saw unexpected object class in bimorphic inlining (@bci)
  52 
  53     Reason_unloaded,              // unloaded class or constant pool entry
  54     Reason_uninitialized,         // bad class state (uninitialized)
  55     Reason_unreached,             // code is not reached, compiler
  56     Reason_unhandled,             // arbitrary compiler limitation
  57     Reason_constraint,            // arbitrary runtime constraint violated
  58     Reason_div0_check,            // a null_check due to division by zero


src/share/vm/runtime/deoptimization.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File