183 static char* os_uarch_additional_features();
184 static void vendor_features();
185 // Vendors specific features
186 static void rivos_features();
187
188 // Determine vector length iff ext_V/UseRVV
189 static uint32_t cpu_vector_length();
190 static uint32_t _initial_vector_length;
191
192 #ifdef COMPILER2
193 static void c2_initialize();
194 #endif // COMPILER2
195
196 public:
197 // Initialization
198 static void initialize();
199 static void initialize_cpu_information();
200
201 constexpr static bool supports_stack_watermark_barrier() { return true; }
202
203 static bool supports_on_spin_wait() { return UseZihintpause; }
204
205 // RISCV64 supports fast class initialization checks
206 static bool supports_fast_class_init_checks() { return true; }
207 };
208
209 #endif // CPU_RISCV_VM_VERSION_RISCV_HPP
|
183 static char* os_uarch_additional_features();
184 static void vendor_features();
185 // Vendors specific features
186 static void rivos_features();
187
188 // Determine vector length iff ext_V/UseRVV
189 static uint32_t cpu_vector_length();
190 static uint32_t _initial_vector_length;
191
192 #ifdef COMPILER2
193 static void c2_initialize();
194 #endif // COMPILER2
195
196 public:
197 // Initialization
198 static void initialize();
199 static void initialize_cpu_information();
200
201 constexpr static bool supports_stack_watermark_barrier() { return true; }
202
203 constexpr static bool supports_recursive_lightweight_locking() { return true; }
204
205 static bool supports_on_spin_wait() { return UseZihintpause; }
206
207 // RISCV64 supports fast class initialization checks
208 static bool supports_fast_class_init_checks() { return true; }
209 };
210
211 #endif // CPU_RISCV_VM_VERSION_RISCV_HPP
|