src/hotspot/share/jvmci/jvmciEnv.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File open Sdiff src/hotspot/share/jvmci

src/hotspot/share/jvmci/jvmciEnv.hpp

Print this page




  70   JVMCIKlassHandle (const JVMCIKlassHandle &h): _klass(h._klass), _holder(h._holder), _thread(h._thread) {}
  71   JVMCIKlassHandle& operator=(const JVMCIKlassHandle &s);
  72   JVMCIKlassHandle& operator=(Klass* klass);
  73 
  74   /* Operators for ease of use */
  75   Klass*        operator () () const            { return klass(); }
  76   Klass*        operator -> () const            { return non_null_klass(); }
  77 
  78   bool    operator == (Klass* o) const          { return klass() == o; }
  79   bool    operator == (const JVMCIKlassHandle& h) const  { return klass() == h.klass(); }
  80 
  81   /* Null checks */
  82   bool    is_null() const                      { return _klass == NULL; }
  83   bool    not_null() const                     { return _klass != NULL; }
  84 };
  85 
  86 // A class that maintains the state needed for compilations requested
  87 // by the CompileBroker.  It is created in the broker and passed through
  88 // into the code installation step.
  89 class JVMCICompileState : public ResourceObj {
  90   friend class VMStructs;
  91  private:
  92   CompileTask*     _task;
  93   int              _system_dictionary_modification_counter;
  94 
  95   // 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
  97   // defined and may not be the same as a Java boolean).
  98   jbyte  _jvmti_can_hotswap_or_post_breakpoint;
  99   jbyte  _jvmti_can_access_local_variables;
 100   jbyte  _jvmti_can_post_on_exceptions;
 101   jbyte  _jvmti_can_pop_frame;
 102 
 103   // Compilation result values.
 104   bool             _retryable;
 105   const char*      _failure_reason;
 106 
 107   // Specifies if _failure_reason is on the C heap. If so, it is allocated
 108   // with the mtJVMCI NMT flag.
 109   bool             _failure_reason_on_C_heap;
 110 




  70   JVMCIKlassHandle (const JVMCIKlassHandle &h): _klass(h._klass), _holder(h._holder), _thread(h._thread) {}
  71   JVMCIKlassHandle& operator=(const JVMCIKlassHandle &s);
  72   JVMCIKlassHandle& operator=(Klass* klass);
  73 
  74   /* Operators for ease of use */
  75   Klass*        operator () () const            { return klass(); }
  76   Klass*        operator -> () const            { return non_null_klass(); }
  77 
  78   bool    operator == (Klass* o) const          { return klass() == o; }
  79   bool    operator == (const JVMCIKlassHandle& h) const  { return klass() == h.klass(); }
  80 
  81   /* Null checks */
  82   bool    is_null() const                      { return _klass == NULL; }
  83   bool    not_null() const                     { return _klass != NULL; }
  84 };
  85 
  86 // A class that maintains the state needed for compilations requested
  87 // by the CompileBroker.  It is created in the broker and passed through
  88 // into the code installation step.
  89 class JVMCICompileState : public ResourceObj {
  90   friend class JVMCIVMStructs;
  91  private:
  92   CompileTask*     _task;
  93   int              _system_dictionary_modification_counter;
  94 
  95   // 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
  97   // defined and may not be the same as a Java boolean).
  98   jbyte  _jvmti_can_hotswap_or_post_breakpoint;
  99   jbyte  _jvmti_can_access_local_variables;
 100   jbyte  _jvmti_can_post_on_exceptions;
 101   jbyte  _jvmti_can_pop_frame;
 102 
 103   // Compilation result values.
 104   bool             _retryable;
 105   const char*      _failure_reason;
 106 
 107   // Specifies if _failure_reason is on the C heap. If so, it is allocated
 108   // with the mtJVMCI NMT flag.
 109   bool             _failure_reason_on_C_heap;
 110 


src/hotspot/share/jvmci/jvmciEnv.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File