hotspot/src/share/vm/opto/superword.cpp
changeset 767 64fb1fd7186d
parent 360 21d113ecbf6a
child 781 e1baa9c8f16f
equal deleted inserted replaced
766:d3e5868ddb33 767:64fb1fd7186d
  1422 }
  1422 }
  1423 
  1423 
  1424 //---------------------------container_type---------------------------
  1424 //---------------------------container_type---------------------------
  1425 // Smallest type containing range of values
  1425 // Smallest type containing range of values
  1426 const Type* SuperWord::container_type(const Type* t) {
  1426 const Type* SuperWord::container_type(const Type* t) {
  1427   if (t->isa_narrowoop()) t = t->is_narrowoop()->make_oopptr();
  1427   const Type* tp = t->make_ptr();
  1428   if (t->isa_aryptr()) {
  1428   if (tp && tp->isa_aryptr()) {
  1429     t = t->is_aryptr()->elem();
  1429     t = tp->is_aryptr()->elem();
  1430   }
  1430   }
  1431   if (t->basic_type() == T_INT) {
  1431   if (t->basic_type() == T_INT) {
  1432     if (t->higher_equal(TypeInt::BOOL))  return TypeInt::BOOL;
  1432     if (t->higher_equal(TypeInt::BOOL))  return TypeInt::BOOL;
  1433     if (t->higher_equal(TypeInt::BYTE))  return TypeInt::BYTE;
  1433     if (t->higher_equal(TypeInt::BYTE))  return TypeInt::BYTE;
  1434     if (t->higher_equal(TypeInt::CHAR))  return TypeInt::CHAR;
  1434     if (t->higher_equal(TypeInt::CHAR))  return TypeInt::CHAR;