src/hotspot/share/jvmci/jvmciEnv.hpp
changeset 55635 0fb70c9118ce
parent 54812 f2d5f44d994e
child 58358 d658f4379c63
equal deleted inserted replaced
55634:0f1e29c77e50 55635:0fb70c9118ce
    88 // into the code installation step.
    88 // into the code installation step.
    89 class JVMCICompileState : public ResourceObj {
    89 class JVMCICompileState : public ResourceObj {
    90   friend class JVMCIVMStructs;
    90   friend class JVMCIVMStructs;
    91  private:
    91  private:
    92   CompileTask*     _task;
    92   CompileTask*     _task;
    93   int              _system_dictionary_modification_counter;
       
    94 
    93 
    95   // Cache JVMTI state. Defined as bytes so that reading them from Java
    94   // Cache JVMTI state. Defined as bytes so that reading them from Java
    96   // via Unsafe is well defined (the C++ type for bool is implementation
    95   // via Unsafe is well defined (the C++ type for bool is implementation
    97   // defined and may not be the same as a Java boolean).
    96   // defined and may not be the same as a Java boolean).
    98   jbyte  _jvmti_can_hotswap_or_post_breakpoint;
    97   jbyte  _jvmti_can_hotswap_or_post_breakpoint;
   107   // Specifies if _failure_reason is on the C heap. If so, it is allocated
   106   // Specifies if _failure_reason is on the C heap. If so, it is allocated
   108   // with the mtJVMCI NMT flag.
   107   // with the mtJVMCI NMT flag.
   109   bool             _failure_reason_on_C_heap;
   108   bool             _failure_reason_on_C_heap;
   110 
   109 
   111  public:
   110  public:
   112   JVMCICompileState(CompileTask* task, int system_dictionary_modification_counter);
   111   JVMCICompileState(CompileTask* task);
   113 
   112 
   114   CompileTask* task() { return _task; }
   113   CompileTask* task() { return _task; }
   115 
   114 
   116   int system_dictionary_modification_counter() { return _system_dictionary_modification_counter; }
       
   117   bool  jvmti_state_changed() const;
   115   bool  jvmti_state_changed() const;
   118   bool  jvmti_can_hotswap_or_post_breakpoint() const { return  _jvmti_can_hotswap_or_post_breakpoint != 0; }
   116   bool  jvmti_can_hotswap_or_post_breakpoint() const { return  _jvmti_can_hotswap_or_post_breakpoint != 0; }
   119   bool  jvmti_can_access_local_variables() const     { return  _jvmti_can_access_local_variables != 0; }
   117   bool  jvmti_can_access_local_variables() const     { return  _jvmti_can_access_local_variables != 0; }
   120   bool  jvmti_can_post_on_exceptions() const         { return  _jvmti_can_post_on_exceptions != 0; }
   118   bool  jvmti_can_post_on_exceptions() const         { return  _jvmti_can_post_on_exceptions != 0; }
   121   bool  jvmti_can_pop_frame() const                  { return  _jvmti_can_pop_frame != 0; }
   119   bool  jvmti_can_pop_frame() const                  { return  _jvmti_can_pop_frame != 0; }