< prev index next > src/hotspot/cpu/aarch64/vm_version_aarch64.hpp
Print this page
// If the len is larger than the system largest supported SVE vector length,
// the function sets the largest supported value.
static int set_and_get_current_sve_vector_length(int len);
static int get_current_sve_vector_length();
public:
// Initialization
static void initialize();
static void check_virtualizations();
- static void insert_features_names(uint64_t features, stringStream& ss);
-
static void print_platform_virtualization_info(outputStream*);
// Asserts
static void assert_is_initialized() {
}
// If the len is larger than the system largest supported SVE vector length,
// the function sets the largest supported value.
static int set_and_get_current_sve_vector_length(int len);
static int get_current_sve_vector_length();
+ static void insert_features_names(uint64_t features, stringStream& ss);
+
public:
// Initialization
static void initialize();
static void check_virtualizations();
static void print_platform_virtualization_info(outputStream*);
// Asserts
static void assert_is_initialized() {
}
_features &= (~BIT_MASK(flag));
}
static bool supports_feature(Feature_Flag flag) {
return (_features & BIT_MASK(flag)) != 0;
}
+ static bool supports_feature(uint64_t features, Feature_Flag flag) {
+ return (features & BIT_MASK(flag)) != 0;
+ }
static int cpu_family() { return _cpu; }
static int cpu_model() { return _model; }
static int cpu_model2() { return _model2; }
static int cpu_variant() { return _variant; }
// For common 64/128-bit unpredicated vector operations, we may prefer
// emitting NEON instructions rather than the corresponding SVE instructions.
static bool use_neon_for_vector(int vector_length_in_bytes) {
return vector_length_in_bytes <= 16;
}
+
+ static void get_cpu_features_name(void* features_buffer, stringStream& ss);
+ static void get_missing_features_name(void* features_buffer, stringStream& ss);
+
+ // Returns number of bytes required to store cpu features representation
+ static int cpu_features_size();
+
+ // Stores cpu features representation in the provided buffer. This representation is arch dependent.
+ // Size of the buffer must be same as returned by cpu_features_size()
+ static void store_cpu_features(void* buf);
+
+ static bool supports_features(void* features_to_test);
};
#endif // CPU_AARCH64_VM_VERSION_AARCH64_HPP
< prev index next >