src/hotspot/share/runtime/javaCalls.cpp
changeset 58273 08a5148e7c4e
parent 55734 51f5b4c29626
child 58545 725244418646
equal deleted inserted replaced
58272:e27564cd10e3 58273:08a5148e7c4e
   388   }
   388   }
   389 
   389 
   390   // Figure out if the result value is an oop or not (Note: This is a different value
   390   // Figure out if the result value is an oop or not (Note: This is a different value
   391   // than result_type. result_type will be T_INT of oops. (it is about size)
   391   // than result_type. result_type will be T_INT of oops. (it is about size)
   392   BasicType result_type = runtime_type_from(result);
   392   BasicType result_type = runtime_type_from(result);
   393   bool oop_result_flag = (result->get_type() == T_OBJECT || result->get_type() == T_ARRAY);
   393   bool oop_result_flag = is_reference_type(result->get_type());
   394 
   394 
   395   // Find receiver
   395   // Find receiver
   396   Handle receiver = (!method->is_static()) ? args->receiver() : Handle();
   396   Handle receiver = (!method->is_static()) ? args->receiver() : Handle();
   397 
   397 
   398   // When we reenter Java, we need to reenable the reserved/yellow zone which
   398   // When we reenter Java, we need to reenable the reserved/yellow zone which
   617 
   617 
   618 void JavaCallArguments::verify(const methodHandle& method, BasicType return_type) {
   618 void JavaCallArguments::verify(const methodHandle& method, BasicType return_type) {
   619   guarantee(method->size_of_parameters() == size_of_parameters(), "wrong no. of arguments pushed");
   619   guarantee(method->size_of_parameters() == size_of_parameters(), "wrong no. of arguments pushed");
   620 
   620 
   621   // Treat T_OBJECT and T_ARRAY as the same
   621   // Treat T_OBJECT and T_ARRAY as the same
   622   if (return_type == T_ARRAY) return_type = T_OBJECT;
   622   if (is_reference_type(return_type)) return_type = T_OBJECT;
   623 
   623 
   624   // Check that oop information is correct
   624   // Check that oop information is correct
   625   Symbol* signature = method->signature();
   625   Symbol* signature = method->signature();
   626 
   626 
   627   SignatureChekker sc(signature,
   627   SignatureChekker sc(signature,