1149 static Symbol* name() { \
1150 return _symbols[VM_SYMBOL_ENUM_NAME(name)]; \
1151 }
1152 VM_SYMBOLS_DO(VM_SYMBOL_DECLARE, VM_SYMBOL_DECLARE)
1153 #undef VM_SYMBOL_DECLARE
1154
1155 // Sharing support
1156 static void symbols_do(SymbolClosure* f);
1157 static void serialize(SerializeClosure* soc);
1158
1159 static Symbol* type_signature(BasicType t) {
1160 assert((uint)t < T_VOID+1, "range check");
1161 assert(_type_signatures[t] != NULL, "domain check");
1162 return _type_signatures[t];
1163 }
1164 // inverse of type_signature; returns T_OBJECT if s is not recognized
1165 static BasicType signature_type(Symbol* s);
1166
1167 static Symbol* symbol_at(SID id) {
1168 assert(id >= FIRST_SID && id < SID_LIMIT, "oob");
1169 assert(_symbols[id] != NULL, "init");
1170 return _symbols[id];
1171 }
1172
1173 // Returns symbol's SID if one is assigned, else NO_SID.
1174 static SID find_sid(Symbol* symbol);
1175 static SID find_sid(const char* symbol_name);
1176
1177 #ifndef PRODUCT
1178 // No need for this in the product:
1179 static const char* name_for(SID sid);
1180 #endif //PRODUCT
1181 };
1182
1183 // VM Intrinsic ID's uniquely identify some very special methods
1184 class vmIntrinsics: AllStatic {
1185 friend class vmSymbols;
1186 friend class ciObjectFactory;
1187
1188 public:
1189 // Accessing
|
1149 static Symbol* name() { \
1150 return _symbols[VM_SYMBOL_ENUM_NAME(name)]; \
1151 }
1152 VM_SYMBOLS_DO(VM_SYMBOL_DECLARE, VM_SYMBOL_DECLARE)
1153 #undef VM_SYMBOL_DECLARE
1154
1155 // Sharing support
1156 static void symbols_do(SymbolClosure* f);
1157 static void serialize(SerializeClosure* soc);
1158
1159 static Symbol* type_signature(BasicType t) {
1160 assert((uint)t < T_VOID+1, "range check");
1161 assert(_type_signatures[t] != NULL, "domain check");
1162 return _type_signatures[t];
1163 }
1164 // inverse of type_signature; returns T_OBJECT if s is not recognized
1165 static BasicType signature_type(Symbol* s);
1166
1167 static Symbol* symbol_at(SID id) {
1168 assert(id >= FIRST_SID && id < SID_LIMIT, "oob");
1169 assert(_symbols[id]->not_equals(NULL), "init");
1170 return _symbols[id];
1171 }
1172
1173 // Returns symbol's SID if one is assigned, else NO_SID.
1174 static SID find_sid(Symbol* symbol);
1175 static SID find_sid(const char* symbol_name);
1176
1177 #ifndef PRODUCT
1178 // No need for this in the product:
1179 static const char* name_for(SID sid);
1180 #endif //PRODUCT
1181 };
1182
1183 // VM Intrinsic ID's uniquely identify some very special methods
1184 class vmIntrinsics: AllStatic {
1185 friend class vmSymbols;
1186 friend class ciObjectFactory;
1187
1188 public:
1189 // Accessing
|