2435 }
2436
2437 //------------------------------singleton--------------------------------------
2438 // TRUE if Type is a singleton type, FALSE otherwise. Singletons are simple constants.
2439 bool TypeValueType::singleton(void) const {
2440 // FIXME
2441 return false;
2442 }
2443
2444 //------------------------------empty------------------------------------------
2445 // TRUE if Type is a type with no values, FALSE otherwise.
2446 bool TypeValueType::empty(void) const {
2447 // FIXME
2448 return false;
2449 }
2450
2451 //------------------------------dump2------------------------------------------
2452 #ifndef PRODUCT
2453 void TypeValueType::dump2(Dict &d, uint depth, outputStream* st) const {
2454 st->print("valuetype[%d]:{", _vk->field_count());
2455 st->print("%s", _vk->field_type_by_index(0)->name());
2456 for (int i = 1; i < _vk->field_count(); ++i) {
2457 st->print(", %s", _vk->field_type_by_index(i)->name());
2458 }
2459 st->print("}");
2460 }
2461 #endif
2462
2463 //==============================TypeVect=======================================
2464 // Convenience common pre-built types.
2465 const TypeVect *TypeVect::VECTS = NULL; // 32-bit vectors
2466 const TypeVect *TypeVect::VECTD = NULL; // 64-bit vectors
2467 const TypeVect *TypeVect::VECTX = NULL; // 128-bit vectors
2468 const TypeVect *TypeVect::VECTY = NULL; // 256-bit vectors
2469 const TypeVect *TypeVect::VECTZ = NULL; // 512-bit vectors
2470
2471 //------------------------------make-------------------------------------------
2472 const TypeVect* TypeVect::make(const Type *elem, uint length) {
2473 BasicType elem_bt = elem->array_element_basic_type();
2474 assert(is_java_primitive(elem_bt), "only primitive types in vector");
2475 assert(length > 1 && is_power_of_2(length), "vector length is power of 2");
|
2435 }
2436
2437 //------------------------------singleton--------------------------------------
2438 // TRUE if Type is a singleton type, FALSE otherwise. Singletons are simple constants.
2439 bool TypeValueType::singleton(void) const {
2440 // FIXME
2441 return false;
2442 }
2443
2444 //------------------------------empty------------------------------------------
2445 // TRUE if Type is a type with no values, FALSE otherwise.
2446 bool TypeValueType::empty(void) const {
2447 // FIXME
2448 return false;
2449 }
2450
2451 //------------------------------dump2------------------------------------------
2452 #ifndef PRODUCT
2453 void TypeValueType::dump2(Dict &d, uint depth, outputStream* st) const {
2454 st->print("valuetype[%d]:{", _vk->field_count());
2455 st->print("%s", _vk->field_count() != 0 ? _vk->field_type_by_index(0)->name() : "empty");
2456 for (int i = 1; i < _vk->field_count(); ++i) {
2457 st->print(", %s", _vk->field_type_by_index(i)->name());
2458 }
2459 st->print("}");
2460 }
2461 #endif
2462
2463 //==============================TypeVect=======================================
2464 // Convenience common pre-built types.
2465 const TypeVect *TypeVect::VECTS = NULL; // 32-bit vectors
2466 const TypeVect *TypeVect::VECTD = NULL; // 64-bit vectors
2467 const TypeVect *TypeVect::VECTX = NULL; // 128-bit vectors
2468 const TypeVect *TypeVect::VECTY = NULL; // 256-bit vectors
2469 const TypeVect *TypeVect::VECTZ = NULL; // 512-bit vectors
2470
2471 //------------------------------make-------------------------------------------
2472 const TypeVect* TypeVect::make(const Type *elem, uint length) {
2473 BasicType elem_bt = elem->array_element_basic_type();
2474 assert(is_java_primitive(elem_bt), "only primitive types in vector");
2475 assert(length > 1 && is_power_of_2(length), "vector length is power of 2");
|