< prev index next >
src/hotspot/share/ci/ciStreams.hpp
Print this page
@@ -219,10 +219,11 @@
// If this bytecode is a new, newarray, multianewarray, instanceof,
// or checkcast, get the referenced klass.
ciKlass* get_klass(bool& will_link);
int get_klass_index() const;
+ bool is_klass_never_null() const;
// If this bytecode is one of the ldc variants, get the referenced
// constant. Do not attempt to resolve it, since that would require
// execution of Java code. If it is not resolved, return an unloaded
// object (ciConstant.as_object()->is_loaded() == false).
@@ -285,10 +286,18 @@
} else {
return _sig->type_at(_pos);
}
}
+ bool is_never_null() {
+ if (at_return_type()) {
+ return _sig->returns_never_null();
+ } else {
+ return _sig->is_never_null_at(_pos);
+ }
+ }
+
// next klass in the signature
ciKlass* next_klass() {
ciKlass* sig_k;
if (_holder != NULL) {
sig_k = _holder;
< prev index next >