< prev index next >

src/cpu/x86/vm/stubGenerator_x86_64.cpp

Print this page




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();


< prev index next >