src/hotspot/share/prims/jvmtiRedefineClasses.cpp
changeset 58722 cba8afa5cfed
parent 58479 35ce0ad5870a
child 59056 15936b142f86
equal deleted inserted replaced
58720:ae0af9fb3dbb 58722:cba8afa5cfed
  2164   byte_i_ref++;
  2164   byte_i_ref++;
  2165   log_debug(redefine, class, annotation)("tag='%c'", tag);
  2165   log_debug(redefine, class, annotation)("tag='%c'", tag);
  2166 
  2166 
  2167   switch (tag) {
  2167   switch (tag) {
  2168     // These BaseType tag values are from Table 4.2 in VM spec:
  2168     // These BaseType tag values are from Table 4.2 in VM spec:
  2169     case 'B':  // byte
  2169     case JVM_SIGNATURE_BYTE:
  2170     case 'C':  // char
  2170     case JVM_SIGNATURE_CHAR:
  2171     case 'D':  // double
  2171     case JVM_SIGNATURE_DOUBLE:
  2172     case 'F':  // float
  2172     case JVM_SIGNATURE_FLOAT:
  2173     case 'I':  // int
  2173     case JVM_SIGNATURE_INT:
  2174     case 'J':  // long
  2174     case JVM_SIGNATURE_LONG:
  2175     case 'S':  // short
  2175     case JVM_SIGNATURE_SHORT:
  2176     case 'Z':  // boolean
  2176     case JVM_SIGNATURE_BOOLEAN:
  2177 
  2177 
  2178     // The remaining tag values are from Table 4.8 in the 2nd-edition of
  2178     // The remaining tag values are from Table 4.8 in the 2nd-edition of
  2179     // the VM spec:
  2179     // the VM spec:
  2180     case 's':
  2180     case 's':
  2181     {
  2181     {
  2242         // propagate failure back to caller
  2242         // propagate failure back to caller
  2243         return false;
  2243         return false;
  2244       }
  2244       }
  2245       break;
  2245       break;
  2246 
  2246 
  2247     case '[':
  2247     case JVM_SIGNATURE_ARRAY:
  2248     {
  2248     {
  2249       if ((byte_i_ref + 2) > annotations_typeArray->length()) {
  2249       if ((byte_i_ref + 2) > annotations_typeArray->length()) {
  2250         // not enough room for a num_values field
  2250         // not enough room for a num_values field
  2251         log_debug(redefine, class, annotation)("length() is too small for a num_values field");
  2251         log_debug(redefine, class, annotation)("length() is too small for a num_values field");
  2252         return false;
  2252         return false;