771 case vmIntrinsics::_montgomeryMultiply:
772 case vmIntrinsics::_montgomerySquare:
773 case vmIntrinsics::_vectorizedMismatch:
774 case vmIntrinsics::_ghash_processBlocks:
775 case vmIntrinsics::_chacha20Block:
776 case vmIntrinsics::_base64_encodeBlock:
777 case vmIntrinsics::_base64_decodeBlock:
778 case vmIntrinsics::_poly1305_processBlocks:
779 case vmIntrinsics::_updateCRC32:
780 case vmIntrinsics::_updateBytesCRC32:
781 case vmIntrinsics::_updateByteBufferCRC32:
782 case vmIntrinsics::_updateBytesCRC32C:
783 case vmIntrinsics::_updateDirectByteBufferCRC32C:
784 case vmIntrinsics::_updateBytesAdler32:
785 case vmIntrinsics::_updateByteBufferAdler32:
786 case vmIntrinsics::_profileBoolean:
787 case vmIntrinsics::_isCompileConstant:
788 case vmIntrinsics::_Preconditions_checkIndex:
789 case vmIntrinsics::_Preconditions_checkLongIndex:
790 case vmIntrinsics::_getObjectSize:
791 break;
792 case vmIntrinsics::_VectorCompressExpand:
793 case vmIntrinsics::_VectorUnaryOp:
794 case vmIntrinsics::_VectorBinaryOp:
795 case vmIntrinsics::_VectorTernaryOp:
796 case vmIntrinsics::_VectorFromBitsCoerced:
797 case vmIntrinsics::_VectorShuffleIota:
798 case vmIntrinsics::_VectorShuffleToVector:
799 case vmIntrinsics::_VectorLoadOp:
800 case vmIntrinsics::_VectorLoadMaskedOp:
801 case vmIntrinsics::_VectorStoreOp:
802 case vmIntrinsics::_VectorStoreMaskedOp:
803 case vmIntrinsics::_VectorGatherOp:
804 case vmIntrinsics::_VectorScatterOp:
805 case vmIntrinsics::_VectorReductionCoerced:
806 case vmIntrinsics::_VectorTest:
807 case vmIntrinsics::_VectorBlend:
808 case vmIntrinsics::_VectorRearrange:
809 case vmIntrinsics::_VectorCompare:
810 case vmIntrinsics::_VectorBroadcastInt:
811 case vmIntrinsics::_VectorConvert:
812 case vmIntrinsics::_VectorInsert:
813 case vmIntrinsics::_VectorExtract:
814 case vmIntrinsics::_VectorMaskOp:
815 case vmIntrinsics::_IndexVector:
816 case vmIntrinsics::_IndexPartiallyInUpperRange:
817 return EnableVectorSupport;
818 case vmIntrinsics::_blackhole:
819 #if INCLUDE_JVMTI
820 case vmIntrinsics::_notifyJvmtiVThreadStart:
821 case vmIntrinsics::_notifyJvmtiVThreadEnd:
822 case vmIntrinsics::_notifyJvmtiVThreadMount:
823 case vmIntrinsics::_notifyJvmtiVThreadUnmount:
824 case vmIntrinsics::_notifyJvmtiVThreadHideFrames:
825 #endif
826 break;
827
828 default:
829 return false;
830 }
831 return true;
832 }
833
834 int C2Compiler::initial_code_buffer_size(int const_size) {
835 // See Compile::init_scratch_buffer_blob
836 int locs_size = sizeof(relocInfo) * PhaseOutput::MAX_locs_size;
837 int slop = 2 * CodeSection::end_slop(); // space between sections
838 return PhaseOutput::MAX_inst_size + PhaseOutput::MAX_stubs_size + const_size + slop + locs_size;
839 }
|
771 case vmIntrinsics::_montgomeryMultiply:
772 case vmIntrinsics::_montgomerySquare:
773 case vmIntrinsics::_vectorizedMismatch:
774 case vmIntrinsics::_ghash_processBlocks:
775 case vmIntrinsics::_chacha20Block:
776 case vmIntrinsics::_base64_encodeBlock:
777 case vmIntrinsics::_base64_decodeBlock:
778 case vmIntrinsics::_poly1305_processBlocks:
779 case vmIntrinsics::_updateCRC32:
780 case vmIntrinsics::_updateBytesCRC32:
781 case vmIntrinsics::_updateByteBufferCRC32:
782 case vmIntrinsics::_updateBytesCRC32C:
783 case vmIntrinsics::_updateDirectByteBufferCRC32C:
784 case vmIntrinsics::_updateBytesAdler32:
785 case vmIntrinsics::_updateByteBufferAdler32:
786 case vmIntrinsics::_profileBoolean:
787 case vmIntrinsics::_isCompileConstant:
788 case vmIntrinsics::_Preconditions_checkIndex:
789 case vmIntrinsics::_Preconditions_checkLongIndex:
790 case vmIntrinsics::_getObjectSize:
791 case vmIntrinsics::_shipilev_magic_sizeOf:
792 case vmIntrinsics::_shipilev_magic_addressOf:
793 break;
794 case vmIntrinsics::_VectorCompressExpand:
795 case vmIntrinsics::_VectorUnaryOp:
796 case vmIntrinsics::_VectorBinaryOp:
797 case vmIntrinsics::_VectorTernaryOp:
798 case vmIntrinsics::_VectorFromBitsCoerced:
799 case vmIntrinsics::_VectorShuffleIota:
800 case vmIntrinsics::_VectorShuffleToVector:
801 case vmIntrinsics::_VectorLoadOp:
802 case vmIntrinsics::_VectorLoadMaskedOp:
803 case vmIntrinsics::_VectorStoreOp:
804 case vmIntrinsics::_VectorStoreMaskedOp:
805 case vmIntrinsics::_VectorGatherOp:
806 case vmIntrinsics::_VectorScatterOp:
807 case vmIntrinsics::_VectorReductionCoerced:
808 case vmIntrinsics::_VectorTest:
809 case vmIntrinsics::_VectorBlend:
810 case vmIntrinsics::_VectorRearrange:
811 case vmIntrinsics::_VectorCompare:
812 case vmIntrinsics::_VectorBroadcastInt:
813 case vmIntrinsics::_VectorConvert:
814 case vmIntrinsics::_VectorInsert:
815 case vmIntrinsics::_VectorExtract:
816 case vmIntrinsics::_VectorMaskOp:
817 case vmIntrinsics::_IndexVector:
818 case vmIntrinsics::_IndexPartiallyInUpperRange:
819 return EnableVectorSupport;
820 case vmIntrinsics::_blackhole:
821 #if INCLUDE_JVMTI
822 case vmIntrinsics::_notifyJvmtiVThreadStart:
823 case vmIntrinsics::_notifyJvmtiVThreadEnd:
824 case vmIntrinsics::_notifyJvmtiVThreadMount:
825 case vmIntrinsics::_notifyJvmtiVThreadUnmount:
826 case vmIntrinsics::_notifyJvmtiVThreadHideFrames:
827 #endif
828 break;
829 case vmIntrinsics::_shipilev_magic_timestamp:
830 return Matcher::match_rule_supported(Op_Timestamp);
831 case vmIntrinsics::_shipilev_magic_timestamp_serial:
832 return Matcher::match_rule_supported(Op_TimestampSerial);
833 default:
834 return false;
835 }
836 return true;
837 }
838
839 int C2Compiler::initial_code_buffer_size(int const_size) {
840 // See Compile::init_scratch_buffer_blob
841 int locs_size = sizeof(relocInfo) * PhaseOutput::MAX_locs_size;
842 int slop = 2 * CodeSection::end_slop(); // space between sections
843 return PhaseOutput::MAX_inst_size + PhaseOutput::MAX_stubs_size + const_size + slop + locs_size;
844 }
|