< prev index next >
src/share/vm/opto/type.cpp
Print this page
*** 267,292 ****
}
case T_ILLEGAL:
// Invalid ciConstant returned due to OutOfMemoryError in the CI
assert(Compile::current()->env()->failing(), "otherwise should not see this");
return NULL;
! }
// Fall through to failure
return NULL;
}
static ciConstant check_mismatched_access(ciConstant con, BasicType loadbt, bool is_unsigned) {
BasicType conbt = con.basic_type();
switch (conbt) {
case T_BOOLEAN: conbt = T_BYTE; break;
case T_ARRAY: conbt = T_OBJECT; break;
}
switch (loadbt) {
case T_BOOLEAN: loadbt = T_BYTE; break;
case T_NARROWOOP: loadbt = T_OBJECT; break;
case T_ARRAY: loadbt = T_OBJECT; break;
case T_ADDRESS: loadbt = T_OBJECT; break;
}
if (conbt == loadbt) {
if (is_unsigned && conbt == T_BYTE) {
// LoadB (T_BYTE) with a small mask (<=8-bit) is converted to LoadUB (T_BYTE).
return ciConstant(T_INT, con.as_int() & 0xFF);
--- 267,295 ----
}
case T_ILLEGAL:
// Invalid ciConstant returned due to OutOfMemoryError in the CI
assert(Compile::current()->env()->failing(), "otherwise should not see this");
return NULL;
! default:
// Fall through to failure
return NULL;
+ }
}
static ciConstant check_mismatched_access(ciConstant con, BasicType loadbt, bool is_unsigned) {
BasicType conbt = con.basic_type();
switch (conbt) {
case T_BOOLEAN: conbt = T_BYTE; break;
case T_ARRAY: conbt = T_OBJECT; break;
+ default: break;
}
switch (loadbt) {
case T_BOOLEAN: loadbt = T_BYTE; break;
case T_NARROWOOP: loadbt = T_OBJECT; break;
case T_ARRAY: loadbt = T_OBJECT; break;
case T_ADDRESS: loadbt = T_OBJECT; break;
+ default: break;
}
if (conbt == loadbt) {
if (is_unsigned && conbt == T_BYTE) {
// LoadB (T_BYTE) with a small mask (<=8-bit) is converted to LoadUB (T_BYTE).
return ciConstant(T_INT, con.as_int() & 0xFF);
*** 1046,1059 ****
case Memory:
case Bottom:
case FloatBot:
case DoubleBot:
return false; // never a singleton, therefore never empty
- }
ShouldNotReachHere();
return false;
}
//------------------------------dump_stats-------------------------------------
// Dump collected statistics to stderr
#ifndef PRODUCT
--- 1049,1063 ----
case Memory:
case Bottom:
case FloatBot:
case DoubleBot:
return false; // never a singleton, therefore never empty
+ default:
ShouldNotReachHere();
return false;
+ }
}
//------------------------------dump_stats-------------------------------------
// Dump collected statistics to stderr
#ifndef PRODUCT
*** 3962,3971 ****
--- 3966,3977 ----
case AnyNull:
case NotNull:
st->print(":%s", ptr_msg[_ptr]);
if( _klass_is_exact ) st->print(":exact");
break;
+ default:
+ break;
}
if( _offset ) { // Dump offset, if any
if( _offset == OffsetBot ) st->print("+any");
else if( _offset == OffsetTop ) st->print("+unknown");
*** 4078,4087 ****
--- 4084,4096 ----
case T_NARROWKLASS:
case T_CONFLICT:
case T_ILLEGAL:
case T_VOID:
etype = T_BYTE; // will produce conservatively high value
+ break;
+ default:
+ break;
}
cache = res = arrayOopDesc::max_array_length(etype);
}
return res;
}
*** 4428,4437 ****
--- 4437,4448 ----
case AnyNull:
case NotNull:
st->print(":%s", ptr_msg[_ptr]);
if( _klass_is_exact ) st->print(":exact");
break;
+ default:
+ break;
}
if( _offset != 0 ) {
int header_size = objArrayOopDesc::header_size() * wordSize;
if( _offset == OffsetTop ) st->print("+undefined");
*** 5193,5202 ****
--- 5204,5215 ----
case TopPTR:
case AnyNull:
st->print(":%s", ptr_msg[_ptr]);
if( _klass_is_exact ) st->print(":exact");
break;
+ default:
+ break;
}
if( _offset ) { // Dump offset, if any
if( _offset == OffsetBot ) { st->print("+any"); }
else if( _offset == OffsetTop ) { st->print("+unknown"); }
< prev index next >