< prev index next >

src/hotspot/cpu/aarch64/vm_version_aarch64.hpp

Print this page
*** 63,17 ***
    // 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() {
    }
--- 63,17 ---
    // 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() {
    }

*** 168,10 ***
--- 168,13 ---
      _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; }

*** 219,8 ***
--- 222,20 ---
    // 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 >