< 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 >