4948 CAST_FROM_FN_PTR(address,
4949 SharedRuntime::
4950 throw_StackOverflowError));
4951 StubRoutines::_throw_delayed_StackOverflowError_entry =
4952 generate_throw_exception("delayed StackOverflowError throw_exception",
4953 CAST_FROM_FN_PTR(address,
4954 SharedRuntime::
4955 throw_delayed_StackOverflowError));
4956 if (UseCRC32Intrinsics) {
4957 // set table address before stub generation which use it
4958 StubRoutines::_crc_table_adr = (address)StubRoutines::x86::_crc_table;
4959 StubRoutines::_updateBytesCRC32 = generate_updateBytesCRC32();
4960 }
4961
4962 if (UseCRC32CIntrinsics) {
4963 bool supports_clmul = VM_Version::supports_clmul();
4964 StubRoutines::x86::generate_CRC32C_table(supports_clmul);
4965 StubRoutines::_crc32c_table_addr = (address)StubRoutines::x86::_crc32c_table;
4966 StubRoutines::_updateBytesCRC32C = generate_updateBytesCRC32C(supports_clmul);
4967 }
4968 if (VM_Version::supports_sse2() && UseLibmIntrinsic) {
4969 if (vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dsin) ||
4970 vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dcos) ||
4971 vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dtan)) {
4972 StubRoutines::x86::_ONEHALF_adr = (address)StubRoutines::x86::_ONEHALF;
4973 StubRoutines::x86::_P_2_adr = (address)StubRoutines::x86::_P_2;
4974 StubRoutines::x86::_SC_4_adr = (address)StubRoutines::x86::_SC_4;
4975 StubRoutines::x86::_Ctable_adr = (address)StubRoutines::x86::_Ctable;
4976 StubRoutines::x86::_SC_2_adr = (address)StubRoutines::x86::_SC_2;
4977 StubRoutines::x86::_SC_3_adr = (address)StubRoutines::x86::_SC_3;
4978 StubRoutines::x86::_SC_1_adr = (address)StubRoutines::x86::_SC_1;
4979 StubRoutines::x86::_PI_INV_TABLE_adr = (address)StubRoutines::x86::_PI_INV_TABLE;
4980 StubRoutines::x86::_PI_4_adr = (address)StubRoutines::x86::_PI_4;
4981 StubRoutines::x86::_PI32INV_adr = (address)StubRoutines::x86::_PI32INV;
4982 StubRoutines::x86::_SIGN_MASK_adr = (address)StubRoutines::x86::_SIGN_MASK;
4983 StubRoutines::x86::_P_1_adr = (address)StubRoutines::x86::_P_1;
4984 StubRoutines::x86::_P_3_adr = (address)StubRoutines::x86::_P_3;
4985 StubRoutines::x86::_NEG_ZERO_adr = (address)StubRoutines::x86::_NEG_ZERO;
4986 }
4987 if (vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dexp)) {
4988 StubRoutines::_dexp = generate_libmExp();
|
4948 CAST_FROM_FN_PTR(address,
4949 SharedRuntime::
4950 throw_StackOverflowError));
4951 StubRoutines::_throw_delayed_StackOverflowError_entry =
4952 generate_throw_exception("delayed StackOverflowError throw_exception",
4953 CAST_FROM_FN_PTR(address,
4954 SharedRuntime::
4955 throw_delayed_StackOverflowError));
4956 if (UseCRC32Intrinsics) {
4957 // set table address before stub generation which use it
4958 StubRoutines::_crc_table_adr = (address)StubRoutines::x86::_crc_table;
4959 StubRoutines::_updateBytesCRC32 = generate_updateBytesCRC32();
4960 }
4961
4962 if (UseCRC32CIntrinsics) {
4963 bool supports_clmul = VM_Version::supports_clmul();
4964 StubRoutines::x86::generate_CRC32C_table(supports_clmul);
4965 StubRoutines::_crc32c_table_addr = (address)StubRoutines::x86::_crc32c_table;
4966 StubRoutines::_updateBytesCRC32C = generate_updateBytesCRC32C(supports_clmul);
4967 }
4968 if (VM_Version::supports_sse2() && UseLibmIntrinsic && InlineIntrinsics) {
4969 if (vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dsin) ||
4970 vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dcos) ||
4971 vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dtan)) {
4972 StubRoutines::x86::_ONEHALF_adr = (address)StubRoutines::x86::_ONEHALF;
4973 StubRoutines::x86::_P_2_adr = (address)StubRoutines::x86::_P_2;
4974 StubRoutines::x86::_SC_4_adr = (address)StubRoutines::x86::_SC_4;
4975 StubRoutines::x86::_Ctable_adr = (address)StubRoutines::x86::_Ctable;
4976 StubRoutines::x86::_SC_2_adr = (address)StubRoutines::x86::_SC_2;
4977 StubRoutines::x86::_SC_3_adr = (address)StubRoutines::x86::_SC_3;
4978 StubRoutines::x86::_SC_1_adr = (address)StubRoutines::x86::_SC_1;
4979 StubRoutines::x86::_PI_INV_TABLE_adr = (address)StubRoutines::x86::_PI_INV_TABLE;
4980 StubRoutines::x86::_PI_4_adr = (address)StubRoutines::x86::_PI_4;
4981 StubRoutines::x86::_PI32INV_adr = (address)StubRoutines::x86::_PI32INV;
4982 StubRoutines::x86::_SIGN_MASK_adr = (address)StubRoutines::x86::_SIGN_MASK;
4983 StubRoutines::x86::_P_1_adr = (address)StubRoutines::x86::_P_1;
4984 StubRoutines::x86::_P_3_adr = (address)StubRoutines::x86::_P_3;
4985 StubRoutines::x86::_NEG_ZERO_adr = (address)StubRoutines::x86::_NEG_ZERO;
4986 }
4987 if (vmIntrinsics::is_intrinsic_available(vmIntrinsics::_dexp)) {
4988 StubRoutines::_dexp = generate_libmExp();
|