122 // As a bonus, produce the right reference type for T_OBJECT. 123 // Does not work on T_ARRAY. 124 ciType* ciType::make(BasicType t) { 125 // short, etc. 126 // Note: Bare T_ADDRESS means a raw pointer type, not a return_address. 127 assert((uint)t < T_CONFLICT+1, "range check"); 128 if (t == T_OBJECT) return ciEnv::_Object_klass; // java/lang/Object 129 assert(_basic_types[t] != NULL, "domain check"); 130 return _basic_types[t]; 131 } 132 133 static bool is_float64vector(BasicType bt, vmSymbols::SID sid) { 134 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float64Vector); 135 } 136 static bool is_float64species(BasicType bt, vmSymbols::SID sid) { 137 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float64Vector_Float64Species); 138 } 139 static bool is_float64mask(BasicType bt, vmSymbols::SID sid) { 140 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float64Vector_Float64Mask); 141 } 142 static bool is_float64(BasicType bt, vmSymbols::SID sid) { 143 return is_float64vector(bt, sid) || is_float64species(bt, sid) || is_float64mask(bt, sid); 144 } 145 static bool is_float128vector(BasicType bt, vmSymbols::SID sid) { 146 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float128Vector); 147 } 148 static bool is_float128species(BasicType bt, vmSymbols::SID sid) { 149 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float128Vector_Float128Species); 150 } 151 static bool is_float128mask(BasicType bt, vmSymbols::SID sid) { 152 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float128Vector_Float128Mask); 153 } 154 static bool is_float128(BasicType bt, vmSymbols::SID sid) { 155 return is_float128vector(bt, sid) || is_float128species(bt, sid) || is_float128mask(bt, sid); 156 } 157 static bool is_float256vector(BasicType bt, vmSymbols::SID sid) { 158 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float256Vector); 159 } 160 static bool is_float256species(BasicType bt, vmSymbols::SID sid) { 161 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float256Vector_Float256Species); 162 } 163 static bool is_float256mask(BasicType bt, vmSymbols::SID sid) { 164 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float256Vector_Float256Mask); 165 } 166 static bool is_float256(BasicType bt, vmSymbols::SID sid) { 167 return is_float256vector(bt, sid) || is_float256species(bt, sid) || is_float256mask(bt, sid); 168 } 169 static bool is_float512vector(BasicType bt, vmSymbols::SID sid) { 170 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float512Vector); 171 } 172 static bool is_float512species(BasicType bt, vmSymbols::SID sid) { 173 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float512Vector_Float512Species); 174 } 175 static bool is_float512mask(BasicType bt, vmSymbols::SID sid) { 176 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float512Vector_Float512Mask); 177 } 178 static bool is_float512(BasicType bt, vmSymbols::SID sid) { 179 return is_float512vector(bt, sid) || is_float512species(bt, sid) || is_float512mask(bt, sid); 180 } 181 static bool is_float_vec_or_mask(BasicType bt, vmSymbols::SID sid) { 182 return is_float64(bt, sid) || is_float128(bt, sid) || is_float256(bt, sid) || is_float512(bt, sid); 183 } 184 static bool is_double64vector(BasicType bt, vmSymbols::SID sid) { 185 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double64Vector); 186 } 187 static bool is_double64species(BasicType bt, vmSymbols::SID sid) { 188 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double64Vector_Double64Species); 189 } 190 static bool is_double64mask(BasicType bt, vmSymbols::SID sid) { 191 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double64Vector_Double64Mask); 192 } 193 static bool is_double64(BasicType bt, vmSymbols::SID sid) { 194 return is_double64vector(bt, sid) || is_double64species(bt, sid) || is_double64mask(bt, sid); 195 } 196 static bool is_double128vector(BasicType bt, vmSymbols::SID sid) { 197 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double128Vector); 198 } 199 static bool is_double128species(BasicType bt, vmSymbols::SID sid) { 200 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double128Vector_Double128Species); 201 } 202 static bool is_double128mask(BasicType bt, vmSymbols::SID sid) { 203 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double128Vector_Double128Mask); 204 } 205 static bool is_double128(BasicType bt, vmSymbols::SID sid) { 206 return is_double128vector(bt, sid) || is_double128species(bt, sid) || is_double128mask(bt, sid); 207 } 208 static bool is_double256vector(BasicType bt, vmSymbols::SID sid) { 209 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double256Vector); 210 } 211 static bool is_double256species(BasicType bt, vmSymbols::SID sid) { 212 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double256Vector_Double256Species); 213 } 214 static bool is_double256mask(BasicType bt, vmSymbols::SID sid) { 215 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double256Vector_Double256Mask); 216 } 217 static bool is_double256(BasicType bt, vmSymbols::SID sid) { 218 return is_double256vector(bt, sid) || is_double256species(bt, sid) || is_double256mask(bt, sid); 219 } 220 static bool is_double512vector(BasicType bt, vmSymbols::SID sid) { 221 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double512Vector); 222 } 223 static bool is_double512species(BasicType bt, vmSymbols::SID sid) { 224 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double512Vector_Double512Species); 225 } 226 static bool is_double512mask(BasicType bt, vmSymbols::SID sid) { 227 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double512Vector_Double512Mask); 228 } 229 static bool is_double512(BasicType bt, vmSymbols::SID sid) { 230 return is_double512vector(bt, sid) || is_double512species(bt, sid) || is_double512mask(bt, sid); 231 } 232 static bool is_double_vec_or_mask(BasicType bt, vmSymbols::SID sid) { 233 return is_double64(bt, sid) || is_double128(bt, sid) || is_double256(bt, sid) || is_double512(bt, sid); 234 } 235 static bool is_int64vector(BasicType bt, vmSymbols::SID sid) { 236 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int64Vector); 237 } 238 static bool is_int64species(BasicType bt, vmSymbols::SID sid) { 239 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int64Vector_Int64Species); 240 } 241 static bool is_int64mask(BasicType bt, vmSymbols::SID sid) { 242 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int64Vector_Int64Mask); 243 } 244 static bool is_int64(BasicType bt, vmSymbols::SID sid) { 245 return is_int64vector(bt, sid) || is_int64species(bt, sid) || is_int64mask(bt, sid); 246 } 247 static bool is_int128vector(BasicType bt, vmSymbols::SID sid) { 248 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int128Vector); 249 } 250 static bool is_int128species(BasicType bt, vmSymbols::SID sid) { 251 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int128Vector_Int128Species); 252 } 253 static bool is_int128mask(BasicType bt, vmSymbols::SID sid) { 254 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int128Vector_Int128Mask); 255 } 256 static bool is_int128(BasicType bt, vmSymbols::SID sid) { 257 return is_int128vector(bt, sid) || is_int128species(bt, sid) || is_int128mask(bt, sid); 258 } 259 static bool is_int256vector(BasicType bt, vmSymbols::SID sid) { 260 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int256Vector); 261 } 262 static bool is_int256species(BasicType bt, vmSymbols::SID sid) { 263 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int256Vector_Int256Species); 264 } 265 static bool is_int256mask(BasicType bt, vmSymbols::SID sid) { 266 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int256Vector_Int256Mask); 267 } 268 static bool is_int256(BasicType bt, vmSymbols::SID sid) { 269 return is_int256vector(bt, sid) || is_int256species(bt, sid) || is_int256mask(bt, sid); 270 } 271 static bool is_int512vector(BasicType bt, vmSymbols::SID sid) { 272 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int512Vector); 273 } 274 static bool is_int512species(BasicType bt, vmSymbols::SID sid) { 275 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int512Vector_Int512Species); 276 } 277 static bool is_int512mask(BasicType bt, vmSymbols::SID sid) { 278 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int512Vector_Int512Mask); 279 } 280 static bool is_int512(BasicType bt, vmSymbols::SID sid) { 281 return is_int512vector(bt, sid) || is_int512species(bt, sid) || is_int512mask(bt, sid); 282 } 283 static bool is_int_vec_or_mask(BasicType bt, vmSymbols::SID sid) { 284 return is_int64(bt, sid) || is_int128(bt, sid) || is_int256(bt, sid) || is_int512(bt, sid); 285 } 286 static bool is_long64vector(BasicType bt, vmSymbols::SID sid) { 287 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long64Vector); 288 } 289 static bool is_long64species(BasicType bt, vmSymbols::SID sid) { 290 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long64Vector_Long64Species); 291 } 292 static bool is_long64mask(BasicType bt, vmSymbols::SID sid) { 293 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long64Vector_Long64Mask); 294 } 295 static bool is_long64(BasicType bt, vmSymbols::SID sid) { 296 return is_long64vector(bt, sid) || is_long64species(bt, sid) || is_long64mask(bt, sid); 297 } 298 static bool is_long128vector(BasicType bt, vmSymbols::SID sid) { 299 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long128Vector); 300 } 301 static bool is_long128species(BasicType bt, vmSymbols::SID sid) { 302 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long128Vector_Long128Species); 303 } 304 static bool is_long128mask(BasicType bt, vmSymbols::SID sid) { 305 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long128Vector_Long128Mask); 306 } 307 static bool is_long128(BasicType bt, vmSymbols::SID sid) { 308 return is_long128vector(bt, sid) || is_long128species(bt, sid) || is_long128mask(bt, sid); 309 } 310 static bool is_long256vector(BasicType bt, vmSymbols::SID sid) { 311 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long256Vector); 312 } 313 static bool is_long256species(BasicType bt, vmSymbols::SID sid) { 314 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long256Vector_Long256Species); 315 } 316 static bool is_long256mask(BasicType bt, vmSymbols::SID sid) { 317 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long256Vector_Long256Mask); 318 } 319 static bool is_long256(BasicType bt, vmSymbols::SID sid) { 320 return is_long256vector(bt, sid) || is_long256species(bt, sid) || is_long256mask(bt, sid); 321 } 322 static bool is_long512vector(BasicType bt, vmSymbols::SID sid) { 323 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long512Vector); 324 } 325 static bool is_long512species(BasicType bt, vmSymbols::SID sid) { 326 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long512Vector_Long512Species); 327 } 328 static bool is_long512mask(BasicType bt, vmSymbols::SID sid) { 329 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long512Vector_Long512Mask); 330 } 331 static bool is_long512(BasicType bt, vmSymbols::SID sid) { 332 return is_long512vector(bt, sid) || is_long512species(bt, sid) || is_long512mask(bt, sid); 333 } 334 static bool is_long_vec_or_mask(BasicType bt, vmSymbols::SID sid) { 335 return is_long64(bt, sid) || is_long128(bt, sid) || is_long256(bt, sid) || is_long512(bt, sid); 336 } 337 static bool is_byte64vector(BasicType bt, vmSymbols::SID sid) { 338 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte64Vector); 339 } 340 static bool is_byte64species(BasicType bt, vmSymbols::SID sid) { 341 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte64Vector_Byte64Species); 342 } 343 static bool is_byte64mask(BasicType bt, vmSymbols::SID sid) { 344 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte64Vector_Byte64Mask); 345 } 346 static bool is_byte64(BasicType bt, vmSymbols::SID sid) { 347 return is_byte64vector(bt, sid) || is_byte64species(bt, sid) || is_byte64mask(bt, sid); 348 } 349 static bool is_byte128vector(BasicType bt, vmSymbols::SID sid) { 350 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte128Vector); 351 } 352 static bool is_byte128species(BasicType bt, vmSymbols::SID sid) { 353 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte128Vector_Byte128Species); 354 } 355 static bool is_byte128mask(BasicType bt, vmSymbols::SID sid) { 356 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte128Vector_Byte128Mask); 357 } 358 static bool is_byte128(BasicType bt, vmSymbols::SID sid) { 359 return is_byte128vector(bt, sid) || is_byte128species(bt, sid) || is_byte128mask(bt, sid); 360 } 361 static bool is_byte256vector(BasicType bt, vmSymbols::SID sid) { 362 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte256Vector); 363 } 364 static bool is_byte256species(BasicType bt, vmSymbols::SID sid) { 365 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte256Vector_Byte256Species); 366 } 367 static bool is_byte256mask(BasicType bt, vmSymbols::SID sid) { 368 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte256Vector_Byte256Mask); 369 } 370 static bool is_byte256(BasicType bt, vmSymbols::SID sid) { 371 return is_byte256vector(bt, sid) || is_byte256species(bt, sid) || is_byte256mask(bt, sid); 372 } 373 static bool is_byte512vector(BasicType bt, vmSymbols::SID sid) { 374 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte512Vector); 375 } 376 static bool is_byte512species(BasicType bt, vmSymbols::SID sid) { 377 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte512Vector_Byte512Species); 378 } 379 static bool is_byte512mask(BasicType bt, vmSymbols::SID sid) { 380 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte512Vector_Byte512Mask); 381 } 382 static bool is_byte512(BasicType bt, vmSymbols::SID sid) { 383 return is_byte512vector(bt, sid) || is_byte512species(bt, sid) || is_byte512mask(bt, sid); 384 } 385 static bool is_byte_vec_or_mask(BasicType bt, vmSymbols::SID sid) { 386 return is_byte64(bt, sid) || is_byte128(bt, sid) || is_byte256(bt, sid) || is_byte512(bt, sid); 387 } 388 static bool is_short64vector(BasicType bt, vmSymbols::SID sid) { 389 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short64Vector); 390 } 391 static bool is_short64species(BasicType bt, vmSymbols::SID sid) { 392 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short64Vector_Short64Species); 393 } 394 static bool is_short64mask(BasicType bt, vmSymbols::SID sid) { 395 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short64Vector_Short64Mask); 396 } 397 static bool is_short64(BasicType bt, vmSymbols::SID sid) { 398 return is_short64vector(bt, sid) || is_short64species(bt, sid) || is_short64mask(bt, sid); 399 } 400 static bool is_short128vector(BasicType bt, vmSymbols::SID sid) { 401 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short128Vector); 402 } 403 static bool is_short128species(BasicType bt, vmSymbols::SID sid) { 404 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short128Vector_Short128Species); 405 } 406 static bool is_short128mask(BasicType bt, vmSymbols::SID sid) { 407 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short128Vector_Short128Mask); 408 } 409 static bool is_short128(BasicType bt, vmSymbols::SID sid) { 410 return is_short128vector(bt, sid) || is_short128species(bt, sid) || is_short128mask(bt, sid); 411 } 412 static bool is_short256vector(BasicType bt, vmSymbols::SID sid) { 413 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short256Vector); 414 } 415 static bool is_short256species(BasicType bt, vmSymbols::SID sid) { 416 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short256Vector_Short256Species); 417 } 418 static bool is_short256mask(BasicType bt, vmSymbols::SID sid) { 419 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short256Vector_Short256Mask); 420 } 421 static bool is_short256(BasicType bt, vmSymbols::SID sid) { 422 return is_short256vector(bt, sid) || is_short256species(bt, sid) || is_short256mask(bt, sid); 423 } 424 static bool is_short512vector(BasicType bt, vmSymbols::SID sid) { 425 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short512Vector); 426 } 427 static bool is_short512species(BasicType bt, vmSymbols::SID sid) { 428 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short512Vector_Short512Species); 429 } 430 static bool is_short512mask(BasicType bt, vmSymbols::SID sid) { 431 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short512Vector_Short512Mask); 432 } 433 static bool is_short512(BasicType bt, vmSymbols::SID sid) { 434 return is_short512vector(bt, sid) || is_short512species(bt, sid) || is_short512mask(bt, sid); 435 } 436 static bool is_short_vec_or_mask(BasicType bt, vmSymbols::SID sid) { 437 return is_short64(bt, sid) || is_short128(bt, sid) || is_short256(bt, sid) || is_short512(bt, sid); 438 } 439 440 #define __ basic_type(), as_klass()->name()->sid() 441 442 bool ciType::is_vectormask() { 443 return basic_type() == T_OBJECT && 444 (is_float64mask(__) || is_float128mask(__) || is_float256mask(__) || is_float512mask(__) || 445 is_double64mask(__) || is_double128mask(__) || is_double256mask(__) || is_double512mask(__) || 446 is_int64mask(__) || is_int128mask(__) || is_int256mask(__) || is_int512mask(__) || 447 is_long64mask(__) || is_long128mask(__) || is_long256mask(__) || is_long512mask(__) || 448 is_byte64mask(__) || is_byte128mask(__) || is_byte256mask(__) || is_byte512mask(__) || 449 is_short64mask(__) || is_short128mask(__) || is_short256mask(__) || is_short512mask(__)); 450 } 451 452 bool ciType::is_vectorapi_vector() { 453 return is_float_vec_or_mask(__) || 454 is_double_vec_or_mask(__) || 455 is_int_vec_or_mask(__) || 456 is_long_vec_or_mask(__) || 457 is_byte_vec_or_mask(__) || 458 is_short_vec_or_mask(__); 459 } 460 461 int ciType::vectorapi_vector_size() { 462 if ( is_double64(__) || is_long64(__)) return 1; 463 if ( is_int64(__) || is_float64(__) || is_long128(__) || is_double128(__) ) return 2; 464 if ( is_short64(__) || is_int128(__) || is_float128(__) || is_long256(__) || is_double256(__) ) return 4; 465 if ( is_byte64(__) || is_short128(__) || is_int256(__) || is_float256(__) || is_long512(__) || is_double512(__) ) return 8; 466 if ( is_byte128(__) || is_short256(__) || is_int512(__) || is_float512(__) ) return 16; 467 if ( is_byte256(__) || is_short512(__) ) return 32; 468 if ( is_byte512(__) ) return 64; 469 return -1; | 122 // As a bonus, produce the right reference type for T_OBJECT. 123 // Does not work on T_ARRAY. 124 ciType* ciType::make(BasicType t) { 125 // short, etc. 126 // Note: Bare T_ADDRESS means a raw pointer type, not a return_address. 127 assert((uint)t < T_CONFLICT+1, "range check"); 128 if (t == T_OBJECT) return ciEnv::_Object_klass; // java/lang/Object 129 assert(_basic_types[t] != NULL, "domain check"); 130 return _basic_types[t]; 131 } 132 133 static bool is_float64vector(BasicType bt, vmSymbols::SID sid) { 134 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float64Vector); 135 } 136 static bool is_float64species(BasicType bt, vmSymbols::SID sid) { 137 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float64Vector_Float64Species); 138 } 139 static bool is_float64mask(BasicType bt, vmSymbols::SID sid) { 140 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float64Vector_Float64Mask); 141 } 142 static bool is_float64shuffle(BasicType bt, vmSymbols::SID sid) { 143 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float64Vector_Float64Shuffle); 144 } 145 static bool is_float64(BasicType bt, vmSymbols::SID sid) { 146 return is_float64vector(bt, sid) || is_float64species(bt, sid) || is_float64mask(bt, sid); 147 } 148 static bool is_float128vector(BasicType bt, vmSymbols::SID sid) { 149 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float128Vector); 150 } 151 static bool is_float128species(BasicType bt, vmSymbols::SID sid) { 152 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float128Vector_Float128Species); 153 } 154 static bool is_float128mask(BasicType bt, vmSymbols::SID sid) { 155 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float128Vector_Float128Mask); 156 } 157 static bool is_float128shuffle(BasicType bt, vmSymbols::SID sid) { 158 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float128Vector_Float128Shuffle); 159 } 160 static bool is_float128(BasicType bt, vmSymbols::SID sid) { 161 return is_float128vector(bt, sid) || is_float128species(bt, sid) || is_float128mask(bt, sid); 162 } 163 static bool is_float256vector(BasicType bt, vmSymbols::SID sid) { 164 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float256Vector); 165 } 166 static bool is_float256species(BasicType bt, vmSymbols::SID sid) { 167 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float256Vector_Float256Species); 168 } 169 static bool is_float256mask(BasicType bt, vmSymbols::SID sid) { 170 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float256Vector_Float256Mask); 171 } 172 static bool is_float256shuffle(BasicType bt, vmSymbols::SID sid) { 173 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float256Vector_Float256Shuffle); 174 } 175 static bool is_float256(BasicType bt, vmSymbols::SID sid) { 176 return is_float256vector(bt, sid) || is_float256species(bt, sid) || is_float256mask(bt, sid); 177 } 178 static bool is_float512vector(BasicType bt, vmSymbols::SID sid) { 179 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float512Vector); 180 } 181 static bool is_float512species(BasicType bt, vmSymbols::SID sid) { 182 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float512Vector_Float512Species); 183 } 184 static bool is_float512mask(BasicType bt, vmSymbols::SID sid) { 185 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float512Vector_Float512Mask); 186 } 187 static bool is_float512shuffle(BasicType bt, vmSymbols::SID sid) { 188 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float512Vector_Float512Shuffle); 189 } 190 static bool is_float512(BasicType bt, vmSymbols::SID sid) { 191 return is_float512vector(bt, sid) || is_float512species(bt, sid) || is_float512mask(bt, sid); 192 } 193 static bool is_float_vec_or_mask(BasicType bt, vmSymbols::SID sid) { 194 return is_float64(bt, sid) || is_float128(bt, sid) || is_float256(bt, sid) || is_float512(bt, sid); 195 } 196 static bool is_double64vector(BasicType bt, vmSymbols::SID sid) { 197 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double64Vector); 198 } 199 static bool is_double64species(BasicType bt, vmSymbols::SID sid) { 200 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double64Vector_Double64Species); 201 } 202 static bool is_double64mask(BasicType bt, vmSymbols::SID sid) { 203 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double64Vector_Double64Mask); 204 } 205 static bool is_double64shuffle(BasicType bt, vmSymbols::SID sid) { 206 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double64Vector_Double64Shuffle); 207 } 208 static bool is_double64(BasicType bt, vmSymbols::SID sid) { 209 return is_double64vector(bt, sid) || is_double64species(bt, sid) || is_double64mask(bt, sid); 210 } 211 static bool is_double128vector(BasicType bt, vmSymbols::SID sid) { 212 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double128Vector); 213 } 214 static bool is_double128species(BasicType bt, vmSymbols::SID sid) { 215 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double128Vector_Double128Species); 216 } 217 static bool is_double128mask(BasicType bt, vmSymbols::SID sid) { 218 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double128Vector_Double128Mask); 219 } 220 static bool is_double128shuffle(BasicType bt, vmSymbols::SID sid) { 221 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double128Vector_Double128Shuffle); 222 } 223 static bool is_double128(BasicType bt, vmSymbols::SID sid) { 224 return is_double128vector(bt, sid) || is_double128species(bt, sid) || is_double128mask(bt, sid); 225 } 226 static bool is_double256vector(BasicType bt, vmSymbols::SID sid) { 227 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double256Vector); 228 } 229 static bool is_double256species(BasicType bt, vmSymbols::SID sid) { 230 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double256Vector_Double256Species); 231 } 232 static bool is_double256mask(BasicType bt, vmSymbols::SID sid) { 233 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double256Vector_Double256Mask); 234 } 235 static bool is_double256shuffle(BasicType bt, vmSymbols::SID sid) { 236 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double256Vector_Double256Shuffle); 237 } 238 static bool is_double256(BasicType bt, vmSymbols::SID sid) { 239 return is_double256vector(bt, sid) || is_double256species(bt, sid) || is_double256mask(bt, sid); 240 } 241 static bool is_double512vector(BasicType bt, vmSymbols::SID sid) { 242 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double512Vector); 243 } 244 static bool is_double512species(BasicType bt, vmSymbols::SID sid) { 245 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double512Vector_Double512Species); 246 } 247 static bool is_double512mask(BasicType bt, vmSymbols::SID sid) { 248 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double512Vector_Double512Mask); 249 } 250 static bool is_double512shuffle(BasicType bt, vmSymbols::SID sid) { 251 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double512Vector_Double512Shuffle); 252 } 253 static bool is_double512(BasicType bt, vmSymbols::SID sid) { 254 return is_double512vector(bt, sid) || is_double512species(bt, sid) || is_double512mask(bt, sid); 255 } 256 static bool is_double_vec_or_mask(BasicType bt, vmSymbols::SID sid) { 257 return is_double64(bt, sid) || is_double128(bt, sid) || is_double256(bt, sid) || is_double512(bt, sid); 258 } 259 static bool is_int64vector(BasicType bt, vmSymbols::SID sid) { 260 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int64Vector); 261 } 262 static bool is_int64species(BasicType bt, vmSymbols::SID sid) { 263 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int64Vector_Int64Species); 264 } 265 static bool is_int64mask(BasicType bt, vmSymbols::SID sid) { 266 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int64Vector_Int64Mask); 267 } 268 static bool is_int64shuffle(BasicType bt, vmSymbols::SID sid) { 269 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int64Vector_Int64Shuffle); 270 } 271 static bool is_int64(BasicType bt, vmSymbols::SID sid) { 272 return is_int64vector(bt, sid) || is_int64species(bt, sid) || is_int64mask(bt, sid); 273 } 274 static bool is_int128vector(BasicType bt, vmSymbols::SID sid) { 275 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int128Vector); 276 } 277 static bool is_int128species(BasicType bt, vmSymbols::SID sid) { 278 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int128Vector_Int128Species); 279 } 280 static bool is_int128mask(BasicType bt, vmSymbols::SID sid) { 281 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int128Vector_Int128Mask); 282 } 283 static bool is_int128shuffle(BasicType bt, vmSymbols::SID sid) { 284 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int128Vector_Int128Shuffle); 285 } 286 static bool is_int128(BasicType bt, vmSymbols::SID sid) { 287 return is_int128vector(bt, sid) || is_int128species(bt, sid) || is_int128mask(bt, sid); 288 } 289 static bool is_int256vector(BasicType bt, vmSymbols::SID sid) { 290 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int256Vector); 291 } 292 static bool is_int256species(BasicType bt, vmSymbols::SID sid) { 293 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int256Vector_Int256Species); 294 } 295 static bool is_int256mask(BasicType bt, vmSymbols::SID sid) { 296 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int256Vector_Int256Mask); 297 } 298 static bool is_int256shuffle(BasicType bt, vmSymbols::SID sid) { 299 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int256Vector_Int256Shuffle); 300 } 301 static bool is_int256(BasicType bt, vmSymbols::SID sid) { 302 return is_int256vector(bt, sid) || is_int256species(bt, sid) || is_int256mask(bt, sid); 303 } 304 static bool is_int512vector(BasicType bt, vmSymbols::SID sid) { 305 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int512Vector); 306 } 307 static bool is_int512species(BasicType bt, vmSymbols::SID sid) { 308 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int512Vector_Int512Species); 309 } 310 static bool is_int512mask(BasicType bt, vmSymbols::SID sid) { 311 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int512Vector_Int512Mask); 312 } 313 static bool is_int512shuffle(BasicType bt, vmSymbols::SID sid) { 314 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int512Vector_Int512Shuffle); 315 } 316 static bool is_int512(BasicType bt, vmSymbols::SID sid) { 317 return is_int512vector(bt, sid) || is_int512species(bt, sid) || is_int512mask(bt, sid); 318 } 319 static bool is_int_vec_or_mask(BasicType bt, vmSymbols::SID sid) { 320 return is_int64(bt, sid) || is_int128(bt, sid) || is_int256(bt, sid) || is_int512(bt, sid); 321 } 322 static bool is_long64vector(BasicType bt, vmSymbols::SID sid) { 323 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long64Vector); 324 } 325 static bool is_long64species(BasicType bt, vmSymbols::SID sid) { 326 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long64Vector_Long64Species); 327 } 328 static bool is_long64mask(BasicType bt, vmSymbols::SID sid) { 329 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long64Vector_Long64Mask); 330 } 331 static bool is_long64shuffle(BasicType bt, vmSymbols::SID sid) { 332 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long64Vector_Long64Shuffle); 333 } 334 static bool is_long64(BasicType bt, vmSymbols::SID sid) { 335 return is_long64vector(bt, sid) || is_long64species(bt, sid) || is_long64mask(bt, sid); 336 } 337 static bool is_long128vector(BasicType bt, vmSymbols::SID sid) { 338 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long128Vector); 339 } 340 static bool is_long128species(BasicType bt, vmSymbols::SID sid) { 341 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long128Vector_Long128Species); 342 } 343 static bool is_long128mask(BasicType bt, vmSymbols::SID sid) { 344 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long128Vector_Long128Mask); 345 } 346 static bool is_long128shuffle(BasicType bt, vmSymbols::SID sid) { 347 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long128Vector_Long128Shuffle); 348 } 349 static bool is_long128(BasicType bt, vmSymbols::SID sid) { 350 return is_long128vector(bt, sid) || is_long128species(bt, sid) || is_long128mask(bt, sid); 351 } 352 static bool is_long256vector(BasicType bt, vmSymbols::SID sid) { 353 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long256Vector); 354 } 355 static bool is_long256species(BasicType bt, vmSymbols::SID sid) { 356 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long256Vector_Long256Species); 357 } 358 static bool is_long256mask(BasicType bt, vmSymbols::SID sid) { 359 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long256Vector_Long256Mask); 360 } 361 static bool is_long256shuffle(BasicType bt, vmSymbols::SID sid) { 362 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long256Vector_Long256Shuffle); 363 } 364 static bool is_long256(BasicType bt, vmSymbols::SID sid) { 365 return is_long256vector(bt, sid) || is_long256species(bt, sid) || is_long256mask(bt, sid); 366 } 367 static bool is_long512vector(BasicType bt, vmSymbols::SID sid) { 368 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long512Vector); 369 } 370 static bool is_long512species(BasicType bt, vmSymbols::SID sid) { 371 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long512Vector_Long512Species); 372 } 373 static bool is_long512mask(BasicType bt, vmSymbols::SID sid) { 374 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long512Vector_Long512Mask); 375 } 376 static bool is_long512shuffle(BasicType bt, vmSymbols::SID sid) { 377 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long512Vector_Long512Shuffle); 378 } 379 static bool is_long512(BasicType bt, vmSymbols::SID sid) { 380 return is_long512vector(bt, sid) || is_long512species(bt, sid) || is_long512mask(bt, sid); 381 } 382 static bool is_long_vec_or_mask(BasicType bt, vmSymbols::SID sid) { 383 return is_long64(bt, sid) || is_long128(bt, sid) || is_long256(bt, sid) || is_long512(bt, sid); 384 } 385 static bool is_byte64vector(BasicType bt, vmSymbols::SID sid) { 386 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte64Vector); 387 } 388 static bool is_byte64species(BasicType bt, vmSymbols::SID sid) { 389 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte64Vector_Byte64Species); 390 } 391 static bool is_byte64mask(BasicType bt, vmSymbols::SID sid) { 392 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte64Vector_Byte64Mask); 393 } 394 static bool is_byte64shuffle(BasicType bt, vmSymbols::SID sid) { 395 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte64Vector_Byte64Shuffle); 396 } 397 static bool is_byte64(BasicType bt, vmSymbols::SID sid) { 398 return is_byte64vector(bt, sid) || is_byte64species(bt, sid) || is_byte64mask(bt, sid); 399 } 400 static bool is_byte128vector(BasicType bt, vmSymbols::SID sid) { 401 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte128Vector); 402 } 403 static bool is_byte128species(BasicType bt, vmSymbols::SID sid) { 404 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte128Vector_Byte128Species); 405 } 406 static bool is_byte128mask(BasicType bt, vmSymbols::SID sid) { 407 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte128Vector_Byte128Mask); 408 } 409 static bool is_byte128shuffle(BasicType bt, vmSymbols::SID sid) { 410 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte128Vector_Byte128Shuffle); 411 } 412 static bool is_byte128(BasicType bt, vmSymbols::SID sid) { 413 return is_byte128vector(bt, sid) || is_byte128species(bt, sid) || is_byte128mask(bt, sid); 414 } 415 static bool is_byte256vector(BasicType bt, vmSymbols::SID sid) { 416 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte256Vector); 417 } 418 static bool is_byte256species(BasicType bt, vmSymbols::SID sid) { 419 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte256Vector_Byte256Species); 420 } 421 static bool is_byte256mask(BasicType bt, vmSymbols::SID sid) { 422 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte256Vector_Byte256Mask); 423 } 424 static bool is_byte256shuffle(BasicType bt, vmSymbols::SID sid) { 425 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte256Vector_Byte256Shuffle); 426 } 427 static bool is_byte256(BasicType bt, vmSymbols::SID sid) { 428 return is_byte256vector(bt, sid) || is_byte256species(bt, sid) || is_byte256mask(bt, sid); 429 } 430 static bool is_byte512vector(BasicType bt, vmSymbols::SID sid) { 431 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte512Vector); 432 } 433 static bool is_byte512species(BasicType bt, vmSymbols::SID sid) { 434 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte512Vector_Byte512Species); 435 } 436 static bool is_byte512mask(BasicType bt, vmSymbols::SID sid) { 437 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte512Vector_Byte512Mask); 438 } 439 static bool is_byte512shuffle(BasicType bt, vmSymbols::SID sid) { 440 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte512Vector_Byte512Shuffle); 441 } 442 static bool is_byte512(BasicType bt, vmSymbols::SID sid) { 443 return is_byte512vector(bt, sid) || is_byte512species(bt, sid) || is_byte512mask(bt, sid); 444 } 445 static bool is_byte_vec_or_mask(BasicType bt, vmSymbols::SID sid) { 446 return is_byte64(bt, sid) || is_byte128(bt, sid) || is_byte256(bt, sid) || is_byte512(bt, sid); 447 } 448 static bool is_short64vector(BasicType bt, vmSymbols::SID sid) { 449 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short64Vector); 450 } 451 static bool is_short64species(BasicType bt, vmSymbols::SID sid) { 452 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short64Vector_Short64Species); 453 } 454 static bool is_short64mask(BasicType bt, vmSymbols::SID sid) { 455 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short64Vector_Short64Mask); 456 } 457 static bool is_short64shuffle(BasicType bt, vmSymbols::SID sid) { 458 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short64Vector_Short64Shuffle); 459 } 460 static bool is_short64(BasicType bt, vmSymbols::SID sid) { 461 return is_short64vector(bt, sid) || is_short64species(bt, sid) || is_short64mask(bt, sid); 462 } 463 static bool is_short128vector(BasicType bt, vmSymbols::SID sid) { 464 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short128Vector); 465 } 466 static bool is_short128species(BasicType bt, vmSymbols::SID sid) { 467 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short128Vector_Short128Species); 468 } 469 static bool is_short128mask(BasicType bt, vmSymbols::SID sid) { 470 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short128Vector_Short128Mask); 471 } 472 static bool is_short128shuffle(BasicType bt, vmSymbols::SID sid) { 473 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short128Vector_Short128Shuffle); 474 } 475 static bool is_short128(BasicType bt, vmSymbols::SID sid) { 476 return is_short128vector(bt, sid) || is_short128species(bt, sid) || is_short128mask(bt, sid); 477 } 478 static bool is_short256vector(BasicType bt, vmSymbols::SID sid) { 479 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short256Vector); 480 } 481 static bool is_short256species(BasicType bt, vmSymbols::SID sid) { 482 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short256Vector_Short256Species); 483 } 484 static bool is_short256mask(BasicType bt, vmSymbols::SID sid) { 485 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short256Vector_Short256Mask); 486 } 487 static bool is_short256shuffle(BasicType bt, vmSymbols::SID sid) { 488 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short256Vector_Short256Shuffle); 489 } 490 static bool is_short256(BasicType bt, vmSymbols::SID sid) { 491 return is_short256vector(bt, sid) || is_short256species(bt, sid) || is_short256mask(bt, sid); 492 } 493 static bool is_short512vector(BasicType bt, vmSymbols::SID sid) { 494 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short512Vector); 495 } 496 static bool is_short512species(BasicType bt, vmSymbols::SID sid) { 497 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short512Vector_Short512Species); 498 } 499 static bool is_short512mask(BasicType bt, vmSymbols::SID sid) { 500 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short512Vector_Short512Mask); 501 } 502 static bool is_short512shuffle(BasicType bt, vmSymbols::SID sid) { 503 return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short512Vector_Short512Shuffle); 504 } 505 static bool is_short512(BasicType bt, vmSymbols::SID sid) { 506 return is_short512vector(bt, sid) || is_short512species(bt, sid) || is_short512mask(bt, sid); 507 } 508 static bool is_short_vec_or_mask(BasicType bt, vmSymbols::SID sid) { 509 return is_short64(bt, sid) || is_short128(bt, sid) || is_short256(bt, sid) || is_short512(bt, sid); 510 } 511 512 #define __ basic_type(), as_klass()->name()->sid() 513 514 bool ciType::is_vectormask() { 515 return basic_type() == T_OBJECT && 516 (is_float64mask(__) || is_float128mask(__) || is_float256mask(__) || is_float512mask(__) || 517 is_double64mask(__) || is_double128mask(__) || is_double256mask(__) || is_double512mask(__) || 518 is_int64mask(__) || is_int128mask(__) || is_int256mask(__) || is_int512mask(__) || 519 is_long64mask(__) || is_long128mask(__) || is_long256mask(__) || is_long512mask(__) || 520 is_byte64mask(__) || is_byte128mask(__) || is_byte256mask(__) || is_byte512mask(__) || 521 is_short64mask(__) || is_short128mask(__) || is_short256mask(__) || is_short512mask(__)); 522 } 523 524 bool ciType::is_vectorshuffle() { 525 return basic_type() == T_OBJECT && 526 (is_float64shuffle(__) || is_float128shuffle(__) || is_float256shuffle(__) || is_float512shuffle(__) || 527 is_double64shuffle(__) || is_double128shuffle(__) || is_double256shuffle(__) || is_double512shuffle(__) || 528 is_int64shuffle(__) || is_int128shuffle(__) || is_int256shuffle(__) || is_int512shuffle(__) || 529 is_long64shuffle(__) || is_long128shuffle(__) || is_long256shuffle(__) || is_long512shuffle(__) || 530 is_byte64shuffle(__) || is_byte128shuffle(__) || is_byte256shuffle(__) || is_byte512shuffle(__) || 531 is_short64shuffle(__) || is_short128shuffle(__) || is_short256shuffle(__) || is_short512shuffle(__)); 532 } 533 534 bool ciType::is_vectorapi_vector() { 535 return is_float_vec_or_mask(__) || 536 is_double_vec_or_mask(__) || 537 is_int_vec_or_mask(__) || 538 is_long_vec_or_mask(__) || 539 is_byte_vec_or_mask(__) || 540 is_short_vec_or_mask(__); 541 } 542 543 int ciType::vectorapi_vector_size() { 544 if ( is_double64(__) || is_long64(__)) return 1; 545 if ( is_int64(__) || is_float64(__) || is_long128(__) || is_double128(__) ) return 2; 546 if ( is_short64(__) || is_int128(__) || is_float128(__) || is_long256(__) || is_double256(__) ) return 4; 547 if ( is_byte64(__) || is_short128(__) || is_int256(__) || is_float256(__) || is_long512(__) || is_double512(__) ) return 8; 548 if ( is_byte128(__) || is_short256(__) || is_int512(__) || is_float512(__) ) return 16; 549 if ( is_byte256(__) || is_short512(__) ) return 32; 550 if ( is_byte512(__) ) return 64; 551 return -1; |