1039 class JavaValue;
1040 class methodHandle;
1041 class JavaCallArguments;
1042
1043 // Basic support for errors (general debug facilities not defined at this point fo the include phase)
1044
1045 extern void basic_fatal(const char* msg);
1046
1047
1048 //----------------------------------------------------------------------------------------------------
1049 // Special constants for debugging
1050
1051 const jint badInt = -3; // generic "bad int" value
1052 const long badAddressVal = -2; // generic "bad address" value
1053 const long badOopVal = -1; // generic "bad oop" value
1054 const intptr_t badHeapOopVal = (intptr_t) CONST64(0x2BAD4B0BBAADBABE); // value used to zap heap after GC
1055 const int badHandleValue = 0xBC; // value used to zap vm handle area
1056 const int badResourceValue = 0xAB; // value used to zap resource area
1057 const int freeBlockPad = 0xBA; // value used to pad freed blocks.
1058 const int uninitBlockPad = 0xF1; // value used to zap newly malloc'd blocks.
1059 const intptr_t badJNIHandleVal = (intptr_t) UCONST64(0xFEFEFEFEFEFEFEFE); // value used to zap jni handle area
1060 const juint badHeapWordVal = 0xBAADBABE; // value used to zap heap after GC
1061 const juint badMetaWordVal = 0xBAADFADE; // value used to zap metadata heap after GC
1062 const int badCodeHeapNewVal= 0xCC; // value used to zap Code heap at allocation
1063 const int badCodeHeapFreeVal = 0xDD; // value used to zap Code heap at deallocation
1064
1065
1066 // (These must be implemented as #defines because C++ compilers are
1067 // not obligated to inline non-integral constants!)
1068 #define badAddress ((address)::badAddressVal)
1069 #define badOop (cast_to_oop(::badOopVal))
1070 #define badHeapWord (::badHeapWordVal)
1071 #define badJNIHandle (cast_to_oop(::badJNIHandleVal))
1072
1073 // Default TaskQueue size is 16K (32-bit) or 128K (64-bit)
1074 #define TASKQUEUE_SIZE (NOT_LP64(1<<14) LP64_ONLY(1<<17))
1075
1076 //----------------------------------------------------------------------------------------------------
1077 // Utility functions for bitfield manipulations
1078
|
1039 class JavaValue;
1040 class methodHandle;
1041 class JavaCallArguments;
1042
1043 // Basic support for errors (general debug facilities not defined at this point fo the include phase)
1044
1045 extern void basic_fatal(const char* msg);
1046
1047
1048 //----------------------------------------------------------------------------------------------------
1049 // Special constants for debugging
1050
1051 const jint badInt = -3; // generic "bad int" value
1052 const long badAddressVal = -2; // generic "bad address" value
1053 const long badOopVal = -1; // generic "bad oop" value
1054 const intptr_t badHeapOopVal = (intptr_t) CONST64(0x2BAD4B0BBAADBABE); // value used to zap heap after GC
1055 const int badHandleValue = 0xBC; // value used to zap vm handle area
1056 const int badResourceValue = 0xAB; // value used to zap resource area
1057 const int freeBlockPad = 0xBA; // value used to pad freed blocks.
1058 const int uninitBlockPad = 0xF1; // value used to zap newly malloc'd blocks.
1059 const juint uninitMetaWordVal= 0xf7f7f7f7; // value used to zap newly allocated metachunk
1060 const intptr_t badJNIHandleVal = (intptr_t) UCONST64(0xFEFEFEFEFEFEFEFE); // value used to zap jni handle area
1061 const juint badHeapWordVal = 0xBAADBABE; // value used to zap heap after GC
1062 const juint badMetaWordVal = 0xBAADFADE; // value used to zap metadata heap after GC
1063 const int badCodeHeapNewVal= 0xCC; // value used to zap Code heap at allocation
1064 const int badCodeHeapFreeVal = 0xDD; // value used to zap Code heap at deallocation
1065
1066
1067 // (These must be implemented as #defines because C++ compilers are
1068 // not obligated to inline non-integral constants!)
1069 #define badAddress ((address)::badAddressVal)
1070 #define badOop (cast_to_oop(::badOopVal))
1071 #define badHeapWord (::badHeapWordVal)
1072 #define badJNIHandle (cast_to_oop(::badJNIHandleVal))
1073
1074 // Default TaskQueue size is 16K (32-bit) or 128K (64-bit)
1075 #define TASKQUEUE_SIZE (NOT_LP64(1<<14) LP64_ONLY(1<<17))
1076
1077 //----------------------------------------------------------------------------------------------------
1078 // Utility functions for bitfield manipulations
1079
|