169
170 // NOTE: do *not* use stringStream. this function is called by
171 // fatal error handlers. if the crash is in native thread,
172 // stringStream cannot get resource allocated and will SEGV.
173 const char* Abstract_VM_Version::jre_release_version() {
174 return JRE_RELEASE_VERSION;
175 }
176
177 #define OS LINUX_ONLY("linux") \
178 WINDOWS_ONLY("windows") \
179 SOLARIS_ONLY("solaris") \
180 BSD_ONLY("bsd")
181
182 #ifdef ZERO
183 #define CPU ZERO_LIBARCH
184 #else
185 #define CPU IA32_ONLY("x86") \
186 IA64_ONLY("ia64") \
187 AMD64_ONLY("amd64") \
188 ARM_ONLY("arm") \
189 PPC_ONLY("ppc") \
190 SPARC_ONLY("sparc")
191 #endif // ZERO
192
193 const char *Abstract_VM_Version::vm_platform_string() {
194 return OS "-" CPU;
195 }
196
197 const char* Abstract_VM_Version::internal_vm_info_string() {
198 #ifndef HOTSPOT_BUILD_USER
199 #define HOTSPOT_BUILD_USER unknown
200 #endif
201
202 #ifndef HOTSPOT_BUILD_COMPILER
203 #ifdef _MSC_VER
204 #if _MSC_VER == 1100
205 #define HOTSPOT_BUILD_COMPILER "MS VC++ 5.0"
206 #elif _MSC_VER == 1200
207 #define HOTSPOT_BUILD_COMPILER "MS VC++ 6.0"
208 #elif _MSC_VER == 1310
209 #define HOTSPOT_BUILD_COMPILER "MS VC++ 7.1 (VS2003)"
231 #define HOTSPOT_BUILD_COMPILER "Workshop 5.9"
232 #elif __SUNPRO_CC == 0x5100
233 #define HOTSPOT_BUILD_COMPILER "Sun Studio 12u1"
234 #else
235 #define HOTSPOT_BUILD_COMPILER "unknown Workshop:" XSTR(__SUNPRO_CC)
236 #endif
237 #elif defined(__GNUC__)
238 #define HOTSPOT_BUILD_COMPILER "gcc " __VERSION__
239 #else
240 #define HOTSPOT_BUILD_COMPILER "unknown compiler"
241 #endif
242 #endif
243
244 #ifndef FLOAT_ARCH
245 #if defined(__SOFTFP__)
246 #define FLOAT_ARCH_STR "-sflt"
247 #elif defined(E500V2)
248 #define FLOAT_ARCH_STR "-e500v2"
249 #elif defined(ARM)
250 #define FLOAT_ARCH_STR "-vfp"
251 #elif defined(PPC)
252 #define FLOAT_ARCH_STR "-hflt"
253 #else
254 #define FLOAT_ARCH_STR ""
255 #endif
256 #else
257 #define FLOAT_ARCH_STR XSTR(FLOAT_ARCH)
258 #endif
259
260 return VMNAME " (" VM_RELEASE ") for " OS "-" CPU FLOAT_ARCH_STR
261 " JRE (" JRE_RELEASE_VERSION "), built on " __DATE__ " " __TIME__
262 " by " XSTR(HOTSPOT_BUILD_USER) " with " HOTSPOT_BUILD_COMPILER;
263 }
264
265 const char *Abstract_VM_Version::vm_build_user() {
266 return HOTSPOT_BUILD_USER;
267 }
268
269 unsigned int Abstract_VM_Version::jvm_version() {
270 return ((Abstract_VM_Version::vm_major_version() & 0xFF) << 24) |
271 ((Abstract_VM_Version::vm_minor_version() & 0xFF) << 16) |
|
169
170 // NOTE: do *not* use stringStream. this function is called by
171 // fatal error handlers. if the crash is in native thread,
172 // stringStream cannot get resource allocated and will SEGV.
173 const char* Abstract_VM_Version::jre_release_version() {
174 return JRE_RELEASE_VERSION;
175 }
176
177 #define OS LINUX_ONLY("linux") \
178 WINDOWS_ONLY("windows") \
179 SOLARIS_ONLY("solaris") \
180 BSD_ONLY("bsd")
181
182 #ifdef ZERO
183 #define CPU ZERO_LIBARCH
184 #else
185 #define CPU IA32_ONLY("x86") \
186 IA64_ONLY("ia64") \
187 AMD64_ONLY("amd64") \
188 ARM_ONLY("arm") \
189 PPC32_ONLY("ppc") \
190 SPARC_ONLY("sparc")
191 #endif // ZERO
192
193 const char *Abstract_VM_Version::vm_platform_string() {
194 return OS "-" CPU;
195 }
196
197 const char* Abstract_VM_Version::internal_vm_info_string() {
198 #ifndef HOTSPOT_BUILD_USER
199 #define HOTSPOT_BUILD_USER unknown
200 #endif
201
202 #ifndef HOTSPOT_BUILD_COMPILER
203 #ifdef _MSC_VER
204 #if _MSC_VER == 1100
205 #define HOTSPOT_BUILD_COMPILER "MS VC++ 5.0"
206 #elif _MSC_VER == 1200
207 #define HOTSPOT_BUILD_COMPILER "MS VC++ 6.0"
208 #elif _MSC_VER == 1310
209 #define HOTSPOT_BUILD_COMPILER "MS VC++ 7.1 (VS2003)"
231 #define HOTSPOT_BUILD_COMPILER "Workshop 5.9"
232 #elif __SUNPRO_CC == 0x5100
233 #define HOTSPOT_BUILD_COMPILER "Sun Studio 12u1"
234 #else
235 #define HOTSPOT_BUILD_COMPILER "unknown Workshop:" XSTR(__SUNPRO_CC)
236 #endif
237 #elif defined(__GNUC__)
238 #define HOTSPOT_BUILD_COMPILER "gcc " __VERSION__
239 #else
240 #define HOTSPOT_BUILD_COMPILER "unknown compiler"
241 #endif
242 #endif
243
244 #ifndef FLOAT_ARCH
245 #if defined(__SOFTFP__)
246 #define FLOAT_ARCH_STR "-sflt"
247 #elif defined(E500V2)
248 #define FLOAT_ARCH_STR "-e500v2"
249 #elif defined(ARM)
250 #define FLOAT_ARCH_STR "-vfp"
251 #elif defined(PPC32)
252 #define FLOAT_ARCH_STR "-hflt"
253 #else
254 #define FLOAT_ARCH_STR ""
255 #endif
256 #else
257 #define FLOAT_ARCH_STR XSTR(FLOAT_ARCH)
258 #endif
259
260 return VMNAME " (" VM_RELEASE ") for " OS "-" CPU FLOAT_ARCH_STR
261 " JRE (" JRE_RELEASE_VERSION "), built on " __DATE__ " " __TIME__
262 " by " XSTR(HOTSPOT_BUILD_USER) " with " HOTSPOT_BUILD_COMPILER;
263 }
264
265 const char *Abstract_VM_Version::vm_build_user() {
266 return HOTSPOT_BUILD_USER;
267 }
268
269 unsigned int Abstract_VM_Version::jvm_version() {
270 return ((Abstract_VM_Version::vm_major_version() & 0xFF) << 24) |
271 ((Abstract_VM_Version::vm_minor_version() & 0xFF) << 16) |
|