< prev index next >

src/hotspot/share/ci/ciMethodType.cpp

Print this page

        

@@ -36,13 +36,14 @@
     Klass* k = java_lang_Class::as_Klass(klass_oop);
     return CURRENT_ENV->get_klass(k);
   }
 }
 
-ciType* ciMethodType::rtype() const {
+ciType* ciMethodType::rtype(bool& never_null) const {
   GUARDED_VM_ENTRY(
     oop rtype = java_lang_invoke_MethodType::rtype(get_oop());
+    never_null = (java_lang_Class::inline_type_mirror(rtype) == rtype);
     return class_to_citype(rtype);
   )
 }
 
 int ciMethodType::ptype_count() const {

@@ -51,11 +52,12 @@
 
 int ciMethodType::ptype_slot_count() const {
   GUARDED_VM_ENTRY(return java_lang_invoke_MethodType::ptype_slot_count(get_oop());)
 }
 
-ciType* ciMethodType::ptype_at(int index) const {
+ciType* ciMethodType::ptype_at(int index, bool& never_null) const {
   GUARDED_VM_ENTRY(
     oop ptype = java_lang_invoke_MethodType::ptype(get_oop(), index);
+    never_null = (java_lang_Class::inline_type_mirror(ptype) == ptype);
     return class_to_citype(ptype);
   )
 }
< prev index next >