< prev index next >

src/hotspot/share/opto/c2compiler.cpp

Print this page

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 }
< prev index next >