< prev index next >

src/hotspot/share/opto/runtime.cpp

Print this page




1137 
1138 // GHASH block processing
1139 const TypeFunc* OptoRuntime::ghash_processBlocks_Type() {
1140     int argcnt = 4;
1141 
1142     const Type** fields = TypeTuple::fields(argcnt);
1143     int argp = TypeFunc::Parms;
1144     fields[argp++] = TypePtr::NOTNULL;    // state
1145     fields[argp++] = TypePtr::NOTNULL;    // subkeyH
1146     fields[argp++] = TypePtr::NOTNULL;    // data
1147     fields[argp++] = TypeInt::INT;        // blocks
1148     assert(argp == TypeFunc::Parms+argcnt, "correct decoding");
1149     const TypeTuple* domain = TypeTuple::make(TypeFunc::Parms+argcnt, fields);
1150 
1151     // result type needed
1152     fields = TypeTuple::fields(1);
1153     fields[TypeFunc::Parms+0] = NULL; // void
1154     const TypeTuple* range = TypeTuple::make(TypeFunc::Parms, fields);
1155     return TypeFunc::make(domain, range);
1156 }





















1157 
1158 //------------- Interpreter state access for on stack replacement
1159 const TypeFunc* OptoRuntime::osr_end_Type() {
1160   // create input type (domain)
1161   const Type **fields = TypeTuple::fields(1);
1162   fields[TypeFunc::Parms+0] = TypeRawPtr::BOTTOM; // OSR temp buf
1163   const TypeTuple *domain = TypeTuple::make(TypeFunc::Parms+1, fields);
1164 
1165   // create result type
1166   fields = TypeTuple::fields(1);
1167   // fields[TypeFunc::Parms+0] = TypeInstPtr::NOTNULL; // locked oop
1168   fields[TypeFunc::Parms+0] = NULL; // void
1169   const TypeTuple *range = TypeTuple::make(TypeFunc::Parms, fields);
1170   return TypeFunc::make(domain, range);
1171 }
1172 
1173 //-------------- methodData update helpers
1174 
1175 const TypeFunc* OptoRuntime::profile_receiver_type_Type() {
1176   // create input type (domain)




1137 
1138 // GHASH block processing
1139 const TypeFunc* OptoRuntime::ghash_processBlocks_Type() {
1140     int argcnt = 4;
1141 
1142     const Type** fields = TypeTuple::fields(argcnt);
1143     int argp = TypeFunc::Parms;
1144     fields[argp++] = TypePtr::NOTNULL;    // state
1145     fields[argp++] = TypePtr::NOTNULL;    // subkeyH
1146     fields[argp++] = TypePtr::NOTNULL;    // data
1147     fields[argp++] = TypeInt::INT;        // blocks
1148     assert(argp == TypeFunc::Parms+argcnt, "correct decoding");
1149     const TypeTuple* domain = TypeTuple::make(TypeFunc::Parms+argcnt, fields);
1150 
1151     // result type needed
1152     fields = TypeTuple::fields(1);
1153     fields[TypeFunc::Parms+0] = NULL; // void
1154     const TypeTuple* range = TypeTuple::make(TypeFunc::Parms, fields);
1155     return TypeFunc::make(domain, range);
1156 }
1157 // Base64 encode function
1158 const TypeFunc* OptoRuntime::base64_encodeBlock_Type() {
1159   int argcnt = 6;
1160 
1161   const Type** fields = TypeTuple::fields(argcnt);
1162   int argp = TypeFunc::Parms;
1163   fields[argp++] = TypePtr::NOTNULL;    // src array
1164   fields[argp++] = TypeInt::INT;        // offset
1165   fields[argp++] = TypeInt::INT;        // length
1166   fields[argp++] = TypePtr::NOTNULL;    // dest array
1167   fields[argp++] = TypeInt::INT;       // dp
1168   fields[argp++] = TypeInt::BOOL;       // isURL
1169   assert(argp == TypeFunc::Parms + argcnt, "correct decoding");
1170   const TypeTuple* domain = TypeTuple::make(TypeFunc::Parms+argcnt, fields);
1171 
1172   // result type needed
1173   fields = TypeTuple::fields(1);
1174   fields[TypeFunc::Parms + 0] = NULL; // void
1175   const TypeTuple* range = TypeTuple::make(TypeFunc::Parms, fields);
1176   return TypeFunc::make(domain, range);
1177 }
1178 
1179 //------------- Interpreter state access for on stack replacement
1180 const TypeFunc* OptoRuntime::osr_end_Type() {
1181   // create input type (domain)
1182   const Type **fields = TypeTuple::fields(1);
1183   fields[TypeFunc::Parms+0] = TypeRawPtr::BOTTOM; // OSR temp buf
1184   const TypeTuple *domain = TypeTuple::make(TypeFunc::Parms+1, fields);
1185 
1186   // create result type
1187   fields = TypeTuple::fields(1);
1188   // fields[TypeFunc::Parms+0] = TypeInstPtr::NOTNULL; // locked oop
1189   fields[TypeFunc::Parms+0] = NULL; // void
1190   const TypeTuple *range = TypeTuple::make(TypeFunc::Parms, fields);
1191   return TypeFunc::make(domain, range);
1192 }
1193 
1194 //-------------- methodData update helpers
1195 
1196 const TypeFunc* OptoRuntime::profile_receiver_type_Type() {
1197   // create input type (domain)


< prev index next >