1001 _thread_uninitialized = 0, // should never happen (missing initialization)
1002 _thread_new = 2, // just starting up, i.e., in process of being initialized
1003 _thread_new_trans = 3, // corresponding transition state (not used, included for completeness)
1004 _thread_in_native = 4, // running in native code
1005 _thread_in_native_trans = 5, // corresponding transition state
1006 _thread_in_vm = 6, // running in VM
1007 _thread_in_vm_trans = 7, // corresponding transition state
1008 _thread_in_Java = 8, // running in Java or in stub code
1009 _thread_in_Java_trans = 9, // corresponding transition state (not used, included for completeness)
1010 _thread_blocked = 10, // blocked in vm
1011 _thread_blocked_trans = 11, // corresponding transition state
1012 _thread_max_state = 12 // maximum thread state+1 - used for statistics allocation
1013 };
1014
1015 enum LockingMode {
1016 // Use only heavy monitors for locking
1017 LM_MONITOR = 0,
1018 // Legacy stack-locking, with monitors as 2nd tier
1019 LM_LEGACY = 1,
1020 // New lightweight locking, with monitors as 2nd tier
1021 LM_LIGHTWEIGHT = 2
1022 };
1023
1024 //----------------------------------------------------------------------------------------------------
1025 // Special constants for debugging
1026
1027 const jint badInt = -3; // generic "bad int" value
1028 const intptr_t badAddressVal = -2; // generic "bad address" value
1029 const intptr_t badOopVal = -1; // generic "bad oop" value
1030 const intptr_t badHeapOopVal = (intptr_t) CONST64(0x2BAD4B0BBAADBABE); // value used to zap heap after GC
1031 const int badStackSegVal = 0xCA; // value used to zap stack segments
1032 const int badHandleValue = 0xBC; // value used to zap vm handle area
1033 const int badResourceValue = 0xAB; // value used to zap resource area
1034 const int freeBlockPad = 0xBA; // value used to pad freed blocks.
1035 const int uninitBlockPad = 0xF1; // value used to zap newly malloc'd blocks.
1036 const juint uninitMetaWordVal = 0xf7f7f7f7; // value used to zap newly allocated metachunk
1037 const jubyte heapPaddingByteVal = 0xBD; // value used to zap object padding in the heap
1038 const juint badHeapWordVal = 0xBAADBABE; // value used to zap heap after GC
1039 const int badCodeHeapNewVal = 0xCC; // value used to zap Code heap at allocation
1040 const int badCodeHeapFreeVal = 0xDD; // value used to zap Code heap at deallocation
1041 const intptr_t badDispHeaderDeopt = 0xDE0BD000; // value to fill unused displaced header during deoptimization
|
1001 _thread_uninitialized = 0, // should never happen (missing initialization)
1002 _thread_new = 2, // just starting up, i.e., in process of being initialized
1003 _thread_new_trans = 3, // corresponding transition state (not used, included for completeness)
1004 _thread_in_native = 4, // running in native code
1005 _thread_in_native_trans = 5, // corresponding transition state
1006 _thread_in_vm = 6, // running in VM
1007 _thread_in_vm_trans = 7, // corresponding transition state
1008 _thread_in_Java = 8, // running in Java or in stub code
1009 _thread_in_Java_trans = 9, // corresponding transition state (not used, included for completeness)
1010 _thread_blocked = 10, // blocked in vm
1011 _thread_blocked_trans = 11, // corresponding transition state
1012 _thread_max_state = 12 // maximum thread state+1 - used for statistics allocation
1013 };
1014
1015 enum LockingMode {
1016 // Use only heavy monitors for locking
1017 LM_MONITOR = 0,
1018 // Legacy stack-locking, with monitors as 2nd tier
1019 LM_LEGACY = 1,
1020 // New lightweight locking, with monitors as 2nd tier
1021 LM_LIGHTWEIGHT = 2,
1022 };
1023
1024 //----------------------------------------------------------------------------------------------------
1025 // Special constants for debugging
1026
1027 const jint badInt = -3; // generic "bad int" value
1028 const intptr_t badAddressVal = -2; // generic "bad address" value
1029 const intptr_t badOopVal = -1; // generic "bad oop" value
1030 const intptr_t badHeapOopVal = (intptr_t) CONST64(0x2BAD4B0BBAADBABE); // value used to zap heap after GC
1031 const int badStackSegVal = 0xCA; // value used to zap stack segments
1032 const int badHandleValue = 0xBC; // value used to zap vm handle area
1033 const int badResourceValue = 0xAB; // value used to zap resource area
1034 const int freeBlockPad = 0xBA; // value used to pad freed blocks.
1035 const int uninitBlockPad = 0xF1; // value used to zap newly malloc'd blocks.
1036 const juint uninitMetaWordVal = 0xf7f7f7f7; // value used to zap newly allocated metachunk
1037 const jubyte heapPaddingByteVal = 0xBD; // value used to zap object padding in the heap
1038 const juint badHeapWordVal = 0xBAADBABE; // value used to zap heap after GC
1039 const int badCodeHeapNewVal = 0xCC; // value used to zap Code heap at allocation
1040 const int badCodeHeapFreeVal = 0xDD; // value used to zap Code heap at deallocation
1041 const intptr_t badDispHeaderDeopt = 0xDE0BD000; // value to fill unused displaced header during deoptimization
|