932 class OSThread;
933
934 typedef int (*OSThreadStartFunc)(void*);
935
936 class Space;
937
938 class JavaValue;
939 class methodHandle;
940 class JavaCallArguments;
941
942 // Basic support for errors.
943 extern void basic_fatal(const char* msg);
944
945 //----------------------------------------------------------------------------------------------------
946 // Special constants for debugging
947
948 const jint badInt = -3; // generic "bad int" value
949 const long badAddressVal = -2; // generic "bad address" value
950 const long badOopVal = -1; // generic "bad oop" value
951 const intptr_t badHeapOopVal = (intptr_t) CONST64(0x2BAD4B0BBAADBABE); // value used to zap heap after GC
952 const int badHandleValue = 0xBC; // value used to zap vm handle area
953 const int badResourceValue = 0xAB; // value used to zap resource area
954 const int freeBlockPad = 0xBA; // value used to pad freed blocks.
955 const int uninitBlockPad = 0xF1; // value used to zap newly malloc'd blocks.
956 const juint uninitMetaWordVal= 0xf7f7f7f7; // value used to zap newly allocated metachunk
957 const intptr_t badJNIHandleVal = (intptr_t) UCONST64(0xFEFEFEFEFEFEFEFE); // value used to zap jni handle area
958 const juint badHeapWordVal = 0xBAADBABE; // value used to zap heap after GC
959 const juint badMetaWordVal = 0xBAADFADE; // value used to zap metadata heap after GC
960 const int badCodeHeapNewVal= 0xCC; // value used to zap Code heap at allocation
961 const int badCodeHeapFreeVal = 0xDD; // value used to zap Code heap at deallocation
962
963
964 // (These must be implemented as #defines because C++ compilers are
965 // not obligated to inline non-integral constants!)
966 #define badAddress ((address)::badAddressVal)
967 #define badOop (cast_to_oop(::badOopVal))
968 #define badHeapWord (::badHeapWordVal)
969 #define badJNIHandle (cast_to_oop(::badJNIHandleVal))
970
971 // Default TaskQueue size is 16K (32-bit) or 128K (64-bit)
|
932 class OSThread;
933
934 typedef int (*OSThreadStartFunc)(void*);
935
936 class Space;
937
938 class JavaValue;
939 class methodHandle;
940 class JavaCallArguments;
941
942 // Basic support for errors.
943 extern void basic_fatal(const char* msg);
944
945 //----------------------------------------------------------------------------------------------------
946 // Special constants for debugging
947
948 const jint badInt = -3; // generic "bad int" value
949 const long badAddressVal = -2; // generic "bad address" value
950 const long badOopVal = -1; // generic "bad oop" value
951 const intptr_t badHeapOopVal = (intptr_t) CONST64(0x2BAD4B0BBAADBABE); // value used to zap heap after GC
952 const int badStackSegVal = 0xCA; // value used to zap stack segments
953 const int badHandleValue = 0xBC; // value used to zap vm handle area
954 const int badResourceValue = 0xAB; // value used to zap resource area
955 const int freeBlockPad = 0xBA; // value used to pad freed blocks.
956 const int uninitBlockPad = 0xF1; // value used to zap newly malloc'd blocks.
957 const juint uninitMetaWordVal= 0xf7f7f7f7; // value used to zap newly allocated metachunk
958 const intptr_t badJNIHandleVal = (intptr_t) UCONST64(0xFEFEFEFEFEFEFEFE); // value used to zap jni handle area
959 const juint badHeapWordVal = 0xBAADBABE; // value used to zap heap after GC
960 const juint badMetaWordVal = 0xBAADFADE; // value used to zap metadata heap after GC
961 const int badCodeHeapNewVal= 0xCC; // value used to zap Code heap at allocation
962 const int badCodeHeapFreeVal = 0xDD; // value used to zap Code heap at deallocation
963
964
965 // (These must be implemented as #defines because C++ compilers are
966 // not obligated to inline non-integral constants!)
967 #define badAddress ((address)::badAddressVal)
968 #define badOop (cast_to_oop(::badOopVal))
969 #define badHeapWord (::badHeapWordVal)
970 #define badJNIHandle (cast_to_oop(::badJNIHandleVal))
971
972 // Default TaskQueue size is 16K (32-bit) or 128K (64-bit)
|