< prev index next >

src/java.base/share/native/libverify/check_code.c

Print this page
*** 3722,16 ***
            case JVM_SIGNATURE_DOUBLE:
            case JVM_SIGNATURE_LONG:
            case JVM_SIGNATURE_FUNC:  /* ignore initial (, if given */
              break;
            case JVM_SIGNATURE_CLASS:
              while (*p != JVM_SIGNATURE_ENDCLASS) p++;
              break;
            case JVM_SIGNATURE_ARRAY:
              while (*p == JVM_SIGNATURE_ARRAY) p++;
              /* If an array of classes, skip over class name, too. */
!             if (*p == JVM_SIGNATURE_CLASS) {
                  while (*p != JVM_SIGNATURE_ENDCLASS) p++;
              }
              break;
            default:
              /* Indicate an error. */
--- 3722,17 ---
            case JVM_SIGNATURE_DOUBLE:
            case JVM_SIGNATURE_LONG:
            case JVM_SIGNATURE_FUNC:  /* ignore initial (, if given */
              break;
            case JVM_SIGNATURE_CLASS:
+           case JVM_SIGNATURE_INLINE_TYPE:
              while (*p != JVM_SIGNATURE_ENDCLASS) p++;
              break;
            case JVM_SIGNATURE_ARRAY:
              while (*p == JVM_SIGNATURE_ARRAY) p++;
              /* If an array of classes, skip over class name, too. */
!             if (*p == JVM_SIGNATURE_CLASS || *p == JVM_SIGNATURE_INLINE_TYPE) {
                  while (*p != JVM_SIGNATURE_ENDCLASS) p++;
              }
              break;
            default:
              /* Indicate an error. */

*** 3806,11 ***
  
              case JVM_SIGNATURE_ARRAY:
                  array_depth++;
                  continue;       /* only time we ever do the loop > 1 */
  
!             case JVM_SIGNATURE_CLASS: {
                  char buffer_space[256];
                  char *buffer = buffer_space;
                  char *finish = strchr(p, JVM_SIGNATURE_ENDCLASS);
                  int length;
                  if (finish == NULL) {
--- 3807,12 ---
  
              case JVM_SIGNATURE_ARRAY:
                  array_depth++;
                  continue;       /* only time we ever do the loop > 1 */
  
!             case JVM_SIGNATURE_CLASS:
+             case JVM_SIGNATURE_INLINE_TYPE: {
                  char buffer_space[256];
                  char *buffer = buffer_space;
                  char *finish = strchr(p, JVM_SIGNATURE_ENDCLASS);
                  int length;
                  if (finish == NULL) {

*** 4189,18 ***
            case JVM_SIGNATURE_INT:
            case JVM_SIGNATURE_FLOAT:
              args_size += 1;
              break;
            case JVM_SIGNATURE_CLASS:
              args_size += 1;
              while (*p != JVM_SIGNATURE_ENDCLASS) p++;
              break;
            case JVM_SIGNATURE_ARRAY:
              args_size += 1;
              while ((*p == JVM_SIGNATURE_ARRAY)) p++;
              /* If an array of classes, skip over class name, too. */
!             if (*p == JVM_SIGNATURE_CLASS) {
                  while (*p != JVM_SIGNATURE_ENDCLASS)
                    p++;
              }
              break;
            case JVM_SIGNATURE_DOUBLE:
--- 4191,19 ---
            case JVM_SIGNATURE_INT:
            case JVM_SIGNATURE_FLOAT:
              args_size += 1;
              break;
            case JVM_SIGNATURE_CLASS:
+           case JVM_SIGNATURE_INLINE_TYPE:
              args_size += 1;
              while (*p != JVM_SIGNATURE_ENDCLASS) p++;
              break;
            case JVM_SIGNATURE_ARRAY:
              args_size += 1;
              while ((*p == JVM_SIGNATURE_ARRAY)) p++;
              /* If an array of classes, skip over class name, too. */
!             if (*p == JVM_SIGNATURE_CLASS || *p == JVM_SIGNATURE_INLINE_TYPE) {
                  while (*p != JVM_SIGNATURE_ENDCLASS)
                    p++;
              }
              break;
            case JVM_SIGNATURE_DOUBLE:
< prev index next >