811 case vmIntrinsics::_dilithiumNttMult:
812 case vmIntrinsics::_dilithiumMontMulByConstant:
813 case vmIntrinsics::_dilithiumDecomposePoly:
814 case vmIntrinsics::_base64_encodeBlock:
815 case vmIntrinsics::_base64_decodeBlock:
816 case vmIntrinsics::_poly1305_processBlocks:
817 case vmIntrinsics::_intpoly_montgomeryMult_P256:
818 case vmIntrinsics::_intpoly_assign:
819 case vmIntrinsics::_updateCRC32:
820 case vmIntrinsics::_updateBytesCRC32:
821 case vmIntrinsics::_updateByteBufferCRC32:
822 case vmIntrinsics::_updateBytesCRC32C:
823 case vmIntrinsics::_updateDirectByteBufferCRC32C:
824 case vmIntrinsics::_updateBytesAdler32:
825 case vmIntrinsics::_updateByteBufferAdler32:
826 case vmIntrinsics::_profileBoolean:
827 case vmIntrinsics::_isCompileConstant:
828 case vmIntrinsics::_Preconditions_checkIndex:
829 case vmIntrinsics::_Preconditions_checkLongIndex:
830 case vmIntrinsics::_getObjectSize:
831 break;
832 case vmIntrinsics::_VectorCompressExpand:
833 case vmIntrinsics::_VectorUnaryOp:
834 case vmIntrinsics::_VectorBinaryOp:
835 case vmIntrinsics::_VectorTernaryOp:
836 case vmIntrinsics::_VectorFromBitsCoerced:
837 case vmIntrinsics::_VectorLoadOp:
838 case vmIntrinsics::_VectorLoadMaskedOp:
839 case vmIntrinsics::_VectorStoreOp:
840 case vmIntrinsics::_VectorStoreMaskedOp:
841 case vmIntrinsics::_VectorSelectFromTwoVectorOp:
842 case vmIntrinsics::_VectorGatherOp:
843 case vmIntrinsics::_VectorScatterOp:
844 case vmIntrinsics::_VectorReductionCoerced:
845 case vmIntrinsics::_VectorTest:
846 case vmIntrinsics::_VectorBlend:
847 case vmIntrinsics::_VectorRearrange:
848 case vmIntrinsics::_VectorSelectFrom:
849 case vmIntrinsics::_VectorCompare:
850 case vmIntrinsics::_VectorBroadcastInt:
851 case vmIntrinsics::_VectorConvert:
852 case vmIntrinsics::_VectorInsert:
853 case vmIntrinsics::_VectorExtract:
854 case vmIntrinsics::_VectorMaskOp:
855 case vmIntrinsics::_IndexVector:
856 case vmIntrinsics::_IndexPartiallyInUpperRange:
857 return EnableVectorSupport;
858 case vmIntrinsics::_VectorUnaryLibOp:
859 case vmIntrinsics::_VectorBinaryLibOp:
860 return EnableVectorSupport && Matcher::supports_vector_calling_convention();
861 case vmIntrinsics::_blackhole:
862 #if INCLUDE_JVMTI
863 case vmIntrinsics::_notifyJvmtiVThreadStart:
864 case vmIntrinsics::_notifyJvmtiVThreadEnd:
865 case vmIntrinsics::_notifyJvmtiVThreadMount:
866 case vmIntrinsics::_notifyJvmtiVThreadUnmount:
867 case vmIntrinsics::_notifyJvmtiVThreadDisableSuspend:
868 #endif
869 break;
870
871 default:
872 return false;
873 }
874 return true;
875 }
876
877 int C2Compiler::initial_code_buffer_size(int const_size) {
878 // See Compile::init_scratch_buffer_blob
879 int locs_size = sizeof(relocInfo) * PhaseOutput::MAX_locs_size;
880 int slop = 2 * CodeSection::end_slop(); // space between sections
881 return PhaseOutput::MAX_inst_size + PhaseOutput::MAX_stubs_size + const_size + slop + locs_size;
882 }
|
811 case vmIntrinsics::_dilithiumNttMult:
812 case vmIntrinsics::_dilithiumMontMulByConstant:
813 case vmIntrinsics::_dilithiumDecomposePoly:
814 case vmIntrinsics::_base64_encodeBlock:
815 case vmIntrinsics::_base64_decodeBlock:
816 case vmIntrinsics::_poly1305_processBlocks:
817 case vmIntrinsics::_intpoly_montgomeryMult_P256:
818 case vmIntrinsics::_intpoly_assign:
819 case vmIntrinsics::_updateCRC32:
820 case vmIntrinsics::_updateBytesCRC32:
821 case vmIntrinsics::_updateByteBufferCRC32:
822 case vmIntrinsics::_updateBytesCRC32C:
823 case vmIntrinsics::_updateDirectByteBufferCRC32C:
824 case vmIntrinsics::_updateBytesAdler32:
825 case vmIntrinsics::_updateByteBufferAdler32:
826 case vmIntrinsics::_profileBoolean:
827 case vmIntrinsics::_isCompileConstant:
828 case vmIntrinsics::_Preconditions_checkIndex:
829 case vmIntrinsics::_Preconditions_checkLongIndex:
830 case vmIntrinsics::_getObjectSize:
831 case vmIntrinsics::_shipilev_magic_sizeOf:
832 case vmIntrinsics::_shipilev_magic_addressOf:
833 break;
834 case vmIntrinsics::_VectorCompressExpand:
835 case vmIntrinsics::_VectorUnaryOp:
836 case vmIntrinsics::_VectorBinaryOp:
837 case vmIntrinsics::_VectorTernaryOp:
838 case vmIntrinsics::_VectorFromBitsCoerced:
839 case vmIntrinsics::_VectorLoadOp:
840 case vmIntrinsics::_VectorLoadMaskedOp:
841 case vmIntrinsics::_VectorStoreOp:
842 case vmIntrinsics::_VectorStoreMaskedOp:
843 case vmIntrinsics::_VectorSelectFromTwoVectorOp:
844 case vmIntrinsics::_VectorGatherOp:
845 case vmIntrinsics::_VectorScatterOp:
846 case vmIntrinsics::_VectorReductionCoerced:
847 case vmIntrinsics::_VectorTest:
848 case vmIntrinsics::_VectorBlend:
849 case vmIntrinsics::_VectorRearrange:
850 case vmIntrinsics::_VectorSelectFrom:
851 case vmIntrinsics::_VectorCompare:
852 case vmIntrinsics::_VectorBroadcastInt:
853 case vmIntrinsics::_VectorConvert:
854 case vmIntrinsics::_VectorInsert:
855 case vmIntrinsics::_VectorExtract:
856 case vmIntrinsics::_VectorMaskOp:
857 case vmIntrinsics::_IndexVector:
858 case vmIntrinsics::_IndexPartiallyInUpperRange:
859 return EnableVectorSupport;
860 case vmIntrinsics::_VectorUnaryLibOp:
861 case vmIntrinsics::_VectorBinaryLibOp:
862 return EnableVectorSupport && Matcher::supports_vector_calling_convention();
863 case vmIntrinsics::_blackhole:
864 #if INCLUDE_JVMTI
865 case vmIntrinsics::_notifyJvmtiVThreadStart:
866 case vmIntrinsics::_notifyJvmtiVThreadEnd:
867 case vmIntrinsics::_notifyJvmtiVThreadMount:
868 case vmIntrinsics::_notifyJvmtiVThreadUnmount:
869 case vmIntrinsics::_notifyJvmtiVThreadDisableSuspend:
870 #endif
871 break;
872 case vmIntrinsics::_shipilev_magic_timestamp:
873 return Matcher::match_rule_supported(Op_Timestamp);
874 case vmIntrinsics::_shipilev_magic_timestamp_serial:
875 return Matcher::match_rule_supported(Op_TimestampSerial);
876 default:
877 return false;
878 }
879 return true;
880 }
881
882 int C2Compiler::initial_code_buffer_size(int const_size) {
883 // See Compile::init_scratch_buffer_blob
884 int locs_size = sizeof(relocInfo) * PhaseOutput::MAX_locs_size;
885 int slop = 2 * CodeSection::end_slop(); // space between sections
886 return PhaseOutput::MAX_inst_size + PhaseOutput::MAX_stubs_size + const_size + slop + locs_size;
887 }
|