< prev index next >

src/hotspot/share/jvmci/vmStructs_jvmci.cpp

Print this page




  16  * 2 along with this work; if not, write to the Free Software Foundation,
  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 #include "precompiled.hpp"
  26 #include "code/codeBlob.hpp"
  27 #include "compiler/abstractCompiler.hpp"
  28 #include "compiler/compileBroker.hpp"
  29 #include "jvmci/jvmciCodeInstaller.hpp"
  30 #include "jvmci/jvmciCompilerToVM.hpp"
  31 #include "jvmci/jvmciEnv.hpp"
  32 #include "jvmci/jvmciRuntime.hpp"
  33 #include "jvmci/vmStructs_compiler_runtime.hpp"
  34 #include "jvmci/vmStructs_jvmci.hpp"
  35 #include "oops/oop.hpp"

  36 #include "oops/objArrayKlass.hpp"
  37 #include "runtime/globals.hpp"
  38 #include "runtime/sharedRuntime.hpp"
  39 #include "runtime/thread.hpp"
  40 #include "runtime/vm_version.hpp"
  41 
  42 #if INCLUDE_ALL_GCS
  43 #include "gc/g1/g1SATBCardTableModRefBS.hpp"
  44 #include "gc/g1/heapRegion.hpp"
  45 #endif
  46 
  47 #define VM_STRUCTS(nonstatic_field, static_field, unchecked_nonstatic_field, volatile_nonstatic_field) \
  48   static_field(CompilerToVM::Data,             Klass_vtable_start_offset,              int)                                          \
  49   static_field(CompilerToVM::Data,             Klass_vtable_length_offset,             int)                                          \
  50                                                                                                                                      \
  51   static_field(CompilerToVM::Data,             Method_extra_stack_entries,             int)                                          \
  52                                                                                                                                      \
  53   static_field(CompilerToVM::Data,             SharedRuntime_ic_miss_stub,             address)                                      \
  54   static_field(CompilerToVM::Data,             SharedRuntime_handle_wrong_method_stub, address)                                      \
  55   static_field(CompilerToVM::Data,             SharedRuntime_deopt_blob_unpack,        address)                                      \


 175   nonstatic_field(JavaThread,                  _jvmci_counters,                               jlong*)                                \
 176   nonstatic_field(JavaThread,                  _reserved_stack_activation,                    address)                               \
 177                                                                                                                                      \
 178   static_field(java_lang_Class,                _klass_offset,                                 int)                                   \
 179   static_field(java_lang_Class,                _array_klass_offset,                           int)                                   \
 180                                                                                                                                      \
 181   nonstatic_field(JVMCIEnv,                    _task,                                         CompileTask*)                          \
 182   nonstatic_field(JVMCIEnv,                    _jvmti_can_hotswap_or_post_breakpoint,         bool)                                  \
 183                                                                                                                                      \
 184   nonstatic_field(InvocationCounter,           _counter,                                      unsigned int)                          \
 185                                                                                                                                      \
 186   nonstatic_field(Klass,                       _secondary_super_cache,                        Klass*)                                \
 187   nonstatic_field(Klass,                       _secondary_supers,                             Array<Klass*>*)                        \
 188   nonstatic_field(Klass,                       _super,                                        Klass*)                                \
 189   nonstatic_field(Klass,                       _super_check_offset,                           juint)                                 \
 190   nonstatic_field(Klass,                       _subklass,                                     Klass*)                                \
 191   nonstatic_field(Klass,                       _layout_helper,                                jint)                                  \
 192   nonstatic_field(Klass,                       _name,                                         Symbol*)                               \
 193   nonstatic_field(Klass,                       _prototype_header,                             markOop)                               \
 194   nonstatic_field(Klass,                       _next_sibling,                                 Klass*)                                \
 195   nonstatic_field(Klass,                       _java_mirror,                                  oop)                                   \
 196   nonstatic_field(Klass,                       _modifier_flags,                               jint)                                  \
 197   nonstatic_field(Klass,                       _access_flags,                                 AccessFlags)                           \
 198                                                                                                                                      \
 199   nonstatic_field(LocalVariableTableElement,   start_bci,                                     u2)                                    \
 200   nonstatic_field(LocalVariableTableElement,   length,                                        u2)                                    \
 201   nonstatic_field(LocalVariableTableElement,   name_cp_index,                                 u2)                                    \
 202   nonstatic_field(LocalVariableTableElement,   descriptor_cp_index,                           u2)                                    \
 203   nonstatic_field(LocalVariableTableElement,   signature_cp_index,                            u2)                                    \
 204   nonstatic_field(LocalVariableTableElement,   slot,                                          u2)                                    \
 205                                                                                                                                      \
 206   nonstatic_field(Method,                      _constMethod,                                  ConstMethod*)                          \
 207   nonstatic_field(Method,                      _method_data,                                  MethodData*)                           \
 208   nonstatic_field(Method,                      _method_counters,                              MethodCounters*)                       \
 209   nonstatic_field(Method,                      _access_flags,                                 AccessFlags)                           \
 210   nonstatic_field(Method,                      _vtable_index,                                 int)                                   \
 211   nonstatic_field(Method,                      _intrinsic_id,                                 u2)                                    \
 212   nonstatic_field(Method,                      _flags,                                        u2)                                    \
 213   volatile_nonstatic_field(Method,             _code,                                         CompiledMethod*)                       \
 214   volatile_nonstatic_field(Method,             _from_compiled_entry,                          address)                               \
 215                                                                                                                                      \




  16  * 2 along with this work; if not, write to the Free Software Foundation,
  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 #include "precompiled.hpp"
  26 #include "code/codeBlob.hpp"
  27 #include "compiler/abstractCompiler.hpp"
  28 #include "compiler/compileBroker.hpp"
  29 #include "jvmci/jvmciCodeInstaller.hpp"
  30 #include "jvmci/jvmciCompilerToVM.hpp"
  31 #include "jvmci/jvmciEnv.hpp"
  32 #include "jvmci/jvmciRuntime.hpp"
  33 #include "jvmci/vmStructs_compiler_runtime.hpp"
  34 #include "jvmci/vmStructs_jvmci.hpp"
  35 #include "oops/oop.hpp"
  36 #include "oops/oopHandle.hpp"
  37 #include "oops/objArrayKlass.hpp"
  38 #include "runtime/globals.hpp"
  39 #include "runtime/sharedRuntime.hpp"
  40 #include "runtime/thread.hpp"
  41 #include "runtime/vm_version.hpp"
  42 
  43 #if INCLUDE_ALL_GCS
  44 #include "gc/g1/g1SATBCardTableModRefBS.hpp"
  45 #include "gc/g1/heapRegion.hpp"
  46 #endif
  47 
  48 #define VM_STRUCTS(nonstatic_field, static_field, unchecked_nonstatic_field, volatile_nonstatic_field) \
  49   static_field(CompilerToVM::Data,             Klass_vtable_start_offset,              int)                                          \
  50   static_field(CompilerToVM::Data,             Klass_vtable_length_offset,             int)                                          \
  51                                                                                                                                      \
  52   static_field(CompilerToVM::Data,             Method_extra_stack_entries,             int)                                          \
  53                                                                                                                                      \
  54   static_field(CompilerToVM::Data,             SharedRuntime_ic_miss_stub,             address)                                      \
  55   static_field(CompilerToVM::Data,             SharedRuntime_handle_wrong_method_stub, address)                                      \
  56   static_field(CompilerToVM::Data,             SharedRuntime_deopt_blob_unpack,        address)                                      \


 176   nonstatic_field(JavaThread,                  _jvmci_counters,                               jlong*)                                \
 177   nonstatic_field(JavaThread,                  _reserved_stack_activation,                    address)                               \
 178                                                                                                                                      \
 179   static_field(java_lang_Class,                _klass_offset,                                 int)                                   \
 180   static_field(java_lang_Class,                _array_klass_offset,                           int)                                   \
 181                                                                                                                                      \
 182   nonstatic_field(JVMCIEnv,                    _task,                                         CompileTask*)                          \
 183   nonstatic_field(JVMCIEnv,                    _jvmti_can_hotswap_or_post_breakpoint,         bool)                                  \
 184                                                                                                                                      \
 185   nonstatic_field(InvocationCounter,           _counter,                                      unsigned int)                          \
 186                                                                                                                                      \
 187   nonstatic_field(Klass,                       _secondary_super_cache,                        Klass*)                                \
 188   nonstatic_field(Klass,                       _secondary_supers,                             Array<Klass*>*)                        \
 189   nonstatic_field(Klass,                       _super,                                        Klass*)                                \
 190   nonstatic_field(Klass,                       _super_check_offset,                           juint)                                 \
 191   nonstatic_field(Klass,                       _subklass,                                     Klass*)                                \
 192   nonstatic_field(Klass,                       _layout_helper,                                jint)                                  \
 193   nonstatic_field(Klass,                       _name,                                         Symbol*)                               \
 194   nonstatic_field(Klass,                       _prototype_header,                             markOop)                               \
 195   nonstatic_field(Klass,                       _next_sibling,                                 Klass*)                                \
 196   nonstatic_field(Klass,                       _java_mirror,                                  OopHandle)                             \
 197   nonstatic_field(Klass,                       _modifier_flags,                               jint)                                  \
 198   nonstatic_field(Klass,                       _access_flags,                                 AccessFlags)                           \
 199                                                                                                                                      \
 200   nonstatic_field(LocalVariableTableElement,   start_bci,                                     u2)                                    \
 201   nonstatic_field(LocalVariableTableElement,   length,                                        u2)                                    \
 202   nonstatic_field(LocalVariableTableElement,   name_cp_index,                                 u2)                                    \
 203   nonstatic_field(LocalVariableTableElement,   descriptor_cp_index,                           u2)                                    \
 204   nonstatic_field(LocalVariableTableElement,   signature_cp_index,                            u2)                                    \
 205   nonstatic_field(LocalVariableTableElement,   slot,                                          u2)                                    \
 206                                                                                                                                      \
 207   nonstatic_field(Method,                      _constMethod,                                  ConstMethod*)                          \
 208   nonstatic_field(Method,                      _method_data,                                  MethodData*)                           \
 209   nonstatic_field(Method,                      _method_counters,                              MethodCounters*)                       \
 210   nonstatic_field(Method,                      _access_flags,                                 AccessFlags)                           \
 211   nonstatic_field(Method,                      _vtable_index,                                 int)                                   \
 212   nonstatic_field(Method,                      _intrinsic_id,                                 u2)                                    \
 213   nonstatic_field(Method,                      _flags,                                        u2)                                    \
 214   volatile_nonstatic_field(Method,             _code,                                         CompiledMethod*)                       \
 215   volatile_nonstatic_field(Method,             _from_compiled_entry,                          address)                               \
 216                                                                                                                                      \


< prev index next >