src/hotspot/share/runtime/javaCalls.cpp
changeset 58273 08a5148e7c4e
parent 55734 51f5b4c29626
child 58545 725244418646
--- a/src/hotspot/share/runtime/javaCalls.cpp	Mon Sep 23 14:39:11 2019 -0400
+++ b/src/hotspot/share/runtime/javaCalls.cpp	Mon Sep 23 14:49:04 2019 -0400
@@ -390,7 +390,7 @@
   // Figure out if the result value is an oop or not (Note: This is a different value
   // than result_type. result_type will be T_INT of oops. (it is about size)
   BasicType result_type = runtime_type_from(result);
-  bool oop_result_flag = (result->get_type() == T_OBJECT || result->get_type() == T_ARRAY);
+  bool oop_result_flag = is_reference_type(result->get_type());
 
   // Find receiver
   Handle receiver = (!method->is_static()) ? args->receiver() : Handle();
@@ -619,7 +619,7 @@
   guarantee(method->size_of_parameters() == size_of_parameters(), "wrong no. of arguments pushed");
 
   // Treat T_OBJECT and T_ARRAY as the same
-  if (return_type == T_ARRAY) return_type = T_OBJECT;
+  if (is_reference_type(return_type)) return_type = T_OBJECT;
 
   // Check that oop information is correct
   Symbol* signature = method->signature();