< prev index next >
src/hotspot/share/classfile/vmSymbols.cpp
Print this page
@@ -97,17 +97,17 @@
_type_signatures[T_INT] = int_signature();
_type_signatures[T_LONG] = long_signature();
_type_signatures[T_SHORT] = short_signature();
_type_signatures[T_BOOLEAN] = bool_signature();
_type_signatures[T_VOID] = void_signature();
- // no single signatures for T_OBJECT or T_ARRAY
#ifdef ASSERT
for (int i = (int)T_BOOLEAN; i < (int)T_VOID+1; i++) {
Symbol* s = _type_signatures[i];
if (s == NULL) continue;
- BasicType st = signature_type(s);
- assert(st == i, "");
+ SignatureStream ss(s, false);
+ assert(ss.type() == i, "matching signature");
+ assert(!ss.is_reference(), "no single-char signature for T_OBJECT, etc.");
}
#endif
}
#ifdef ASSERT
@@ -207,24 +207,10 @@
soc->do_region((u_char*)&_symbols[FIRST_SID],
(SID_LIMIT - FIRST_SID) * sizeof(_symbols[0]));
soc->do_region((u_char*)_type_signatures, sizeof(_type_signatures));
}
-
-BasicType vmSymbols::signature_type(const Symbol* s) {
- assert(s != NULL, "checking");
- if (s->utf8_length() == 1) {
- BasicType result = char2type(s->char_at(0));
- if (is_java_primitive(result) || result == T_VOID) {
- assert(s == _type_signatures[result], "");
- return result;
- }
- }
- return T_OBJECT;
-}
-
-
static int mid_hint = (int)vmSymbols::FIRST_SID+1;
#ifndef PRODUCT
static int find_sid_calls, find_sid_probes;
// (Typical counts are calls=7000 and probes=17000.)
< prev index next >