diff -r 23e3ab980622 -r 9b7b9f16dfd9 src/hotspot/share/classfile/javaClasses.cpp --- a/src/hotspot/share/classfile/javaClasses.cpp Tue Aug 20 10:46:23 2019 +0200 +++ b/src/hotspot/share/classfile/javaClasses.cpp Tue Aug 20 10:11:53 2019 +0100 @@ -64,6 +64,7 @@ #include "runtime/safepointVerifiers.hpp" #include "runtime/thread.inline.hpp" #include "runtime/vframe.inline.hpp" +#include "runtime/vm_version.hpp" #include "utilities/align.hpp" #include "utilities/preserveException.hpp" #include "utilities/utf8.hpp" @@ -4034,6 +4035,7 @@ int _page_size; bool _big_endian; bool _use_unaligned_access; + int _data_cache_line_flush_size; public: UnsafeConstantsFixup() { // round up values for all static final fields @@ -4041,6 +4043,7 @@ _page_size = os::vm_page_size(); _big_endian = LITTLE_ENDIAN_ONLY(false) BIG_ENDIAN_ONLY(true); _use_unaligned_access = UseUnalignedAccesses; + _data_cache_line_flush_size = (int)VM_Version::data_cache_line_flush_size(); } void do_field(fieldDescriptor* fd) { @@ -4057,6 +4060,8 @@ mirror->bool_field_put(fd->offset(), _big_endian); } else if (fd->name() == vmSymbols::use_unaligned_access_name()) { mirror->bool_field_put(fd->offset(), _use_unaligned_access); + } else if (fd->name() == vmSymbols::data_cache_line_flush_size_name()) { + mirror->int_field_put(fd->offset(), _data_cache_line_flush_size); } else { assert(false, "unexpected UnsafeConstants field"); }