comparison src/hotspot/share/opto/runtime.cpp @ 50860:480a96a43b62

8205528: Base64 encoding algorithm using AVX512 instructions Reviewed-by: kvn, psandoz Contributed-by: smita.kamath@intel.com
author kvn
date Wed, 27 Jun 2018 20:21:42 -0700
parents 7e8c0409a747
children fc6cfe40e32a
comparison
equal deleted inserted replaced
9:4a54a590ca19 10:9be6c78b2ece
1121 fields = TypeTuple::fields(1); 1121 fields = TypeTuple::fields(1);
1122 fields[TypeFunc::Parms+0] = NULL; // void 1122 fields[TypeFunc::Parms+0] = NULL; // void
1123 const TypeTuple* range = TypeTuple::make(TypeFunc::Parms, fields); 1123 const TypeTuple* range = TypeTuple::make(TypeFunc::Parms, fields);
1124 return TypeFunc::make(domain, range); 1124 return TypeFunc::make(domain, range);
1125 } 1125 }
1126 // Base64 encode function
1127 const TypeFunc* OptoRuntime::base64_encodeBlock_Type() {
1128 int argcnt = 6;
1129
1130 const Type** fields = TypeTuple::fields(argcnt);
1131 int argp = TypeFunc::Parms;
1132 fields[argp++] = TypePtr::NOTNULL; // src array
1133 fields[argp++] = TypeInt::INT; // offset
1134 fields[argp++] = TypeInt::INT; // length
1135 fields[argp++] = TypePtr::NOTNULL; // dest array
1136 fields[argp++] = TypeInt::INT; // dp
1137 fields[argp++] = TypeInt::BOOL; // isURL
1138 assert(argp == TypeFunc::Parms + argcnt, "correct decoding");
1139 const TypeTuple* domain = TypeTuple::make(TypeFunc::Parms+argcnt, fields);
1140
1141 // result type needed
1142 fields = TypeTuple::fields(1);
1143 fields[TypeFunc::Parms + 0] = NULL; // void
1144 const TypeTuple* range = TypeTuple::make(TypeFunc::Parms, fields);
1145 return TypeFunc::make(domain, range);
1146 }
1126 1147
1127 //------------- Interpreter state access for on stack replacement 1148 //------------- Interpreter state access for on stack replacement
1128 const TypeFunc* OptoRuntime::osr_end_Type() { 1149 const TypeFunc* OptoRuntime::osr_end_Type() {
1129 // create input type (domain) 1150 // create input type (domain)
1130 const Type **fields = TypeTuple::fields(1); 1151 const Type **fields = TypeTuple::fields(1);