< prev index next >

src/hotspot/share/runtime/signature.cpp

Print this page

        

@@ -38,11 +38,11 @@
 // Signature syntax:
 //
 // Signature  = "(" {Parameter} ")" ReturnType.
 // Parameter  = FieldType.
 // ReturnType = FieldType | "V".
-// FieldType  = "B" | "C" | "D" | "F" | "I" | "J" | "S" | "Z" | "L" ClassName ";" | "Q" ValueTypeName ";" | "[" FieldType.
+// FieldType  = "B" | "C" | "D" | "F" | "I" | "J" | "S" | "Z" | "L" ClassName ";" | "[" FieldType.
 // ClassName  = string.
 
 
 SignatureIterator::SignatureIterator(Symbol* signature) {
   _signature       = signature;

@@ -95,28 +95,19 @@
         do_object(begin, _index);
       }
       if (_parameter_index < 0 ) _return_type = T_OBJECT;
       size = T_OBJECT_size;
       break;
-    case 'Q':
-      { int begin = ++_index;
-        Symbol* sig = _signature;
-        while (sig->byte_at(_index++) != ';') ;
-        do_valuetype(begin, _index);
-      }
-      if (_parameter_index < 0 ) _return_type = T_VALUETYPE;
-      size = T_VALUETYPE_size;
-      break;
     case '[':
       { int begin = ++_index;
         skip_optional_size();
         Symbol* sig = _signature;
         while (sig->byte_at(_index) == '[') {
           _index++;
           skip_optional_size();
         }
-        if (sig->byte_at(_index) == 'L' || sig->byte_at(_index) == 'Q') {
+        if (sig->byte_at(_index) == 'L') {
           while (sig->byte_at(_index++) != ';') ;
         } else {
           _index++;
         }
         do_array(begin, _index);

@@ -199,14 +190,10 @@
         break;
       case obj_parm:
         do_object(0, 0);
         _parameter_index += T_OBJECT_size;
         break;
-      case valuetype_parm:
-        do_valuetype(0,0);
-        _parameter_index += T_VALUETYPE_size;
-        break;
       case long_parm:
         do_long();
         _parameter_index += T_LONG_size;
         break;
       case float_parm:

@@ -253,11 +240,10 @@
       case 'V':
         {
           _index++;
         }
         break;
-      case 'Q':
       case 'L':
         {
           while (sig->byte_at(_index++) != ';') ;
         }
         break;

@@ -267,11 +253,11 @@
           skip_optional_size();
           while (sig->byte_at(_index) == '[') {
             _index++;
             skip_optional_size();
           }
-          if (sig->byte_at(_index) == 'L' || sig->byte_at(_index) == 'Q') {
+          if (sig->byte_at(_index) == 'L') {
             while (sig->byte_at(_index++) != ';') ;
           } else {
             _index++;
           }
         }

@@ -331,16 +317,10 @@
       _type = T_OBJECT;
       Symbol* sig = _signature;
       while (sig->byte_at(_end++) != ';');
       break;
     }
-    case 'Q': {
-      _type = T_VALUETYPE;
-      Symbol* sig = _signature;
-      while (sig->byte_at(_end++) != ';');
-      break;
-    }
     case '[': {
       _type = T_ARRAY;
       Symbol* sig = _signature;
       char c = sig->byte_at(_end);
       while ('0' <= c && c <= '9') c = sig->byte_at(_end++);

@@ -388,11 +368,11 @@
 
   if (_type == T_OBJECT || _type == T_VALUETYPE) {
     begin++;
     end--;
     if (begin == end) {
-      return (_type == T_OBJECT) ? vmSymbols::java_lang_Object() : vmSymbols::java_lang____Value();
+      return vmSymbols::java_lang_Object();
     }
   }
 
   // Save names for cleaning up reference count at the end of
   // SignatureStream scope.

@@ -431,11 +411,11 @@
 
   if (_type == T_OBJECT || _type == T_VALUETYPE) {
     begin++;
     end--;
     if (begin == end) {
-      return (_type == T_OBJECT) ? vmSymbols::java_lang_Object() : vmSymbols::java_lang____Value();
+      return vmSymbols::java_lang_Object();
     }
   }
 
   char* buffer = NEW_RESOURCE_ARRAY(char, end - begin);
   for (int index = begin; index < end; index++) {

@@ -510,11 +490,10 @@
   }
   switch (type[index]) {
     case 'B': case 'C': case 'D': case 'F': case 'I':
     case 'J': case 'S': case 'Z': case 'V':
       return index + 1;
-    case 'Q':
     case 'L':
       for (index = index + 1; index < limit; ++index) {
         char c = type[index];
         if (c == ';') {
           return index + 1;
< prev index next >