3255 // is referenced by megamorphic call
3256 StubRoutines::_catch_exception_entry = generate_catch_exception();
3257
3258 // These are currently used by Solaris/Intel
3259 StubRoutines::_atomic_xchg_entry = generate_atomic_xchg();
3260
3261 StubRoutines::_handler_for_unsafe_access_entry =
3262 generate_handler_for_unsafe_access();
3263
3264 // platform dependent
3265 create_control_words();
3266
3267 StubRoutines::x86::_verify_mxcsr_entry = generate_verify_mxcsr();
3268 StubRoutines::x86::_verify_fpu_cntrl_wrd_entry = generate_verify_fpu_cntrl_wrd();
3269 StubRoutines::_d2i_wrapper = generate_d2i_wrapper(T_INT,
3270 CAST_FROM_FN_PTR(address, SharedRuntime::d2i));
3271 StubRoutines::_d2l_wrapper = generate_d2i_wrapper(T_LONG,
3272 CAST_FROM_FN_PTR(address, SharedRuntime::d2l));
3273
3274 // Build this early so it's available for the interpreter
3275 StubRoutines::_throw_StackOverflowError_entry = generate_throw_exception("StackOverflowError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError));
3276
3277 if (UseCRC32Intrinsics) {
3278 // set table address before stub generation which use it
3279 StubRoutines::_crc_table_adr = (address)StubRoutines::x86::_crc_table;
3280 StubRoutines::_updateBytesCRC32 = generate_updateBytesCRC32();
3281 }
3282
3283 if (UseCRC32CIntrinsics) {
3284 bool supports_clmul = VM_Version::supports_clmul();
3285 StubRoutines::x86::generate_CRC32C_table(supports_clmul);
3286 StubRoutines::_crc32c_table_addr = (address)StubRoutines::x86::_crc32c_table;
3287 StubRoutines::_updateBytesCRC32C = generate_updateBytesCRC32C(supports_clmul);
3288 }
3289 if (VM_Version::supports_sse2()) {
3290 StubRoutines::_dexp = generate_libmExp();
3291 }
3292 }
3293
3294
3295 void generate_all() {
|
3255 // is referenced by megamorphic call
3256 StubRoutines::_catch_exception_entry = generate_catch_exception();
3257
3258 // These are currently used by Solaris/Intel
3259 StubRoutines::_atomic_xchg_entry = generate_atomic_xchg();
3260
3261 StubRoutines::_handler_for_unsafe_access_entry =
3262 generate_handler_for_unsafe_access();
3263
3264 // platform dependent
3265 create_control_words();
3266
3267 StubRoutines::x86::_verify_mxcsr_entry = generate_verify_mxcsr();
3268 StubRoutines::x86::_verify_fpu_cntrl_wrd_entry = generate_verify_fpu_cntrl_wrd();
3269 StubRoutines::_d2i_wrapper = generate_d2i_wrapper(T_INT,
3270 CAST_FROM_FN_PTR(address, SharedRuntime::d2i));
3271 StubRoutines::_d2l_wrapper = generate_d2i_wrapper(T_LONG,
3272 CAST_FROM_FN_PTR(address, SharedRuntime::d2l));
3273
3274 // Build this early so it's available for the interpreter
3275 StubRoutines::_throw_StackOverflowError_entry = generate_throw_exception("StackOverflowError throw_exception",
3276 CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError));
3277 StubRoutines::_throw_delayed_StackOverflowError_entry = generate_throw_exception("delayed StackOverflowError throw_exception",
3278 CAST_FROM_FN_PTR(address, SharedRuntime::throw_delayed_StackOverflowError));
3279
3280 if (UseCRC32Intrinsics) {
3281 // set table address before stub generation which use it
3282 StubRoutines::_crc_table_adr = (address)StubRoutines::x86::_crc_table;
3283 StubRoutines::_updateBytesCRC32 = generate_updateBytesCRC32();
3284 }
3285
3286 if (UseCRC32CIntrinsics) {
3287 bool supports_clmul = VM_Version::supports_clmul();
3288 StubRoutines::x86::generate_CRC32C_table(supports_clmul);
3289 StubRoutines::_crc32c_table_addr = (address)StubRoutines::x86::_crc32c_table;
3290 StubRoutines::_updateBytesCRC32C = generate_updateBytesCRC32C(supports_clmul);
3291 }
3292 if (VM_Version::supports_sse2()) {
3293 StubRoutines::_dexp = generate_libmExp();
3294 }
3295 }
3296
3297
3298 void generate_all() {
|