--- 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();