< prev index next >
src/hotspot/share/ci/ciStreams.cpp
Print this page
*** 169,178 ****
--- 169,179 ----
case Bytecodes::_checkcast:
case Bytecodes::_instanceof:
case Bytecodes::_anewarray:
case Bytecodes::_multianewarray:
case Bytecodes::_new:
+ case Bytecodes::_defaultvalue:
case Bytecodes::_newarray:
return get_index_u2();
default:
ShouldNotReachHere();
return 0;
*** 189,198 ****
--- 190,209 ----
constantPoolHandle cpool(_method->get_Method()->constants());
return CURRENT_ENV->get_klass_by_index(cpool, get_klass_index(), will_link, _holder);
}
// ------------------------------------------------------------------
+ // ciBytecodeStream::is_klass_never_null
+ //
+ // Get information about nullability from the constant pool.
+ bool ciBytecodeStream::is_klass_never_null() const {
+ VM_ENTRY_MARK;
+ constantPoolHandle cpool(_method->get_Method()->constants());
+ return CURRENT_ENV->is_klass_never_null(cpool, get_klass_index());
+ }
+
+ // ------------------------------------------------------------------
// ciBytecodeStream::get_constant_raw_index
//
// If this bytecode is one of the ldc variants, get the index of the
// referenced constant.
int ciBytecodeStream::get_constant_raw_index() const {
*** 257,267 ****
// index of the referenced field.
int ciBytecodeStream::get_field_index() {
assert(cur_bc() == Bytecodes::_getfield ||
cur_bc() == Bytecodes::_putfield ||
cur_bc() == Bytecodes::_getstatic ||
! cur_bc() == Bytecodes::_putstatic, "wrong bc");
return get_index_u2_cpcache();
}
// ------------------------------------------------------------------
--- 268,279 ----
// index of the referenced field.
int ciBytecodeStream::get_field_index() {
assert(cur_bc() == Bytecodes::_getfield ||
cur_bc() == Bytecodes::_putfield ||
cur_bc() == Bytecodes::_getstatic ||
! cur_bc() == Bytecodes::_putstatic ||
! cur_bc() == Bytecodes::_withfield, "wrong bc");
return get_index_u2_cpcache();
}
// ------------------------------------------------------------------
< prev index next >