748 case vmIntrinsics::_montgomeryMultiply:
749 case vmIntrinsics::_montgomerySquare:
750 case vmIntrinsics::_vectorizedMismatch:
751 case vmIntrinsics::_ghash_processBlocks:
752 case vmIntrinsics::_chacha20Block:
753 case vmIntrinsics::_base64_encodeBlock:
754 case vmIntrinsics::_base64_decodeBlock:
755 case vmIntrinsics::_poly1305_processBlocks:
756 case vmIntrinsics::_updateCRC32:
757 case vmIntrinsics::_updateBytesCRC32:
758 case vmIntrinsics::_updateByteBufferCRC32:
759 case vmIntrinsics::_updateBytesCRC32C:
760 case vmIntrinsics::_updateDirectByteBufferCRC32C:
761 case vmIntrinsics::_updateBytesAdler32:
762 case vmIntrinsics::_updateByteBufferAdler32:
763 case vmIntrinsics::_profileBoolean:
764 case vmIntrinsics::_isCompileConstant:
765 case vmIntrinsics::_Preconditions_checkIndex:
766 case vmIntrinsics::_Preconditions_checkLongIndex:
767 case vmIntrinsics::_getObjectSize:
768 break;
769 case vmIntrinsics::_VectorCompressExpand:
770 case vmIntrinsics::_VectorUnaryOp:
771 case vmIntrinsics::_VectorBinaryOp:
772 case vmIntrinsics::_VectorTernaryOp:
773 case vmIntrinsics::_VectorFromBitsCoerced:
774 case vmIntrinsics::_VectorShuffleIota:
775 case vmIntrinsics::_VectorShuffleToVector:
776 case vmIntrinsics::_VectorLoadOp:
777 case vmIntrinsics::_VectorLoadMaskedOp:
778 case vmIntrinsics::_VectorStoreOp:
779 case vmIntrinsics::_VectorStoreMaskedOp:
780 case vmIntrinsics::_VectorGatherOp:
781 case vmIntrinsics::_VectorScatterOp:
782 case vmIntrinsics::_VectorReductionCoerced:
783 case vmIntrinsics::_VectorTest:
784 case vmIntrinsics::_VectorBlend:
785 case vmIntrinsics::_VectorRearrange:
786 case vmIntrinsics::_VectorCompare:
787 case vmIntrinsics::_VectorBroadcastInt:
788 case vmIntrinsics::_VectorConvert:
789 case vmIntrinsics::_VectorInsert:
790 case vmIntrinsics::_VectorExtract:
791 case vmIntrinsics::_VectorMaskOp:
792 case vmIntrinsics::_IndexVector:
793 case vmIntrinsics::_IndexPartiallyInUpperRange:
794 return EnableVectorSupport;
795 case vmIntrinsics::_blackhole:
796 #if INCLUDE_JVMTI
797 case vmIntrinsics::_notifyJvmtiVThreadStart:
798 case vmIntrinsics::_notifyJvmtiVThreadEnd:
799 case vmIntrinsics::_notifyJvmtiVThreadMount:
800 case vmIntrinsics::_notifyJvmtiVThreadUnmount:
801 case vmIntrinsics::_notifyJvmtiVThreadHideFrames:
802 #endif
803 break;
804
805 default:
806 return false;
807 }
808 return true;
809 }
810
811 int C2Compiler::initial_code_buffer_size(int const_size) {
812 // See Compile::init_scratch_buffer_blob
813 int locs_size = sizeof(relocInfo) * PhaseOutput::MAX_locs_size;
814 int slop = 2 * CodeSection::end_slop(); // space between sections
815 return PhaseOutput::MAX_inst_size + PhaseOutput::MAX_stubs_size + const_size + slop + locs_size;
816 }
|
748 case vmIntrinsics::_montgomeryMultiply:
749 case vmIntrinsics::_montgomerySquare:
750 case vmIntrinsics::_vectorizedMismatch:
751 case vmIntrinsics::_ghash_processBlocks:
752 case vmIntrinsics::_chacha20Block:
753 case vmIntrinsics::_base64_encodeBlock:
754 case vmIntrinsics::_base64_decodeBlock:
755 case vmIntrinsics::_poly1305_processBlocks:
756 case vmIntrinsics::_updateCRC32:
757 case vmIntrinsics::_updateBytesCRC32:
758 case vmIntrinsics::_updateByteBufferCRC32:
759 case vmIntrinsics::_updateBytesCRC32C:
760 case vmIntrinsics::_updateDirectByteBufferCRC32C:
761 case vmIntrinsics::_updateBytesAdler32:
762 case vmIntrinsics::_updateByteBufferAdler32:
763 case vmIntrinsics::_profileBoolean:
764 case vmIntrinsics::_isCompileConstant:
765 case vmIntrinsics::_Preconditions_checkIndex:
766 case vmIntrinsics::_Preconditions_checkLongIndex:
767 case vmIntrinsics::_getObjectSize:
768 case vmIntrinsics::_shipilev_magic_sizeOf:
769 case vmIntrinsics::_shipilev_magic_addressOf:
770 break;
771 case vmIntrinsics::_VectorCompressExpand:
772 case vmIntrinsics::_VectorUnaryOp:
773 case vmIntrinsics::_VectorBinaryOp:
774 case vmIntrinsics::_VectorTernaryOp:
775 case vmIntrinsics::_VectorFromBitsCoerced:
776 case vmIntrinsics::_VectorShuffleIota:
777 case vmIntrinsics::_VectorShuffleToVector:
778 case vmIntrinsics::_VectorLoadOp:
779 case vmIntrinsics::_VectorLoadMaskedOp:
780 case vmIntrinsics::_VectorStoreOp:
781 case vmIntrinsics::_VectorStoreMaskedOp:
782 case vmIntrinsics::_VectorGatherOp:
783 case vmIntrinsics::_VectorScatterOp:
784 case vmIntrinsics::_VectorReductionCoerced:
785 case vmIntrinsics::_VectorTest:
786 case vmIntrinsics::_VectorBlend:
787 case vmIntrinsics::_VectorRearrange:
788 case vmIntrinsics::_VectorCompare:
789 case vmIntrinsics::_VectorBroadcastInt:
790 case vmIntrinsics::_VectorConvert:
791 case vmIntrinsics::_VectorInsert:
792 case vmIntrinsics::_VectorExtract:
793 case vmIntrinsics::_VectorMaskOp:
794 case vmIntrinsics::_IndexVector:
795 case vmIntrinsics::_IndexPartiallyInUpperRange:
796 return EnableVectorSupport;
797 case vmIntrinsics::_blackhole:
798 #if INCLUDE_JVMTI
799 case vmIntrinsics::_notifyJvmtiVThreadStart:
800 case vmIntrinsics::_notifyJvmtiVThreadEnd:
801 case vmIntrinsics::_notifyJvmtiVThreadMount:
802 case vmIntrinsics::_notifyJvmtiVThreadUnmount:
803 case vmIntrinsics::_notifyJvmtiVThreadHideFrames:
804 #endif
805 break;
806 case vmIntrinsics::_shipilev_magic_timestamp:
807 return Matcher::match_rule_supported(Op_Timestamp);
808 case vmIntrinsics::_shipilev_magic_timestamp_serial:
809 return Matcher::match_rule_supported(Op_TimestampSerial);
810 default:
811 return false;
812 }
813 return true;
814 }
815
816 int C2Compiler::initial_code_buffer_size(int const_size) {
817 // See Compile::init_scratch_buffer_blob
818 int locs_size = sizeof(relocInfo) * PhaseOutput::MAX_locs_size;
819 int slop = 2 * CodeSection::end_slop(); // space between sections
820 return PhaseOutput::MAX_inst_size + PhaseOutput::MAX_stubs_size + const_size + slop + locs_size;
821 }
|