< prev index next >

src/cpu/x86/vm/stubGenerator_x86_32.cpp

Print this page




3840                                                                                    CAST_FROM_FN_PTR(address, SharedRuntime::d2l));
3841 
3842     // Build this early so it's available for the interpreter
3843     StubRoutines::_throw_StackOverflowError_entry          = generate_throw_exception("StackOverflowError throw_exception",
3844                                                                                       CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError));
3845     StubRoutines::_throw_delayed_StackOverflowError_entry  = generate_throw_exception("delayed StackOverflowError throw_exception",
3846                                                                                       CAST_FROM_FN_PTR(address, SharedRuntime::throw_delayed_StackOverflowError));
3847 
3848     if (UseCRC32Intrinsics) {
3849       // set table address before stub generation which use it
3850       StubRoutines::_crc_table_adr = (address)StubRoutines::x86::_crc_table;
3851       StubRoutines::_updateBytesCRC32 = generate_updateBytesCRC32();
3852     }
3853 
3854     if (UseCRC32CIntrinsics) {
3855       bool supports_clmul = VM_Version::supports_clmul();
3856       StubRoutines::x86::generate_CRC32C_table(supports_clmul);
3857       StubRoutines::_crc32c_table_addr = (address)StubRoutines::x86::_crc32c_table;
3858       StubRoutines::_updateBytesCRC32C = generate_updateBytesCRC32C(supports_clmul);
3859     }
3860     if (VM_Version::supports_sse2() && UseLibmIntrinsic) {
3861       if (vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dsin) ||
3862           vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dcos) ||
3863           vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dtan)) {
3864         StubRoutines::x86::_L_2il0floatpacket_0_adr = (address)StubRoutines::x86::_L_2il0floatpacket_0;
3865         StubRoutines::x86::_Pi4Inv_adr = (address)StubRoutines::x86::_Pi4Inv;
3866         StubRoutines::x86::_Pi4x3_adr = (address)StubRoutines::x86::_Pi4x3;
3867         StubRoutines::x86::_Pi4x4_adr = (address)StubRoutines::x86::_Pi4x4;
3868         StubRoutines::x86::_ones_adr = (address)StubRoutines::x86::_ones;
3869       }
3870       if (vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dexp)) {
3871         StubRoutines::_dexp = generate_libmExp();
3872       }
3873       if (vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dlog)) {
3874         StubRoutines::_dlog = generate_libmLog();
3875       }
3876       if (vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dlog10)) {
3877         StubRoutines::_dlog10 = generate_libmLog10();
3878       }
3879       if (vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dpow)) {
3880         StubRoutines::_dpow = generate_libmPow();




3840                                                                                    CAST_FROM_FN_PTR(address, SharedRuntime::d2l));
3841 
3842     // Build this early so it's available for the interpreter
3843     StubRoutines::_throw_StackOverflowError_entry          = generate_throw_exception("StackOverflowError throw_exception",
3844                                                                                       CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError));
3845     StubRoutines::_throw_delayed_StackOverflowError_entry  = generate_throw_exception("delayed StackOverflowError throw_exception",
3846                                                                                       CAST_FROM_FN_PTR(address, SharedRuntime::throw_delayed_StackOverflowError));
3847 
3848     if (UseCRC32Intrinsics) {
3849       // set table address before stub generation which use it
3850       StubRoutines::_crc_table_adr = (address)StubRoutines::x86::_crc_table;
3851       StubRoutines::_updateBytesCRC32 = generate_updateBytesCRC32();
3852     }
3853 
3854     if (UseCRC32CIntrinsics) {
3855       bool supports_clmul = VM_Version::supports_clmul();
3856       StubRoutines::x86::generate_CRC32C_table(supports_clmul);
3857       StubRoutines::_crc32c_table_addr = (address)StubRoutines::x86::_crc32c_table;
3858       StubRoutines::_updateBytesCRC32C = generate_updateBytesCRC32C(supports_clmul);
3859     }
3860     if (VM_Version::supports_sse2() && UseLibmIntrinsic && InlineIntrinsics) {
3861       if (vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dsin) ||
3862           vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dcos) ||
3863           vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dtan)) {
3864         StubRoutines::x86::_L_2il0floatpacket_0_adr = (address)StubRoutines::x86::_L_2il0floatpacket_0;
3865         StubRoutines::x86::_Pi4Inv_adr = (address)StubRoutines::x86::_Pi4Inv;
3866         StubRoutines::x86::_Pi4x3_adr = (address)StubRoutines::x86::_Pi4x3;
3867         StubRoutines::x86::_Pi4x4_adr = (address)StubRoutines::x86::_Pi4x4;
3868         StubRoutines::x86::_ones_adr = (address)StubRoutines::x86::_ones;
3869       }
3870       if (vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dexp)) {
3871         StubRoutines::_dexp = generate_libmExp();
3872       }
3873       if (vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dlog)) {
3874         StubRoutines::_dlog = generate_libmLog();
3875       }
3876       if (vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dlog10)) {
3877         StubRoutines::_dlog10 = generate_libmLog10();
3878       }
3879       if (vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dpow)) {
3880         StubRoutines::_dpow = generate_libmPow();


< prev index next >