src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp
changeset 54847 59ea39bb2809
parent 53967 2bd3e05d4c6f
child 55114 6515a96809a1
child 58678 9cf78a70fa4f
equal deleted inserted replaced
54846:e4049522b074 54847:59ea39bb2809
  1411 
  1411 
  1412     for (int i = 0; i < total_in_args ; i++ ) {
  1412     for (int i = 0; i < total_in_args ; i++ ) {
  1413       out_sig_bt[argc++] = in_sig_bt[i];
  1413       out_sig_bt[argc++] = in_sig_bt[i];
  1414     }
  1414     }
  1415   } else {
  1415   } else {
  1416     Thread* THREAD = Thread::current();
       
  1417     in_elem_bt = NEW_RESOURCE_ARRAY(BasicType, total_in_args);
  1416     in_elem_bt = NEW_RESOURCE_ARRAY(BasicType, total_in_args);
  1418     SignatureStream ss(method->signature());
  1417     SignatureStream ss(method->signature());
  1419     for (int i = 0; i < total_in_args ; i++ ) {
  1418     for (int i = 0; i < total_in_args ; i++ ) {
  1420       if (in_sig_bt[i] == T_ARRAY) {
  1419       if (in_sig_bt[i] == T_ARRAY) {
  1421         // Arrays are passed as int, elem* pair
  1420         // Arrays are passed as int, elem* pair
  1422         out_sig_bt[argc++] = T_INT;
  1421         out_sig_bt[argc++] = T_INT;
  1423         out_sig_bt[argc++] = T_ADDRESS;
  1422         out_sig_bt[argc++] = T_ADDRESS;
  1424         Symbol* atype = ss.as_symbol(CHECK_NULL);
  1423         Symbol* atype = ss.as_symbol();
  1425         const char* at = atype->as_C_string();
  1424         const char* at = atype->as_C_string();
  1426         if (strlen(at) == 2) {
  1425         if (strlen(at) == 2) {
  1427           assert(at[0] == '[', "must be");
  1426           assert(at[0] == '[', "must be");
  1428           switch (at[1]) {
  1427           switch (at[1]) {
  1429             case 'B': in_elem_bt[i]  = T_BYTE; break;
  1428             case 'B': in_elem_bt[i]  = T_BYTE; break;