src/share/vm/opto/runtime.cpp

changeset 9496
bcccbecdde63
parent 9305
278ac6d2b59e
child 9572
624a0741915c
child 9713
c4567d28f31f
equal deleted inserted replaced
9495:dbcf38c78dae 9496:bcccbecdde63
844 /** 844 /**
845 * int updateBytesCRC32(int crc, byte* b, int len) 845 * int updateBytesCRC32(int crc, byte* b, int len)
846 */ 846 */
847 const TypeFunc* OptoRuntime::updateBytesCRC32_Type() { 847 const TypeFunc* OptoRuntime::updateBytesCRC32_Type() {
848 // create input type (domain) 848 // create input type (domain)
849 int num_args = 3; 849 int num_args = 3;
850 int argcnt = num_args; 850 int argcnt = num_args;
851 if (CCallingConventionRequiresIntsAsLongs) {
852 argcnt += 2;
853 }
851 const Type** fields = TypeTuple::fields(argcnt); 854 const Type** fields = TypeTuple::fields(argcnt);
852 int argp = TypeFunc::Parms; 855 int argp = TypeFunc::Parms;
853 fields[argp++] = TypeInt::INT; // crc 856 if (CCallingConventionRequiresIntsAsLongs) {
854 fields[argp++] = TypePtr::NOTNULL; // src 857 fields[argp++] = TypeLong::LONG; // crc
855 fields[argp++] = TypeInt::INT; // len 858 fields[argp++] = Type::HALF;
859 fields[argp++] = TypePtr::NOTNULL; // src
860 fields[argp++] = TypeLong::LONG; // len
861 fields[argp++] = Type::HALF;
862 } else {
863 fields[argp++] = TypeInt::INT; // crc
864 fields[argp++] = TypePtr::NOTNULL; // src
865 fields[argp++] = TypeInt::INT; // len
866 }
856 assert(argp == TypeFunc::Parms+argcnt, "correct decoding"); 867 assert(argp == TypeFunc::Parms+argcnt, "correct decoding");
857 const TypeTuple* domain = TypeTuple::make(TypeFunc::Parms+argcnt, fields); 868 const TypeTuple* domain = TypeTuple::make(TypeFunc::Parms+argcnt, fields);
858 869
859 // result type needed 870 // result type needed
860 fields = TypeTuple::fields(1); 871 fields = TypeTuple::fields(1);

mercurial