92 #include "runtime/perfMemory.hpp" |
92 #include "runtime/perfMemory.hpp" |
93 #include "runtime/serviceThread.hpp" |
93 #include "runtime/serviceThread.hpp" |
94 #include "runtime/sharedRuntime.hpp" |
94 #include "runtime/sharedRuntime.hpp" |
95 #include "runtime/stubRoutines.hpp" |
95 #include "runtime/stubRoutines.hpp" |
96 #include "runtime/thread.inline.hpp" |
96 #include "runtime/thread.inline.hpp" |
|
97 #include "runtime/threadSMR.hpp" |
97 #include "runtime/vframeArray.hpp" |
98 #include "runtime/vframeArray.hpp" |
98 #include "runtime/vmStructs.hpp" |
99 #include "runtime/vmStructs.hpp" |
99 #include "utilities/globalDefinitions.hpp" |
100 #include "utilities/globalDefinitions.hpp" |
100 #include "utilities/hashtable.hpp" |
101 #include "utilities/hashtable.hpp" |
101 #include "utilities/macros.hpp" |
102 #include "utilities/macros.hpp" |
738 \ |
739 \ |
739 /******************************/ \ |
740 /******************************/ \ |
740 /* Threads (NOTE: incomplete) */ \ |
741 /* Threads (NOTE: incomplete) */ \ |
741 /******************************/ \ |
742 /******************************/ \ |
742 \ |
743 \ |
743 static_field(Threads, _thread_list, JavaThread*) \ |
744 static_field(Threads, _number_of_threads, int) \ |
744 static_field(Threads, _number_of_threads, int) \ |
745 static_field(Threads, _number_of_non_daemon_threads, int) \ |
745 static_field(Threads, _number_of_non_daemon_threads, int) \ |
746 static_field(Threads, _return_code, int) \ |
746 static_field(Threads, _return_code, int) \ |
747 \ |
|
748 static_ptr_volatile_field(ThreadsSMRSupport, _java_thread_list, ThreadsList*) \ |
|
749 nonstatic_field(ThreadsList, _length, const uint) \ |
|
750 nonstatic_field(ThreadsList, _threads, JavaThread *const *const) \ |
747 \ |
751 \ |
748 nonstatic_field(ThreadShadow, _pending_exception, oop) \ |
752 nonstatic_field(ThreadShadow, _pending_exception, oop) \ |
749 nonstatic_field(ThreadShadow, _exception_file, const char*) \ |
753 nonstatic_field(ThreadShadow, _exception_file, const char*) \ |
750 nonstatic_field(ThreadShadow, _exception_line, int) \ |
754 nonstatic_field(ThreadShadow, _exception_line, int) \ |
751 volatile_nonstatic_field(Thread, _suspend_flags, uint32_t) \ |
755 volatile_nonstatic_field(Thread, _suspend_flags, uint32_t) \ |
755 nonstatic_field(Thread, _current_pending_monitor, ObjectMonitor*) \ |
759 nonstatic_field(Thread, _current_pending_monitor, ObjectMonitor*) \ |
756 nonstatic_field(Thread, _current_pending_monitor_is_from_java, bool) \ |
760 nonstatic_field(Thread, _current_pending_monitor_is_from_java, bool) \ |
757 nonstatic_field(Thread, _current_waiting_monitor, ObjectMonitor*) \ |
761 nonstatic_field(Thread, _current_waiting_monitor, ObjectMonitor*) \ |
758 nonstatic_field(NamedThread, _name, char*) \ |
762 nonstatic_field(NamedThread, _name, char*) \ |
759 nonstatic_field(NamedThread, _processed_thread, JavaThread*) \ |
763 nonstatic_field(NamedThread, _processed_thread, JavaThread*) \ |
760 nonstatic_field(JavaThread, _next, JavaThread*) \ |
|
761 nonstatic_field(JavaThread, _threadObj, oop) \ |
764 nonstatic_field(JavaThread, _threadObj, oop) \ |
762 nonstatic_field(JavaThread, _anchor, JavaFrameAnchor) \ |
765 nonstatic_field(JavaThread, _anchor, JavaFrameAnchor) \ |
763 nonstatic_field(JavaThread, _vm_result, oop) \ |
766 nonstatic_field(JavaThread, _vm_result, oop) \ |
764 nonstatic_field(JavaThread, _vm_result_2, Metadata*) \ |
767 nonstatic_field(JavaThread, _vm_result_2, Metadata*) \ |
765 nonstatic_field(JavaThread, _pending_async_exception, oop) \ |
768 nonstatic_field(JavaThread, _pending_async_exception, oop) \ |
1368 declare_type(ServiceThread, JavaThread) \ |
1371 declare_type(ServiceThread, JavaThread) \ |
1369 declare_type(CompilerThread, JavaThread) \ |
1372 declare_type(CompilerThread, JavaThread) \ |
1370 declare_type(CodeCacheSweeperThread, JavaThread) \ |
1373 declare_type(CodeCacheSweeperThread, JavaThread) \ |
1371 declare_toplevel_type(OSThread) \ |
1374 declare_toplevel_type(OSThread) \ |
1372 declare_toplevel_type(JavaFrameAnchor) \ |
1375 declare_toplevel_type(JavaFrameAnchor) \ |
|
1376 \ |
|
1377 declare_toplevel_type(ThreadsSMRSupport) \ |
|
1378 declare_toplevel_type(ThreadsList) \ |
1373 \ |
1379 \ |
1374 /***************/ \ |
1380 /***************/ \ |
1375 /* Interpreter */ \ |
1381 /* Interpreter */ \ |
1376 /***************/ \ |
1382 /***************/ \ |
1377 \ |
1383 \ |
1962 declare_toplevel_type(elapsedTimer) \ |
1968 declare_toplevel_type(elapsedTimer) \ |
1963 declare_toplevel_type(frame) \ |
1969 declare_toplevel_type(frame) \ |
1964 declare_toplevel_type(intptr_t*) \ |
1970 declare_toplevel_type(intptr_t*) \ |
1965 declare_unsigned_integer_type(InvocationCounter) /* FIXME: wrong type (not integer) */ \ |
1971 declare_unsigned_integer_type(InvocationCounter) /* FIXME: wrong type (not integer) */ \ |
1966 declare_toplevel_type(JavaThread*) \ |
1972 declare_toplevel_type(JavaThread*) \ |
|
1973 declare_toplevel_type(JavaThread *const *const) \ |
1967 declare_toplevel_type(java_lang_Class) \ |
1974 declare_toplevel_type(java_lang_Class) \ |
1968 declare_integer_type(JavaThread::AsyncRequests) \ |
1975 declare_integer_type(JavaThread::AsyncRequests) \ |
1969 declare_integer_type(JavaThread::TerminatedTypes) \ |
1976 declare_integer_type(JavaThread::TerminatedTypes) \ |
1970 declare_toplevel_type(jbyte*) \ |
1977 declare_toplevel_type(jbyte*) \ |
1971 declare_toplevel_type(jbyte**) \ |
1978 declare_toplevel_type(jbyte**) \ |