Mercurial > hg > graal-jvmci-8
changeset 24227:b5a90e4a6c26 jvmci-0.34
make internal_vm_info_string() consistent with java.vm.version
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Fri, 25 Aug 2017 14:25:06 +0200 |
parents | abc19eb35547 |
children | 5069d3bf9011 |
files | src/share/vm/runtime/vm_version.cpp src/share/vm/runtime/vm_version.hpp |
diffstat | 2 files changed, 23 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/runtime/vm_version.cpp Thu Aug 24 22:20:40 2017 +0200 +++ b/src/share/vm/runtime/vm_version.cpp Fri Aug 25 14:25:06 2017 +0200 @@ -46,7 +46,7 @@ const char* Abstract_VM_Version::_s_vm_name = NULL; int Abstract_VM_Version::_vm_properties_initialized_from_file = Abstract_VM_Version::init_vm_properties(Abstract_VM_Version::_s_vm_name, Abstract_VM_Version::_s_vm_release); -const char* Abstract_VM_Version::_s_internal_vm_info_string = Abstract_VM_Version::internal_vm_info_string(); +const char* Abstract_VM_Version::_s_internal_vm_info_string = Abstract_VM_Version::init_internal_vm_info_string(); bool Abstract_VM_Version::_supports_cx8 = false; bool Abstract_VM_Version::_supports_atomic_getset4 = false; bool Abstract_VM_Version::_supports_atomic_getset8 = false; @@ -297,7 +297,7 @@ return OS "-" CPU; } -const char* Abstract_VM_Version::internal_vm_info_string() { +const char* Abstract_VM_Version::init_internal_vm_info_string() { #ifndef HOTSPOT_BUILD_USER #define HOTSPOT_BUILD_USER unknown #endif @@ -359,9 +359,25 @@ #define FLOAT_ARCH_STR XSTR(FLOAT_ARCH) #endif - return VMNAME " (" VM_RELEASE ") for " OS "-" CPU FLOAT_ARCH_STR - " JRE (" JRE_RELEASE_VERSION "), built on " __DATE__ " " __TIME__ - " by " XSTR(HOTSPOT_BUILD_USER) " with " HOTSPOT_BUILD_COMPILER; + +#define VM_INTERNAL_INFO_FORMAT(name, release) \ + name " (" release ") for " OS "-" CPU FLOAT_ARCH_STR \ + " JRE (" JRE_RELEASE_VERSION "), built on " __DATE__ " " __TIME__ \ + " by " XSTR(HOTSPOT_BUILD_USER) " with " HOTSPOT_BUILD_COMPILER + + if (_s_vm_name != VMNAME || _s_vm_release != VM_RELEASE) { + int len = strlen(VM_INTERNAL_INFO_FORMAT(VMNAME, VM_RELEASE)) - strlen(VMNAME VM_RELEASE) + + strlen(_s_vm_name) + strlen(_s_vm_release); + char* buffer = NEW_C_HEAP_ARRAY(char, len + 1, mtInternal); + sprintf(buffer, VM_INTERNAL_INFO_FORMAT("%s", "%s"), _s_vm_name, _s_vm_release); + return buffer; + } + return VM_INTERNAL_INFO_FORMAT(VMNAME, VM_RELEASE); +#undef VM_INTERNAL_INFO_FORMAT +} + +const char* Abstract_VM_Version::internal_vm_info_string() { + return _s_internal_vm_info_string; } const char *Abstract_VM_Version::vm_build_user() {
--- a/src/share/vm/runtime/vm_version.hpp Thu Aug 24 22:20:40 2017 +0200 +++ b/src/share/vm/runtime/vm_version.hpp Fri Aug 25 14:25:06 2017 +0200 @@ -62,6 +62,8 @@ // @param version returns the value of the "version" property // @return number of properties initialized from the file static int init_vm_properties(const char*& name, const char*& version); + + static const char* init_internal_vm_info_string(); public: // Called as part of the runtime services initialization which is // called from the management module initialization (via init_globals())