< prev index next >

src/hotspot/share/runtime/vmStructs.cpp

Print this page
rev 54717 : imported patch 8223306


  77 #include "oops/objArrayKlass.hpp"
  78 #include "oops/objArrayOop.hpp"
  79 #include "oops/oop.inline.hpp"
  80 #include "oops/oopHandle.hpp"
  81 #include "oops/symbol.hpp"
  82 #include "oops/typeArrayKlass.hpp"
  83 #include "oops/typeArrayOop.hpp"
  84 #include "prims/jvmtiAgentThread.hpp"
  85 #include "runtime/arguments.hpp"
  86 #include "runtime/deoptimization.hpp"
  87 #include "runtime/flags/jvmFlag.hpp"
  88 #include "runtime/globals.hpp"
  89 #include "runtime/java.hpp"
  90 #include "runtime/javaCalls.hpp"
  91 #include "runtime/os.hpp"
  92 #include "runtime/perfMemory.hpp"
  93 #include "runtime/serviceThread.hpp"
  94 #include "runtime/sharedRuntime.hpp"
  95 #include "runtime/stubRoutines.hpp"
  96 #include "runtime/thread.inline.hpp"

  97 #include "runtime/vframeArray.hpp"
  98 #include "runtime/vmStructs.hpp"
  99 #include "utilities/globalDefinitions.hpp"
 100 #include "utilities/hashtable.hpp"
 101 #include "utilities/macros.hpp"
 102 
 103 #include CPU_HEADER(vmStructs)
 104 #include OS_HEADER(vmStructs)
 105 #include OS_CPU_HEADER(vmStructs)
 106 
 107 #if INCLUDE_JVMCI
 108 # include "jvmci/vmStructs_jvmci.hpp"
 109 #endif
 110 
 111 
 112 #ifdef COMPILER2
 113 #include "opto/addnode.hpp"
 114 #include "opto/block.hpp"
 115 #include "opto/callnode.hpp"
 116 #include "opto/castnode.hpp"


 712   nonstatic_field(Deoptimization::UnrollBlock, _register_block,                               intptr_t*)                             \
 713   nonstatic_field(Deoptimization::UnrollBlock, _return_type,                                  BasicType)                             \
 714   nonstatic_field(Deoptimization::UnrollBlock, _initial_info,                                 intptr_t)                              \
 715   nonstatic_field(Deoptimization::UnrollBlock, _caller_actual_parameters,                     int)                                   \
 716                                                                                                                                      \
 717   /********************************/                                                                                                 \
 718   /* JavaCalls (NOTE: incomplete) */                                                                                                 \
 719   /********************************/                                                                                                 \
 720                                                                                                                                      \
 721   nonstatic_field(JavaCallWrapper,             _anchor,                                       JavaFrameAnchor)                       \
 722   /********************************/                                                                                                 \
 723   /* JavaFrameAnchor (NOTE: incomplete) */                                                                                           \
 724   /********************************/                                                                                                 \
 725   volatile_nonstatic_field(JavaFrameAnchor,    _last_Java_sp,                                 intptr_t*)                             \
 726   volatile_nonstatic_field(JavaFrameAnchor,    _last_Java_pc,                                 address)                               \
 727                                                                                                                                      \
 728   /******************************/                                                                                                   \
 729   /* Threads (NOTE: incomplete) */                                                                                                   \
 730   /******************************/                                                                                                   \
 731                                                                                                                                      \
 732      static_field(Threads,                     _thread_list,                                  JavaThread*)                           \
 733      static_field(Threads,                     _number_of_threads,                            int)                                   \
 734      static_field(Threads,                     _number_of_non_daemon_threads,                 int)                                   \
 735      static_field(Threads,                     _return_code,                                  int)                                   \
 736                                                                                                                                      \




 737   nonstatic_field(ThreadShadow,                _pending_exception,                            oop)                                   \
 738   nonstatic_field(ThreadShadow,                _exception_file,                               const char*)                           \
 739   nonstatic_field(ThreadShadow,                _exception_line,                               int)                                   \
 740   volatile_nonstatic_field(Thread,             _suspend_flags,                                uint32_t)                              \
 741   nonstatic_field(Thread,                      _active_handles,                               JNIHandleBlock*)                       \
 742   nonstatic_field(Thread,                      _tlab,                                         ThreadLocalAllocBuffer)                \
 743   nonstatic_field(Thread,                      _allocated_bytes,                              jlong)                                 \
 744   nonstatic_field(Thread,                      _current_pending_monitor,                      ObjectMonitor*)                        \
 745   nonstatic_field(Thread,                      _current_pending_monitor_is_from_java,         bool)                                  \
 746   nonstatic_field(Thread,                      _current_waiting_monitor,                      ObjectMonitor*)                        \
 747   nonstatic_field(NamedThread,                 _name,                                         char*)                                 \
 748   nonstatic_field(NamedThread,                 _processed_thread,                             JavaThread*)                           \
 749   nonstatic_field(JavaThread,                  _next,                                         JavaThread*)                           \
 750   nonstatic_field(JavaThread,                  _threadObj,                                    oop)                                   \
 751   nonstatic_field(JavaThread,                  _anchor,                                       JavaFrameAnchor)                       \
 752   nonstatic_field(JavaThread,                  _vm_result,                                    oop)                                   \
 753   nonstatic_field(JavaThread,                  _vm_result_2,                                  Metadata*)                             \
 754   nonstatic_field(JavaThread,                  _pending_async_exception,                      oop)                                   \
 755   volatile_nonstatic_field(JavaThread,         _exception_oop,                                oop)                                   \
 756   volatile_nonstatic_field(JavaThread,         _exception_pc,                                 address)                               \
 757   volatile_nonstatic_field(JavaThread,         _is_method_handle_return,                      int)                                   \
 758   nonstatic_field(JavaThread,                  _special_runtime_exit_condition,               JavaThread::AsyncRequests)             \
 759   nonstatic_field(JavaThread,                  _saved_exception_pc,                           address)                               \
 760   volatile_nonstatic_field(JavaThread,         _thread_state,                                 JavaThreadState)                       \
 761   nonstatic_field(JavaThread,                  _osthread,                                     OSThread*)                             \
 762   nonstatic_field(JavaThread,                  _stack_base,                                   address)                               \
 763   nonstatic_field(JavaThread,                  _stack_size,                                   size_t)                                \
 764   nonstatic_field(JavaThread,                  _vframe_array_head,                            vframeArray*)                          \
 765   nonstatic_field(JavaThread,                  _vframe_array_last,                            vframeArray*)                          \
 766   volatile_nonstatic_field(JavaThread,         _terminated,                                   JavaThread::TerminatedTypes)           \
 767   nonstatic_field(Thread,                      _resource_area,                                ResourceArea*)                         \
 768   nonstatic_field(CompilerThread,              _env,                                          ciEnv*)                                \
 769                                                                                                                                      \


1343     declare_type(ResourceArea, Arena)                                     \
1344                                                                           \
1345   /***********************************************************/           \
1346   /* Thread hierarchy (needed for run-time type information) */           \
1347   /***********************************************************/           \
1348                                                                           \
1349   declare_toplevel_type(Threads)                                          \
1350   declare_toplevel_type(ThreadShadow)                                     \
1351     declare_type(Thread, ThreadShadow)                                    \
1352       declare_type(NonJavaThread, Thread)                                 \
1353         declare_type(NamedThread, NonJavaThread)                          \
1354         declare_type(WatcherThread, NonJavaThread)                        \
1355       declare_type(JavaThread, Thread)                                    \
1356         declare_type(JvmtiAgentThread, JavaThread)                        \
1357         declare_type(ServiceThread, JavaThread)                           \
1358         declare_type(CompilerThread, JavaThread)                          \
1359         declare_type(CodeCacheSweeperThread, JavaThread)                  \
1360   declare_toplevel_type(OSThread)                                         \
1361   declare_toplevel_type(JavaFrameAnchor)                                  \
1362                                                                           \



1363   /***************/                                                       \
1364   /* Interpreter */                                                       \
1365   /***************/                                                       \
1366                                                                           \
1367   declare_toplevel_type(AbstractInterpreter)                              \
1368                                                                           \
1369   /*********/                                                             \
1370   /* Stubs */                                                             \
1371   /*********/                                                             \
1372                                                                           \
1373   declare_toplevel_type(StubQueue)                                        \
1374   declare_toplevel_type(StubRoutines)                                     \
1375   declare_toplevel_type(Stub)                                             \
1376            declare_type(InterpreterCodelet, Stub)                         \
1377                                                                           \
1378   /*************/                                                         \
1379   /* JavaCalls */                                                         \
1380   /*************/                                                         \
1381                                                                           \
1382   declare_toplevel_type(JavaCallWrapper)                                  \


1929             declare_type(Array<Klass*>, MetaspaceObj)                     \
1930             declare_type(Array<Method*>, MetaspaceObj)                    \
1931                                                                           \
1932    declare_toplevel_type(BitMap)                                          \
1933             declare_type(BitMapView, BitMap)                              \
1934                                                                           \
1935    declare_integer_type(AccessFlags)  /* FIXME: wrong type (not integer) */\
1936   declare_toplevel_type(address)      /* FIXME: should this be an integer type? */\
1937    declare_integer_type(BasicType)   /* FIXME: wrong type (not integer) */\
1938   declare_toplevel_type(BreakpointInfo)                                   \
1939   declare_toplevel_type(BreakpointInfo*)                                  \
1940   declare_toplevel_type(CodeBlob*)                                        \
1941   declare_toplevel_type(RuntimeBlob*)                                     \
1942   declare_toplevel_type(CompressedWriteStream*)                           \
1943   declare_toplevel_type(ConstantPoolCacheEntry)                           \
1944   declare_toplevel_type(elapsedTimer)                                     \
1945   declare_toplevel_type(frame)                                            \
1946   declare_toplevel_type(intptr_t*)                                        \
1947    declare_unsigned_integer_type(InvocationCounter) /* FIXME: wrong type (not integer) */ \
1948   declare_toplevel_type(JavaThread*)                                      \

1949   declare_toplevel_type(java_lang_Class)                                  \
1950   declare_integer_type(JavaThread::AsyncRequests)                         \
1951   declare_integer_type(JavaThread::TerminatedTypes)                       \
1952   declare_toplevel_type(jbyte*)                                           \
1953   declare_toplevel_type(jbyte**)                                          \
1954   declare_toplevel_type(jint*)                                            \
1955   declare_toplevel_type(jniIdMapBase*)                                    \
1956   declare_unsigned_integer_type(juint)                                    \
1957   declare_unsigned_integer_type(julong)                                   \
1958   declare_toplevel_type(JNIHandleBlock*)                                  \
1959   declare_toplevel_type(JNIid)                                            \
1960   declare_toplevel_type(JNIid*)                                           \
1961   declare_toplevel_type(jmethodID*)                                       \
1962   declare_toplevel_type(Mutex*)                                           \
1963   declare_toplevel_type(nmethod*)                                         \
1964   COMPILER2_PRESENT(declare_unsigned_integer_type(node_idx_t))            \
1965   declare_toplevel_type(ObjectMonitor*)                                   \
1966   declare_toplevel_type(PaddedObjectMonitor*)                             \
1967   declare_toplevel_type(oop*)                                             \
1968   declare_toplevel_type(OopMap**)                                         \




  77 #include "oops/objArrayKlass.hpp"
  78 #include "oops/objArrayOop.hpp"
  79 #include "oops/oop.inline.hpp"
  80 #include "oops/oopHandle.hpp"
  81 #include "oops/symbol.hpp"
  82 #include "oops/typeArrayKlass.hpp"
  83 #include "oops/typeArrayOop.hpp"
  84 #include "prims/jvmtiAgentThread.hpp"
  85 #include "runtime/arguments.hpp"
  86 #include "runtime/deoptimization.hpp"
  87 #include "runtime/flags/jvmFlag.hpp"
  88 #include "runtime/globals.hpp"
  89 #include "runtime/java.hpp"
  90 #include "runtime/javaCalls.hpp"
  91 #include "runtime/os.hpp"
  92 #include "runtime/perfMemory.hpp"
  93 #include "runtime/serviceThread.hpp"
  94 #include "runtime/sharedRuntime.hpp"
  95 #include "runtime/stubRoutines.hpp"
  96 #include "runtime/thread.inline.hpp"
  97 #include "runtime/threadSMR.hpp"
  98 #include "runtime/vframeArray.hpp"
  99 #include "runtime/vmStructs.hpp"
 100 #include "utilities/globalDefinitions.hpp"
 101 #include "utilities/hashtable.hpp"
 102 #include "utilities/macros.hpp"
 103 
 104 #include CPU_HEADER(vmStructs)
 105 #include OS_HEADER(vmStructs)
 106 #include OS_CPU_HEADER(vmStructs)
 107 
 108 #if INCLUDE_JVMCI
 109 # include "jvmci/vmStructs_jvmci.hpp"
 110 #endif
 111 
 112 
 113 #ifdef COMPILER2
 114 #include "opto/addnode.hpp"
 115 #include "opto/block.hpp"
 116 #include "opto/callnode.hpp"
 117 #include "opto/castnode.hpp"


 713   nonstatic_field(Deoptimization::UnrollBlock, _register_block,                               intptr_t*)                             \
 714   nonstatic_field(Deoptimization::UnrollBlock, _return_type,                                  BasicType)                             \
 715   nonstatic_field(Deoptimization::UnrollBlock, _initial_info,                                 intptr_t)                              \
 716   nonstatic_field(Deoptimization::UnrollBlock, _caller_actual_parameters,                     int)                                   \
 717                                                                                                                                      \
 718   /********************************/                                                                                                 \
 719   /* JavaCalls (NOTE: incomplete) */                                                                                                 \
 720   /********************************/                                                                                                 \
 721                                                                                                                                      \
 722   nonstatic_field(JavaCallWrapper,             _anchor,                                       JavaFrameAnchor)                       \
 723   /********************************/                                                                                                 \
 724   /* JavaFrameAnchor (NOTE: incomplete) */                                                                                           \
 725   /********************************/                                                                                                 \
 726   volatile_nonstatic_field(JavaFrameAnchor,    _last_Java_sp,                                 intptr_t*)                             \
 727   volatile_nonstatic_field(JavaFrameAnchor,    _last_Java_pc,                                 address)                               \
 728                                                                                                                                      \
 729   /******************************/                                                                                                   \
 730   /* Threads (NOTE: incomplete) */                                                                                                   \
 731   /******************************/                                                                                                   \
 732                                                                                                                                      \

 733   static_field(Threads,                     _number_of_threads,                               int)                                   \
 734   static_field(Threads,                     _number_of_non_daemon_threads,                    int)                                   \
 735   static_field(Threads,                     _return_code,                                     int)                                   \
 736                                                                                                                                      \
 737   static_ptr_volatile_field(ThreadsSMRSupport, _java_thread_list,                             ThreadsList*)                          \
 738   nonstatic_field(ThreadsList,                 _length,                                       const uint)                            \
 739   nonstatic_field(ThreadsList,                 _threads,                                      JavaThread *const *const)              \
 740                                                                                                                                      \
 741   nonstatic_field(ThreadShadow,                _pending_exception,                            oop)                                   \
 742   nonstatic_field(ThreadShadow,                _exception_file,                               const char*)                           \
 743   nonstatic_field(ThreadShadow,                _exception_line,                               int)                                   \
 744   volatile_nonstatic_field(Thread,             _suspend_flags,                                uint32_t)                              \
 745   nonstatic_field(Thread,                      _active_handles,                               JNIHandleBlock*)                       \
 746   nonstatic_field(Thread,                      _tlab,                                         ThreadLocalAllocBuffer)                \
 747   nonstatic_field(Thread,                      _allocated_bytes,                              jlong)                                 \
 748   nonstatic_field(Thread,                      _current_pending_monitor,                      ObjectMonitor*)                        \
 749   nonstatic_field(Thread,                      _current_pending_monitor_is_from_java,         bool)                                  \
 750   nonstatic_field(Thread,                      _current_waiting_monitor,                      ObjectMonitor*)                        \
 751   nonstatic_field(NamedThread,                 _name,                                         char*)                                 \
 752   nonstatic_field(NamedThread,                 _processed_thread,                             JavaThread*)                           \

 753   nonstatic_field(JavaThread,                  _threadObj,                                    oop)                                   \
 754   nonstatic_field(JavaThread,                  _anchor,                                       JavaFrameAnchor)                       \
 755   nonstatic_field(JavaThread,                  _vm_result,                                    oop)                                   \
 756   nonstatic_field(JavaThread,                  _vm_result_2,                                  Metadata*)                             \
 757   nonstatic_field(JavaThread,                  _pending_async_exception,                      oop)                                   \
 758   volatile_nonstatic_field(JavaThread,         _exception_oop,                                oop)                                   \
 759   volatile_nonstatic_field(JavaThread,         _exception_pc,                                 address)                               \
 760   volatile_nonstatic_field(JavaThread,         _is_method_handle_return,                      int)                                   \
 761   nonstatic_field(JavaThread,                  _special_runtime_exit_condition,               JavaThread::AsyncRequests)             \
 762   nonstatic_field(JavaThread,                  _saved_exception_pc,                           address)                               \
 763   volatile_nonstatic_field(JavaThread,         _thread_state,                                 JavaThreadState)                       \
 764   nonstatic_field(JavaThread,                  _osthread,                                     OSThread*)                             \
 765   nonstatic_field(JavaThread,                  _stack_base,                                   address)                               \
 766   nonstatic_field(JavaThread,                  _stack_size,                                   size_t)                                \
 767   nonstatic_field(JavaThread,                  _vframe_array_head,                            vframeArray*)                          \
 768   nonstatic_field(JavaThread,                  _vframe_array_last,                            vframeArray*)                          \
 769   volatile_nonstatic_field(JavaThread,         _terminated,                                   JavaThread::TerminatedTypes)           \
 770   nonstatic_field(Thread,                      _resource_area,                                ResourceArea*)                         \
 771   nonstatic_field(CompilerThread,              _env,                                          ciEnv*)                                \
 772                                                                                                                                      \


1346     declare_type(ResourceArea, Arena)                                     \
1347                                                                           \
1348   /***********************************************************/           \
1349   /* Thread hierarchy (needed for run-time type information) */           \
1350   /***********************************************************/           \
1351                                                                           \
1352   declare_toplevel_type(Threads)                                          \
1353   declare_toplevel_type(ThreadShadow)                                     \
1354     declare_type(Thread, ThreadShadow)                                    \
1355       declare_type(NonJavaThread, Thread)                                 \
1356         declare_type(NamedThread, NonJavaThread)                          \
1357         declare_type(WatcherThread, NonJavaThread)                        \
1358       declare_type(JavaThread, Thread)                                    \
1359         declare_type(JvmtiAgentThread, JavaThread)                        \
1360         declare_type(ServiceThread, JavaThread)                           \
1361         declare_type(CompilerThread, JavaThread)                          \
1362         declare_type(CodeCacheSweeperThread, JavaThread)                  \
1363   declare_toplevel_type(OSThread)                                         \
1364   declare_toplevel_type(JavaFrameAnchor)                                  \
1365                                                                           \
1366   declare_toplevel_type(ThreadsSMRSupport)                                \
1367   declare_toplevel_type(ThreadsList)                                      \
1368                                                                           \
1369   /***************/                                                       \
1370   /* Interpreter */                                                       \
1371   /***************/                                                       \
1372                                                                           \
1373   declare_toplevel_type(AbstractInterpreter)                              \
1374                                                                           \
1375   /*********/                                                             \
1376   /* Stubs */                                                             \
1377   /*********/                                                             \
1378                                                                           \
1379   declare_toplevel_type(StubQueue)                                        \
1380   declare_toplevel_type(StubRoutines)                                     \
1381   declare_toplevel_type(Stub)                                             \
1382            declare_type(InterpreterCodelet, Stub)                         \
1383                                                                           \
1384   /*************/                                                         \
1385   /* JavaCalls */                                                         \
1386   /*************/                                                         \
1387                                                                           \
1388   declare_toplevel_type(JavaCallWrapper)                                  \


1935             declare_type(Array<Klass*>, MetaspaceObj)                     \
1936             declare_type(Array<Method*>, MetaspaceObj)                    \
1937                                                                           \
1938    declare_toplevel_type(BitMap)                                          \
1939             declare_type(BitMapView, BitMap)                              \
1940                                                                           \
1941    declare_integer_type(AccessFlags)  /* FIXME: wrong type (not integer) */\
1942   declare_toplevel_type(address)      /* FIXME: should this be an integer type? */\
1943    declare_integer_type(BasicType)   /* FIXME: wrong type (not integer) */\
1944   declare_toplevel_type(BreakpointInfo)                                   \
1945   declare_toplevel_type(BreakpointInfo*)                                  \
1946   declare_toplevel_type(CodeBlob*)                                        \
1947   declare_toplevel_type(RuntimeBlob*)                                     \
1948   declare_toplevel_type(CompressedWriteStream*)                           \
1949   declare_toplevel_type(ConstantPoolCacheEntry)                           \
1950   declare_toplevel_type(elapsedTimer)                                     \
1951   declare_toplevel_type(frame)                                            \
1952   declare_toplevel_type(intptr_t*)                                        \
1953    declare_unsigned_integer_type(InvocationCounter) /* FIXME: wrong type (not integer) */ \
1954   declare_toplevel_type(JavaThread*)                                      \
1955   declare_toplevel_type(JavaThread *const *const)                         \
1956   declare_toplevel_type(java_lang_Class)                                  \
1957   declare_integer_type(JavaThread::AsyncRequests)                         \
1958   declare_integer_type(JavaThread::TerminatedTypes)                       \
1959   declare_toplevel_type(jbyte*)                                           \
1960   declare_toplevel_type(jbyte**)                                          \
1961   declare_toplevel_type(jint*)                                            \
1962   declare_toplevel_type(jniIdMapBase*)                                    \
1963   declare_unsigned_integer_type(juint)                                    \
1964   declare_unsigned_integer_type(julong)                                   \
1965   declare_toplevel_type(JNIHandleBlock*)                                  \
1966   declare_toplevel_type(JNIid)                                            \
1967   declare_toplevel_type(JNIid*)                                           \
1968   declare_toplevel_type(jmethodID*)                                       \
1969   declare_toplevel_type(Mutex*)                                           \
1970   declare_toplevel_type(nmethod*)                                         \
1971   COMPILER2_PRESENT(declare_unsigned_integer_type(node_idx_t))            \
1972   declare_toplevel_type(ObjectMonitor*)                                   \
1973   declare_toplevel_type(PaddedObjectMonitor*)                             \
1974   declare_toplevel_type(oop*)                                             \
1975   declare_toplevel_type(OopMap**)                                         \


< prev index next >