Mercurial > hg > graal-jvmci-8
comparison src/share/vm/runtime/thread.hpp @ 8001:db9981fd3124
8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
Summary: Rename INCLUDE_ALTERNATE_GCS to INCLUDE_ALL_GCS and replace SERIALGC with INCLUDE_ALL_GCS.
Reviewed-by: coleenp, stefank
author | jprovino |
---|---|
date | Wed, 23 Jan 2013 13:02:39 -0500 |
parents | d0aa87f04bd5 |
children | 5fc51c1ecdeb 9058789475af |
comparison
equal
deleted
inserted
replaced
7619:46e60405583b | 8001:db9981fd3124 |
---|---|
39 #include "runtime/park.hpp" | 39 #include "runtime/park.hpp" |
40 #include "runtime/safepoint.hpp" | 40 #include "runtime/safepoint.hpp" |
41 #include "runtime/stubRoutines.hpp" | 41 #include "runtime/stubRoutines.hpp" |
42 #include "runtime/threadLocalStorage.hpp" | 42 #include "runtime/threadLocalStorage.hpp" |
43 #include "runtime/unhandledOops.hpp" | 43 #include "runtime/unhandledOops.hpp" |
44 #include "utilities/macros.hpp" | |
44 | 45 |
45 #if INCLUDE_NMT | 46 #if INCLUDE_NMT |
46 #include "services/memRecorder.hpp" | 47 #include "services/memRecorder.hpp" |
47 #endif // INCLUDE_NMT | 48 #endif // INCLUDE_NMT |
48 | 49 |
49 #include "trace/tracing.hpp" | 50 #include "trace/tracing.hpp" |
50 #include "utilities/exceptions.hpp" | 51 #include "utilities/exceptions.hpp" |
51 #include "utilities/top.hpp" | 52 #include "utilities/top.hpp" |
52 #ifndef SERIALGC | 53 #if INCLUDE_ALL_GCS |
53 #include "gc_implementation/g1/dirtyCardQueue.hpp" | 54 #include "gc_implementation/g1/dirtyCardQueue.hpp" |
54 #include "gc_implementation/g1/satbQueue.hpp" | 55 #include "gc_implementation/g1/satbQueue.hpp" |
55 #endif | 56 #endif // INCLUDE_ALL_GCS |
56 #ifdef ZERO | 57 #ifdef ZERO |
57 #ifdef TARGET_ARCH_zero | 58 #ifdef TARGET_ARCH_zero |
58 # include "stack_zero.hpp" | 59 # include "stack_zero.hpp" |
59 #endif | 60 #endif |
60 #endif | 61 #endif |
927 const char* _file; | 928 const char* _file; |
928 int _line; | 929 int _line; |
929 } _jmp_ring[ jump_ring_buffer_size ]; | 930 } _jmp_ring[ jump_ring_buffer_size ]; |
930 #endif /* PRODUCT */ | 931 #endif /* PRODUCT */ |
931 | 932 |
932 #ifndef SERIALGC | 933 #if INCLUDE_ALL_GCS |
933 // Support for G1 barriers | 934 // Support for G1 barriers |
934 | 935 |
935 ObjPtrQueue _satb_mark_queue; // Thread-local log for SATB barrier. | 936 ObjPtrQueue _satb_mark_queue; // Thread-local log for SATB barrier. |
936 // Set of all such queues. | 937 // Set of all such queues. |
937 static SATBMarkQueueSet _satb_mark_queue_set; | 938 static SATBMarkQueueSet _satb_mark_queue_set; |
939 DirtyCardQueue _dirty_card_queue; // Thread-local log for dirty cards. | 940 DirtyCardQueue _dirty_card_queue; // Thread-local log for dirty cards. |
940 // Set of all such queues. | 941 // Set of all such queues. |
941 static DirtyCardQueueSet _dirty_card_queue_set; | 942 static DirtyCardQueueSet _dirty_card_queue_set; |
942 | 943 |
943 void flush_barrier_queues(); | 944 void flush_barrier_queues(); |
944 #endif // !SERIALGC | 945 #endif // INCLUDE_ALL_GCS |
945 | 946 |
946 friend class VMThread; | 947 friend class VMThread; |
947 friend class ThreadWaitTransition; | 948 friend class ThreadWaitTransition; |
948 friend class VM_Exit; | 949 friend class VM_Exit; |
949 | 950 |
1343 static ByteSize do_not_unlock_if_synchronized_offset() { return byte_offset_of(JavaThread, _do_not_unlock_if_synchronized); } | 1344 static ByteSize do_not_unlock_if_synchronized_offset() { return byte_offset_of(JavaThread, _do_not_unlock_if_synchronized); } |
1344 static ByteSize should_post_on_exceptions_flag_offset() { | 1345 static ByteSize should_post_on_exceptions_flag_offset() { |
1345 return byte_offset_of(JavaThread, _should_post_on_exceptions_flag); | 1346 return byte_offset_of(JavaThread, _should_post_on_exceptions_flag); |
1346 } | 1347 } |
1347 | 1348 |
1348 #ifndef SERIALGC | 1349 #if INCLUDE_ALL_GCS |
1349 static ByteSize satb_mark_queue_offset() { return byte_offset_of(JavaThread, _satb_mark_queue); } | 1350 static ByteSize satb_mark_queue_offset() { return byte_offset_of(JavaThread, _satb_mark_queue); } |
1350 static ByteSize dirty_card_queue_offset() { return byte_offset_of(JavaThread, _dirty_card_queue); } | 1351 static ByteSize dirty_card_queue_offset() { return byte_offset_of(JavaThread, _dirty_card_queue); } |
1351 #endif // !SERIALGC | 1352 #endif // INCLUDE_ALL_GCS |
1352 | 1353 |
1353 // Returns the jni environment for this thread | 1354 // Returns the jni environment for this thread |
1354 JNIEnv* jni_environment() { return &_jni_environment; } | 1355 JNIEnv* jni_environment() { return &_jni_environment; } |
1355 | 1356 |
1356 static JavaThread* thread_from_jni_environment(JNIEnv* env) { | 1357 static JavaThread* thread_from_jni_environment(JNIEnv* env) { |
1635 } | 1636 } |
1636 static inline void set_stack_size_at_create(size_t value) { | 1637 static inline void set_stack_size_at_create(size_t value) { |
1637 _stack_size_at_create = value; | 1638 _stack_size_at_create = value; |
1638 } | 1639 } |
1639 | 1640 |
1640 #ifndef SERIALGC | 1641 #if INCLUDE_ALL_GCS |
1641 // SATB marking queue support | 1642 // SATB marking queue support |
1642 ObjPtrQueue& satb_mark_queue() { return _satb_mark_queue; } | 1643 ObjPtrQueue& satb_mark_queue() { return _satb_mark_queue; } |
1643 static SATBMarkQueueSet& satb_mark_queue_set() { | 1644 static SATBMarkQueueSet& satb_mark_queue_set() { |
1644 return _satb_mark_queue_set; | 1645 return _satb_mark_queue_set; |
1645 } | 1646 } |
1647 // Dirty card queue support | 1648 // Dirty card queue support |
1648 DirtyCardQueue& dirty_card_queue() { return _dirty_card_queue; } | 1649 DirtyCardQueue& dirty_card_queue() { return _dirty_card_queue; } |
1649 static DirtyCardQueueSet& dirty_card_queue_set() { | 1650 static DirtyCardQueueSet& dirty_card_queue_set() { |
1650 return _dirty_card_queue_set; | 1651 return _dirty_card_queue_set; |
1651 } | 1652 } |
1652 #endif // !SERIALGC | 1653 #endif // INCLUDE_ALL_GCS |
1653 | 1654 |
1654 // This method initializes the SATB and dirty card queues before a | 1655 // This method initializes the SATB and dirty card queues before a |
1655 // JavaThread is added to the Java thread list. Right now, we don't | 1656 // JavaThread is added to the Java thread list. Right now, we don't |
1656 // have to do anything to the dirty card queue (it should have been | 1657 // have to do anything to the dirty card queue (it should have been |
1657 // activated when the thread was created), but we have to activate | 1658 // activated when the thread was created), but we have to activate |
1666 // cannot do the obvious and set the active field of the SATB queue | 1667 // cannot do the obvious and set the active field of the SATB queue |
1667 // when the thread is created given that, in some cases, safepoints | 1668 // when the thread is created given that, in some cases, safepoints |
1668 // might happen between the JavaThread constructor being called and the | 1669 // might happen between the JavaThread constructor being called and the |
1669 // thread being added to the Java thread list (an example of this is | 1670 // thread being added to the Java thread list (an example of this is |
1670 // when the structure for the DestroyJavaVM thread is created). | 1671 // when the structure for the DestroyJavaVM thread is created). |
1671 #ifndef SERIALGC | 1672 #if INCLUDE_ALL_GCS |
1672 void initialize_queues(); | 1673 void initialize_queues(); |
1673 #else // !SERIALGC | 1674 #else // INCLUDE_ALL_GCS |
1674 void initialize_queues() { } | 1675 void initialize_queues() { } |
1675 #endif // !SERIALGC | 1676 #endif // INCLUDE_ALL_GCS |
1676 | 1677 |
1677 // Machine dependent stuff | 1678 // Machine dependent stuff |
1678 #ifdef TARGET_OS_ARCH_linux_x86 | 1679 #ifdef TARGET_OS_ARCH_linux_x86 |
1679 # include "thread_linux_x86.hpp" | 1680 # include "thread_linux_x86.hpp" |
1680 #endif | 1681 #endif |