1174 const TypeFunc* OptoRuntime::base64_encodeBlock_Type() { 1175 int argcnt = 6; 1176 1177 const Type** fields = TypeTuple::fields(argcnt); 1178 int argp = TypeFunc::Parms; 1179 fields[argp++] = TypePtr::NOTNULL; // src array 1180 fields[argp++] = TypeInt::INT; // offset 1181 fields[argp++] = TypeInt::INT; // length 1182 fields[argp++] = TypePtr::NOTNULL; // dest array 1183 fields[argp++] = TypeInt::INT; // dp 1184 fields[argp++] = TypeInt::BOOL; // isURL 1185 assert(argp == TypeFunc::Parms + argcnt, "correct decoding"); 1186 const TypeTuple* domain = TypeTuple::make(TypeFunc::Parms+argcnt, fields); 1187 1188 // result type needed 1189 fields = TypeTuple::fields(1); 1190 fields[TypeFunc::Parms + 0] = NULL; // void 1191 const TypeTuple* range = TypeTuple::make(TypeFunc::Parms, fields); 1192 return TypeFunc::make(domain, range); 1193 } 1194 1195 //------------- Interpreter state access for on stack replacement 1196 const TypeFunc* OptoRuntime::osr_end_Type() { 1197 // create input type (domain) 1198 const Type **fields = TypeTuple::fields(1); 1199 fields[TypeFunc::Parms+0] = TypeRawPtr::BOTTOM; // OSR temp buf 1200 const TypeTuple *domain = TypeTuple::make(TypeFunc::Parms+1, fields); 1201 1202 // create result type 1203 fields = TypeTuple::fields(1); 1204 // fields[TypeFunc::Parms+0] = TypeInstPtr::NOTNULL; // locked oop 1205 fields[TypeFunc::Parms+0] = NULL; // void 1206 const TypeTuple *range = TypeTuple::make(TypeFunc::Parms, fields); 1207 return TypeFunc::make(domain, range); 1208 } 1209 1210 //-------------- methodData update helpers 1211 1212 const TypeFunc* OptoRuntime::profile_receiver_type_Type() { 1213 // create input type (domain) | 1174 const TypeFunc* OptoRuntime::base64_encodeBlock_Type() { 1175 int argcnt = 6; 1176 1177 const Type** fields = TypeTuple::fields(argcnt); 1178 int argp = TypeFunc::Parms; 1179 fields[argp++] = TypePtr::NOTNULL; // src array 1180 fields[argp++] = TypeInt::INT; // offset 1181 fields[argp++] = TypeInt::INT; // length 1182 fields[argp++] = TypePtr::NOTNULL; // dest array 1183 fields[argp++] = TypeInt::INT; // dp 1184 fields[argp++] = TypeInt::BOOL; // isURL 1185 assert(argp == TypeFunc::Parms + argcnt, "correct decoding"); 1186 const TypeTuple* domain = TypeTuple::make(TypeFunc::Parms+argcnt, fields); 1187 1188 // result type needed 1189 fields = TypeTuple::fields(1); 1190 fields[TypeFunc::Parms + 0] = NULL; // void 1191 const TypeTuple* range = TypeTuple::make(TypeFunc::Parms, fields); 1192 return TypeFunc::make(domain, range); 1193 } 1194 // Base64 decode function 1195 const TypeFunc* OptoRuntime::base64_decodeBlock_Type() { 1196 int argcnt = 5; 1197 1198 const Type** fields = TypeTuple::fields(argcnt); 1199 int argp = TypeFunc::Parms; 1200 fields[argp++] = TypePtr::NOTNULL; // src array 1201 fields[argp++] = TypeInt::INT; // offset 1202 fields[argp++] = TypeInt::INT; // length 1203 fields[argp++] = TypePtr::NOTNULL; // dest array 1204 fields[argp++] = TypeInt::BOOL; // isURL 1205 assert(argp == TypeFunc::Parms + argcnt, "correct decoding"); 1206 const TypeTuple* domain = TypeTuple::make(TypeFunc::Parms+argcnt, fields); 1207 1208 // result type needed 1209 fields = TypeTuple::fields(1); 1210 fields[TypeFunc::Parms + 0] = TypeInt::INT; // dst ofs, or -1 1211 const TypeTuple* range = TypeTuple::make(TypeFunc::Parms + 1, fields); 1212 return TypeFunc::make(domain, range); 1213 } 1214 1215 //------------- Interpreter state access for on stack replacement 1216 const TypeFunc* OptoRuntime::osr_end_Type() { 1217 // create input type (domain) 1218 const Type **fields = TypeTuple::fields(1); 1219 fields[TypeFunc::Parms+0] = TypeRawPtr::BOTTOM; // OSR temp buf 1220 const TypeTuple *domain = TypeTuple::make(TypeFunc::Parms+1, fields); 1221 1222 // create result type 1223 fields = TypeTuple::fields(1); 1224 // fields[TypeFunc::Parms+0] = TypeInstPtr::NOTNULL; // locked oop 1225 fields[TypeFunc::Parms+0] = NULL; // void 1226 const TypeTuple *range = TypeTuple::make(TypeFunc::Parms, fields); 1227 return TypeFunc::make(domain, range); 1228 } 1229 1230 //-------------- methodData update helpers 1231 1232 const TypeFunc* OptoRuntime::profile_receiver_type_Type() { 1233 // create input type (domain) |