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