--- 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");
}